RHKoolaap
2015-07-12 18:53:32 UTC
There is now a banked MP/M II V2.1 implementation ready for this
configuration. The XIOS uses the example in the MP/M II System Implementors
Guide as main guidance.
It features 4 terminals and 7 x 48 kilobyte memory segments. There are 3
'Searle standard' disk drives. Drive A: holds the boot volume, drives B:
and C: are assigned a volume during the cold boot process by the
(super)user. I chose for this setup, because using freely mountable volumes
in a multi-user environment seems confusing. All 120 (240) available
volumes can be assigned to B: and C: but mounting the same volume more than
once is rejected.
The Cyclone 2 should be configured with MMU, SD card and 4 serial consoles.
Also you need an interrupt source. You can use the int module from James
Moxham's package, but I just use an extra clock in the systems clock
section.
I feel I don't need a switchable clock, because the processor has an
internal enable flipflop already. All of this fits comfortably in the FPGA
(89% LEs).
Some more remarks on James's INT module: If your TOD (TimeOfDay) clock is
really slow and irregular, the interrupt pulse is too short.
23 Clock pulses (at 50 MHz) is only 11.5 T-cycles @ 25 MHz. Using this
logic the pulse should be at least 46 clocks long @ 25 MHz and 115 @ 10
MHz. Longer is no problem when you disable interrupts at the beginning of
the service routine. I use 255, because I like round numbers.
Even so, the TOD clock will be a bit slow, you can adjust that with the
interrupt timer count (currently 1,000,000) smaller number = faster clock.
Both TOD.COM and SCHED.COM are the millennium fixed version
This version loads a loader program from the system tracks (ROM monitor
S-command), which in turn loads the MPM.SYS file from the indicated boot
volume, just like CP/M-3.
All sources are included, also un-embellished build instructions are
provided.
the installation is 'standard': hexload the loader program, putsys it on a
volume and prepare the volume with the essential files (MPM.SYS, .PRL and
.COM files) or just copy the provided image file on an SD-card.
To change the number of consoles or the number of memory segments,
GENSYS.COM can be used to generate a new MPM.SYS file. The current
configuration is held in the SYSTEM.DAT file, which is included.
On the FPGA configuration: I simplified the VDL somewhat, the SD card now
runs from the CPU clock, so the SDClock section has disappeared. The specs
say the card should run on a 25MHz clock, so this should not be a problem.
The 2 extra consoles run from pins 53,55,57,58,59 and 60, rsp. tx2, rx2,
dtr2, tx3, rx3 and dtr3. You probably can fit 2 terminals and a VGA
display. When I tried I ran 2 LEs short, so some tweaking is required.
here are the files:
http://www.filedropper.com/filemanager/public.php?service=files&t=5bf146616cef542a93502d131b51406e
have fun
RHK
configuration. The XIOS uses the example in the MP/M II System Implementors
Guide as main guidance.
It features 4 terminals and 7 x 48 kilobyte memory segments. There are 3
'Searle standard' disk drives. Drive A: holds the boot volume, drives B:
and C: are assigned a volume during the cold boot process by the
(super)user. I chose for this setup, because using freely mountable volumes
in a multi-user environment seems confusing. All 120 (240) available
volumes can be assigned to B: and C: but mounting the same volume more than
once is rejected.
The Cyclone 2 should be configured with MMU, SD card and 4 serial consoles.
Also you need an interrupt source. You can use the int module from James
Moxham's package, but I just use an extra clock in the systems clock
section.
I feel I don't need a switchable clock, because the processor has an
internal enable flipflop already. All of this fits comfortably in the FPGA
(89% LEs).
Some more remarks on James's INT module: If your TOD (TimeOfDay) clock is
really slow and irregular, the interrupt pulse is too short.
23 Clock pulses (at 50 MHz) is only 11.5 T-cycles @ 25 MHz. Using this
logic the pulse should be at least 46 clocks long @ 25 MHz and 115 @ 10
MHz. Longer is no problem when you disable interrupts at the beginning of
the service routine. I use 255, because I like round numbers.
Even so, the TOD clock will be a bit slow, you can adjust that with the
interrupt timer count (currently 1,000,000) smaller number = faster clock.
Both TOD.COM and SCHED.COM are the millennium fixed version
This version loads a loader program from the system tracks (ROM monitor
S-command), which in turn loads the MPM.SYS file from the indicated boot
volume, just like CP/M-3.
All sources are included, also un-embellished build instructions are
provided.
the installation is 'standard': hexload the loader program, putsys it on a
volume and prepare the volume with the essential files (MPM.SYS, .PRL and
.COM files) or just copy the provided image file on an SD-card.
To change the number of consoles or the number of memory segments,
GENSYS.COM can be used to generate a new MPM.SYS file. The current
configuration is held in the SYSTEM.DAT file, which is included.
On the FPGA configuration: I simplified the VDL somewhat, the SD card now
runs from the CPU clock, so the SDClock section has disappeared. The specs
say the card should run on a 25MHz clock, so this should not be a problem.
The 2 extra consoles run from pins 53,55,57,58,59 and 60, rsp. tx2, rx2,
dtr2, tx3, rx3 and dtr3. You probably can fit 2 terminals and a VGA
display. When I tried I ran 2 LEs short, so some tweaking is required.
here are the files:
http://www.filedropper.com/filemanager/public.php?service=files&t=5bf146616cef542a93502d131b51406e
have fun
RHK
--
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "N8VEM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to n8vem+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/n8vem.
For more options, visit https://groups.google.com/d/optout.