Discussion:
[N8VEM: 19697] Grant Searles Multicomputer (CP/M) revisited
RHKoolaap
2015-06-02 21:04:32 UTC
Permalink
Hi all,

Having big fun playing around with Grant Searle's FGPA multicomputer in
CP/M configuration, I decided to implement a few changes. The disk
configuration was bugging me. First only a small part of the SD card is
being used. Next the BIOS supports 16 "on line" drives using 4 kilobyte of
memory space.

To fix this I modified the BIOS to accept mountable volumes. BIOS now has a
3 disk mount table which is an index to the physical volumes in use for
drive A:, B: and C:. The SetLBA routine offsets the logical disk (0,1,2) to
the active volume. A user tool MOUNT.COM manages the mount table and keeps
everything sane.

Every volume has a system track. The ROM monitor can boot any volume, the
number of which will then be pushed to the BIOS, which stores it in the
first location of the mount table (drive A:)

The Format, Putsys and a new Getsys tool have been included in the ROM
monitor, while the functionality has been extended to modify the RAM load
address. ROM BASIC is now supported as a disk loadable image. it is
installed and run just like a CP/M image would. The monitor ROM is now 2
kilobytes in size, holding a 1.5 K image.

Further changes to the BIOS made it compatible with DOS+ 2.5 by C.B.
Falconer. which is my preferred OS at the moment. The result is a "63 K
BIOS", ( TPA size of 58 K), with support for 3 disks, and 120 mountable
volumes to choose from. Because all volumes are bootable, different boot
images are possible. A 2 GB disk would provide more than 240 volumes.

I also created an output port 39h, by which the ROM can be switched back
in, making a software controlled reset and a return to the ROM Monitor
possible.

One issue with DOS+ is a problem with Grant's DOWNLOAD.COM. DOS+ checks for
an user break (input) after every character it outputs. This causes console
characters to be lost. A small change in the DOWNLOAD utility and in the
file format solves this problem.

All the files including sources are here:
http://www.filedropper.com/filemanager/public.php?service=files&t=11d78d154fea38cc0bd4e6d5dadba773
Everything assembles with Tasm 3.0.1

This leans very heavily on the work of Grant Searle. that is why his name
appears in the sign-ons. Off course that does not make him responsible for
my tinkering.

Have fun playing...

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.
RHKoolaap
2015-06-07 11:47:12 UTC
Permalink
A quick update. You can load a diskimage from systemtrack(s) to any
location in RAM, but the image size remained default 8k. This has now been
fixed. The imagesize is now LOADADDR to FFFFh. this works for getsys
putsys end systemboot. (warning: you can overwrite the monitor stack!
starting about 0850h)
Also some further updates on the monitor and the BASIC image; unnecessary
code has been removed, making BASIC's free memory now 57694 bytes.
the updated package is available here:
http://www.filedropper.com/filemanager/public.php?service=files&t=df5de0db3f73dbaeb455c7010bea89f0

RHK
Post by RHKoolaap
Hi all,
Having big fun playing around with Grant Searle's FGPA multicomputer in
CP/M configuration, I decided to implement a few changes. The disk
configuration was bugging me. First only a small part of the SD card is
being used. Next the BIOS supports 16 "on line" drives using 4 kilobyte of
memory space.
To fix this I modified the BIOS to accept mountable volumes. BIOS now has
a 3 disk mount table which is an index to the physical volumes in use for
drive A:, B: and C:. The SetLBA routine offsets the logical disk (0,1,2) to
the active volume. A user tool MOUNT.COM manages the mount table and
keeps everything sane.
Every volume has a system track. The ROM monitor can boot any volume, the
number of which will then be pushed to the BIOS, which stores it in the
first location of the mount table (drive A:)
The Format, Putsys and a new Getsys tool have been included in the ROM
monitor, while the functionality has been extended to modify the RAM load
address. ROM BASIC is now supported as a disk loadable image. it is
installed and run just like a CP/M image would. The monitor ROM is now 2
kilobytes in size, holding a 1.5 K image.
Further changes to the BIOS made it compatible with DOS+ 2.5 by C.B.
Falconer. which is my preferred OS at the moment. The result is a "63 K
BIOS", ( TPA size of 58 K), with support for 3 disks, and 120 mountable
volumes to choose from. Because all volumes are bootable, different boot
images are possible. A 2 GB disk would provide more than 240 volumes.
I also created an output port 39h, by which the ROM can be switched back
in, making a software controlled reset and a return to the ROM Monitor
possible.
One issue with DOS+ is a problem with Grant's DOWNLOAD.COM. DOS+ checks
for an user break (input) after every character it outputs. This causes
console characters to be lost. A small change in the DOWNLOAD utility and
in the file format solves this problem.
http://www.filedropper.com/filemanager/public.php?service=files&t=11d78d154fea38cc0bd4e6d5dadba773
Everything assembles with Tasm 3.0.1
This leans very heavily on the work of Grant Searle. that is why his name
appears in the sign-ons. Off course that does not make him responsible for
my tinkering.
Have fun playing...
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.
Loading...