UK Vintage Radio Repair and Restoration Discussion Forum

UK Vintage Radio Repair and Restoration Discussion Forum (https://www.vintage-radio.net/forum/index.php)
-   Vintage Computers (https://www.vintage-radio.net/forum/forumdisplay.php?f=16)
-   -   Gemini 80-Bus System (https://www.vintage-radio.net/forum/showthread.php?t=156106)

john_newcombe 16th May 2019 4:10 pm

Re: Gemini 80-Bus System
 
I have just successfully formatted a floppy disk with the format.com program you sent. I created an RP/M hex file and pasted it into the terminal to load at 0100. It ran and successfully formatted my double sided 80 track drive although it only formatted to 35 tracks. My drive has a 40/80 track switch, I am guessing that at 40 track it will be double stepping.

I guess this is progress, still no CP/M yet though.

In other news, when using the Gotek RP/M is clearly detecting the double byte signature on sector 0 as it proceeds to try and Execute boot.

Code:

57344 bytes - RP/M for Gemini V2.1                                                       
                                                                                         
** RP/M ready **                                                                         
*b                                                                                       
Executing boot

If I fiddle with the Gotek settings I can see Bad disk and Wrong disk. It feels like I am close.

JohnBHanson 16th May 2019 4:40 pm

Re: Gemini 80-Bus System
 
So close - bytes 3 and 4 in sector 0 give the load address of cp/m. The last programmed bytes in the
sector should contain c3 xx xx - this is the start address of cp/m.

After the failed boot use RP/M to look at memory and see what is there. For the moment you are better off working with the 32k image as it will not load behind rp/m.
OR
if you have linux and a 5 inch drive you can use fdparm (I think) to change the characteristics of the drive and write a disk directly.

JohnBHanson 16th May 2019 5:33 pm

Re: Gemini 80-Bus System
 
Just another thought - are you running RP/M via the serial port. If so remember CP/M is configured to run on a video card.

To change that look at track 0 sector 31h (Using 128 byte sectors). This sector starts with
C3 xx xx (17 times) and is the bios jump table. at offset 33h in this sector is a byte (15h). Change
this to 14h will make CP/M use the serial port.

You might find that is why you are not seeing anything on your screen and actually CP/M is booting to the video card you cannot see.

All numbers are in hex and are the result of using he disked program (Type ? to get help)

JohnBHanson 16th May 2019 7:00 pm

Re: Gemini 80-Bus System
 
1 Attachment(s)
Just checked there is a mix up in the SERST routine. For console this should be the status of input characters. For printer devices it is the status of the output.

The console status in the bios incorrectly returns the output status rather than the input status. However it is a common routine that is used for both printer and console so a simple patch is not sensible.

however if you want to patch it to work for console - at the sacrifice of the printer routines working (very few things use the printer status) patch address 0f6ef from 20h to 01h.
(Address given for 64k version) change first two digits of address accordingly.

Attached is bios listing for your reference..... Note you have to add the bios base addresses to those given in the listing. You can find the bios easy on disk by looking for
c3 xx xx repeated 11 times starting either at the start of a sector of half way through a sector (512 bytes).

xx xx will be different for each repeat.

julie_m 16th May 2019 7:50 pm

Re: Gemini 80-Bus System
 
Note that the code in post #45 contains an error. The code at 5006 IS given as 01 00 0D, but that disassemble as LD BC, 0D00 not LD BC, 2300.

JohnBHanson 16th May 2019 8:46 pm

Re: Gemini 80-Bus System
 
Sorry about that = I spotted the error but did not alter the assembed hex.

john_newcombe 16th May 2019 10:54 pm

Re: Gemini 80-Bus System
 
Julie: Thank you for your input. I have a couple of BBCs here which I used to develop and test the Telstar Viewdata system, one of them has a DataCentre and the other has a Gotek. I was thinking of checking the disk images but you have saved me the trouble, many thanks.

Thanks for sharing the code, I will take a proper look. I have been using some python scripts to re-arrange the disk formats and this has worked reasonably well so far.

John: I had completely missed the fact that CP/M is designed to output to the IVC. Clearly I need to look at this next.

In addition, as I now have the physical drive working (albeit at 35 tracks on an 80 track drive) what I would love to do is write the sectors directly to the disk. The issue for me is that the only machines I have that support 5.25 inch drives are the BBCs and the Gemini. Ho Hum.

JohnBHanson 17th May 2019 7:18 am

Re: Gemini 80-Bus System
 
Very easy - at least for a backchair programmer.

Using your 32k version of CP/M disk - the first one I posted load cylinder 0, side 0, sector 1 through to head 1 sector 6 inclusive to address 5d00 in ram. Using a python program via rpm as you have done
previously.

Then the routine at 76ab should contain the routine WRITSC in the bios listing.

To write a sector setup BUFTRK to the track required and BUFSEC to the sector required values - BUFTRK is the cylinder number and BUFSEC is 0..9 for side 0 and 10..19 for side 1.

Set BUFDRV to 1 for disk A:
Data goes to the buffer at BUFFER

To get addresses add 7300 to the value given in the listing

john_newcombe 17th May 2019 5:22 pm

Re: Gemini 80-Bus System
 
I can do that... probably. That would give me a 32k CP/M which would be awesome and a major step forward.
L

JohnBHanson 17th May 2019 6:08 pm

Re: Gemini 80-Bus System
 
You could write the sectors from the 64k disk image -
load the 32k in ram using rpm
then load each sector in turn from the 64k file and then the code to write the sector
run the code and the sector is written
repeat for each sector as before.

JohnBHanson 17th May 2019 6:37 pm

Re: Gemini 80-Bus System
 
Once you have 32k CP/M running from disk the rest is easy

create a directory on you system ~/beaver/network - this will hold "network files"

run xbeaver with the 64k cpm file. within the emulator type

A>t-net n
A>pip n:=a:*.*

This will copy all files on a: to the network drive (eg the linux directory ~/beaver/network)

Copy t-net.com from there to rp/m using your existing technique via rpm
boot your 32k copy of cp/m disk on the real hardware (this will not destroy the program area)
use the save command to save the file t-net.com to disk

check the access permissions on /dev/ttyS0 allow access - change if necessary
then on linux run
xbeaver fileserver

on the real gemini system run the command
a>t-net n

Then any files in directory ~/beaver/network will appear in drive n: of your gemini machine
these can of course be copied.

To create a copy of the 64k system in real sectors do the following

a)extract icopy.com from xbeaver.dsk do the following
run
xbeaver
A0:0>copy a:icopy.com n:



B)
Translate the .DMP file to a .dsk file

in the gemini.cfg file change the floppy command to be use the line (or similar)

board 0xe0 gm829_floppy -geometry D35.2.10.0.512 ~/beaver/gm512/GM512_64.DMP C35.2.10.0.512 ~/beaver/network/cpm_64.dsk

now run xbeaver gemini.cfg

copy the program icopy.com into a: using
A>t-net n
A>pip a:=n:icopy.com
A>icopy
Source Drive>A
Destination Drive>B

This should copy the disk to the disk file
~/beaver/network/cpm_64.dsk
exit the simulator


On the real hardware the file n:cpm_64.dsk contains an image of the disk

use the following to create this onto drive b:
n:disked
Disked>Db (Echos as Disk B)
Disked>Fs (Echos as File set) n:cpm_64.dsk)
Disked>t0 (Echos as track 0)
Disked>s1 (Echos as sector 1)
Disked>Fr (Echos as File Read)
Disked>Q (To quit disked)

(Disked ? gives help)

This will copy the file cpm_64.dsk from the linux machine to disk b:

And you will have (hopefully) a CPM 64 k disk in drive B:

DIsked will be a useful tool for you. If you do Buffer read/write disked holds its buffer at 2000h and can be pre-loaded as required before running disked (including via rpm).

JohnBHanson 17th May 2019 8:57 pm

Re: Gemini 80-Bus System
 
Just to let you know that I enjoy your glasstty.com 6502 viewdata
service.

A while ago there was a viewdata/prestel card for sale on ebay that was 80bus
so I had to give into temptation and implement it in xbeaver.

The config line to get the screen is

board 0x47 wt625 0xfc800 Viewdata options kahsv

also make sure you have the shell server in your config:-
board 0x48 shellserv /bin/bash

And to run it within VPM/M the following commands
are useful. To start a virtual machine on the terminal type the
following

device ins a:vv
device vdu vv0

and then run program viewdata to get a linux shell, from there telnet glasstty.com 6502
or as you want.

Another test program

john_newcombe 17th May 2019 10:39 pm

Re: Gemini 80-Bus System
 
I am glad you like Telstar, it has been very popular with BBC and Sinclair owners. Thanks for all your help and information I am working through it all. Will let you know how I get on with it all.
J

john_newcombe 19th May 2019 7:48 am

Re: Gemini 80-Bus System
 
Just looking at patching CP/M for serial and just wanted to check with you on the 'status' patch.

I am performing the patch within the script performing the conversion from .DMP to .IMG so that I can produce both patched and non patched automatically and the byte I see at F6EF (64K) doesn't match with the one you mentioned so my maths is probably wrong.

Given that I have a interleaved .IMG in memory as a byte array I can see that the first patch is at byte 6125 i.e. 12th (512 byte) sector, offset 31h. This ties up with the value at the end of the list of C3s. So I am happy with this patch.

The second patch 'status' I am not getting right. Based on bytes 3 & 4 in sector 0, I am using CP/M with the load address of 5D00, the 64K image you sent shows a load address of dd00. My maths suggests that a patch at F6EF on a 64K system relates to byte 1Bef within the byte array...

Code:

Patch Address - Load Address + Length of Sector 0
F6EF - DD00 + 0200 = 1BEF

...but this byte is 02 on each disk image not 20h as you suggested, can you see what I am doing wrong?

J

JohnBHanson 19th May 2019 8:36 am

Re: Gemini 80-Bus System
 
You need to take the address of the patch 6ef, add the base of the bios f300 to get f9ef and then
work out
f9ef - dd00 + 0200 = 1eef

This should be 20h and you need to change it to 01h

Try that.

john_newcombe 19th May 2019 9:36 am

Re: Gemini 80-Bus System
 
Thats it, many thanks.

john_newcombe 19th May 2019 8:09 pm

Re: Gemini 80-Bus System
 
Some progress to report...

I have now booted the system (sort of) from a Gotek, using a track interleaved disk image with output arriving at the serial port. I still have a few issues to investigate as I do not yet see the A: prompt. I will look into this next week. Both the 32k and 64k images behave the same. It looks for all the world like the serial parameters have been changed by CP/M loading.

Code:

57344 bytes -  RP/M for Gemini V2.1
Executing boot

Gemini Multiboard Auto Density System (1.4)

        64k CP/M vers 2.2

I also have discovered that the previously mentioned IVC failure is due to a dodgy output transistor. If that is all that is wrong, that is an easy fix. I will try and sort this this week and boot the machine using the IVC for display.

If I get all of this working I will publish the details on http://glasstty.com.

JohnBHanson 19th May 2019 10:47 pm

Re: Gemini 80-Bus System
 
Try 2400 baud.... Divisor is at address offset 3a (address) f33a in the 64k version.

(Should be 0dh for 9600 baud which is the highest in common with a pc).

I think you are getting close. Don't forget most of the 64k image and all of the 32k image should be preserved across reset. So with the 32k image you can take the disk out hit reset and then look at what is in memory. You have always got my emulator for comparison :-).

john_newcombe 20th May 2019 8:37 am

Re: Gemini 80-Bus System
 
Thats it. Booted to CP/M (32k and 64k) all files visible etc. and able to run programs as expected. I can't quite believe it really!

John: Thank you so much for you help, it has been invaluable.

I need to get my head around a couple of things now. The disk images are 35 track images (gemddds) and it would make sense for these to be 80 track (gemqdds). Naturally I could extend the disk image file with 'e5' blocks but I suspect there is more to it than that.

The second thing I would like to understand better is the issues you had in creating the 64k version of CP/M. I will re-read your posts on the matter.

In terms of hardware, I will try and fix the IVC today, boot to CP/M and add my real floppy disk as a second drive.

I will write up the Gotek settings today/tomorrow and post them here and on glasstty.

Once again, many thanks.

JohnBHanson 21st May 2019 3:55 am

Re: Gemini 80-Bus System
 
Be careful when changing the DPB to include larger disks. The screen dumps of DISKDEF I gave earlier use the definition of even tracks being on side 0 and odd tracks being on side 1. (Scheme a)

The gemini bios uses the definition of tracks being cylinders eg each track starts on side 0 and continues on side 1. (Scheme b)

Both techniques are acceptable for CP/M and which is used depends on how the bios determines the side number.

The first definition - the bios divides the track number by two to give the cylinder number - the remainder being the side number

The second definition the sector number is compared to the number of sectors per track and this is used to determine the side number.

This means that there are a difference between some items within the Disk Parameter Block.

This affects the values of SPT and OFF defined in the Disk Parameter Block.

Scheme a
SPT: 40
OFF: 2

Scheme b
SPT:80
OFF:1

(NBSPT refer to 128 byte sectors which is what CP/M BDOS sees).

This is because scheme a tracks are actually tracks, whereas scheme b tracks are really cylinders - I hope that makes sense.

Some systems work one way and some another - CP/M does not directly have a concept of sides only tracks and sectors. So when double sided disks happened either the number of tracks or the number of sectors were doubled giving the two alternative layouts.

To change to 80 tracks you will need to change the DPB - the disk size is given by the DSM field. This is measured in blocks. If you keep the block size
the same then you will need to change the size of the allocation vector - this is one bit per block. If you don't have enough room in the bios for the larger allocation vector size you can change the block size. This will involve changing BSH/BLM/AL0/AL1. See the alteration guide for details, or look at the diskdef screen dumps earlier which have the values calculated. Note diskdef uses scheme a and not scheme b so you will have to double SPT and half the OFF values before using them in your bios.

Do make sure the memory allocted in the bios for he Check and allocation vectors are large enough.

john_newcombe 21st May 2019 8:49 am

Re: Gemini 80-Bus System
 
I now have a real 40/80 track floppy connected as drive B: and have been able to copy files across using PIP etc. SYSGEN was less successful.

In terms of using higher capacity drives I was just thinking of trying to create QDDS disk images for use with CP/M. I wondered if these would be supported automatically without any bios changes. I know that CP/M could be purchased in either format, GM512 (DDDS) and GM532 (QDDS), but it may be that each version is specifically tailored to the different drives in terms of DPBs and utilities such as FORMAT.COM.

I am not sure I am capable of making some of the changes you highlighted in the last post, so may end up grabbing a 35/40 track drive in place of my 80 track and turning my attention to adding a hard drive.

JohnBHanson 21st May 2019 10:55 am

Re: Gemini 80-Bus System
 
I think sysgen or movcpm is/are broken wrt writing to disk.

For updating the bios, you need to assemble multi.mac at the correct origin for you cp/m size
and then write the output file to the bios sectors on track 0

To assemble you need to look at the aseg/org/phase directives eg for 64k cpm use

aseg
org 0100h
.phase 0f300

then build with the commands
m80 =multi
l80 multi,multi/n/e

Then use disked to located the start of the bios on the boot tracks
then use the file set and file read commands to copy multi.com to the boot sectors where the bios is

Hope that helps somewhat

john_newcombe 22nd May 2019 9:16 pm

Re: Gemini 80-Bus System
 
Thanks, that makes sense.

The Gotek settings etc. have all been added to the blog now, let me know if I have missed anything.

As an aside, I have just started investigating the IVC issue(s). The Z80 CPU had failed and has now been swapped, however, the CS for the CRTC is permanently low and as a result the DISPLAY ENABLE is preventing a video output. There is supposed to be a strobe loading data in but that is missing too. I will do a little more digging this week and see where that takes me.

JohnBHanson 22nd May 2019 9:24 pm

Re: Gemini 80-Bus System
 
I know you have probably already done this, but check the clock at the pin of the Z80. Remember the clock comes from the backplane.

john_newcombe 23rd May 2019 10:21 am

Re: Gemini 80-Bus System
 
Yes, the clock is good and does come from the master clock. What I am missing is the output from the Z80s IORQ which is used to strobe the CS of the CRTC. I am starting to think this is a software issue, i.e. I have a dodgy ROM.

julie_m 23rd May 2019 3:39 pm

Re: Gemini 80-Bus System
 
To test this, could you program up a custom ROM with an infinite loop of just IN instructions, which will assert IORQ?

If you want to be fancy, you could even use the loop to update the BC registers so as to give you a counter on the address bus .....

john_newcombe 23rd May 2019 10:50 pm

Re: Gemini 80-Bus System
 
Many thanks, all ideas very welcome.

Anyone got an image or dump of the ivc rooms?

john_newcombe 4th Jun 2019 10:05 pm

Re: Gemini 80-Bus System
 
I now have a copy of the IVC Mon 2.0 but am missing the UK version of the IVC Gen 1.0 ROM.

JohnBHanson 4th Jun 2019 10:15 pm

Re: Gemini 80-Bus System
 
1 Attachment(s)
If that is the character generator for the IVC card - I have extracted the character set for the SVC - the first 2k of an attached file blown into the correct eeprom should be correct.

john_newcombe 5th Jun 2019 7:52 am

Re: Gemini 80-Bus System
 
Yes the IVC, many thanks.

john_newcombe 6th Jun 2019 11:56 am

Re: Gemini 80-Bus System
 
Quote:

Originally Posted by JohnBHanson (Post 1145593)
As for a disk, almost any disk with single ended SCSI 50 pin connector will work with the GM829 - I have used a 100MByte disk onto a GM849 (similar) before I wrote the emulator.

It's time to add a hard disk to my Gemini, well sort of. Flushed with the success of booting to a Gotek, with much help from JBH and others, I now have in my possession a SCSI2SD adapter (5.1) ready to be connected to the Winchester port of the GM829 controller.

My aim is to emulate a SASI disk drive for use with CP/M. I am not needing to boot to this disk, just be able to use it.

As you will no doubt be aware I have little knowledge of this stuff, and am looking for a clue as to how to get started.

To try and get a feel for what is required I thought I would add a hard disk to the xbeaver gemini emulator (full config below). This was shown to have been configured in the verbose xbeaver log, but I have no idea how to access this drive.

Included on the xbeaver hard disk image there was a TSHD formatter for a TS-802H Televideo machine, not sure if this is useful to me.

Any thoughts or comments would be most welcome.


Code:

verbose

cpuclock 4

board 0xfe gm813_mmu

board 0x20 gm816_clock
board 0x30 telnetd 3000
board 0x34 printer bxerox beps500 landscape general gbro425 pecker
board 0xb0 gm832 BeaverBoot yellow
board 0xb8 serial_8250 bvrnet ~/beaver/HardDisk
board 0xe0 gm829_floppy -geometry D35.2.10.0.512 ~/beaver/images/GM512_64.DMP ~/beaver/images/GM512_ORIGINAL.DMP ~/beaver/images/DISKUTILS.DMP ~/beaver/images/BLANK_0.DMP
board 0xe0 gm829_scsi  harddisk.dsk

board 0xfb gm833

binload 0xf000 ~/beaver/roms/RPM_2.3.ROM
byte 0f0a8 21 00 f0 #Patch top of ram for RPM

byte 0000 c3 00 f0


JohnBHanson 8th Jun 2019 12:18 am

Re: Gemini 80-Bus System
 
Port e1 is status/control
Port e2 is data

If you wanted to you could probably connect an SD card directly to the scsi bus with just some level shifters. Looking at the scsi interface /req, C/D /MSG and /BUSY are input signals.

By tieing I/O you can set D0..D7 to be input or output - best to use them as output.

This provides you with 4 inputs and 8 outputs which should be enough to drive an SD card with some custom software. There are Sd card drivers available on the net for Z80.

JohnBHanson 8th Jun 2019 12:52 am

Re: Gemini 80-Bus System
 
1 Attachment(s)
Look at /sgsbcsd2491/CPM/BIOS/sd/ in the attached download. This is a bios for
working with an sd card. You can use the scsi port as shown in the previous post or use the Z80 PIO port to get the signal lines.

john_newcombe 8th Jun 2019 7:32 am

Re: Gemini 80-Bus System
 
I have the scsi2sd connected with xebec quirks mode set. I am just not sure how to format the drive? Is there some hd prep software I should be using? Does the drive just appear as c: or e: or something?

JohnBHanson 8th Jun 2019 12:13 pm

Re: Gemini 80-Bus System
 
1 Attachment(s)
For the drive to appear you need support within the bios. I don't have a copy of a Gemini Bios for a hard disk - but I am sure someone will.

The xebec controller has a jumper for 256 or 512 byte sectors you will need to set this correctly.

Normally drives with a SCSI interface are already formatted. Drives that have the MFM interface and are controlled by the xebec adapter will need to be formatted. I don't know where you scsi emulator fits in with this, but I suspect that the drive does not need to be formatted as you have a SCSI emulator. See attached....

to compile these you need the gemzap program do the following

gemzap
=rwinch
=a o=winch
=q

john_newcombe 8th Jun 2019 2:45 pm

Re: Gemini 80-Bus System
 
Many thanks.

john_newcombe 13th Jun 2019 6:44 pm

Re: Gemini 80-Bus System
 
Quote:

Originally Posted by TonyDuell (Post 1141015)
I'm not sure I'd call it an 'interest' as I've not done anything with it for a couple of years, but I have one of these machines.

Mine has 3 boards in the cardcage -- CPU, Video, and hard/floppy disk controller. There's a single 5.25" floppy drive and a (electrically) small hard disk. I do have the original keyboard and what I was told was the video monitor normally used with this machine, a Hantarex unit.

Mine has some kind of network interface too. It connects to the parallel port on the CPU board. The numbers had been scratched off the ICs which meant it took me a couple of minutes to identify them. The main IC was a dumb UART (amazingly)

Alas no software. The hard disk contains the OS (enough to boot the machine anyway) but nothing else.

Tony:
I was wondering what ROM you had in the CPU card that boots directly to the hard disk, was it Simon?

I am keen to both archive as much as I can and get my own SCSI disk working with my system. I desperately need a CP/M version with Winchester disk support. The version I have (GM512) doesn't seem to support these disks.

I am wondering if there was any way to image/copy your system tracks. And any ROMs on the boards.

TonyDuell 14th Jun 2019 5:26 am

Re: Gemini 80-Bus System
 
I came across this machine the other day (you don't know my house, while doing that I came across a PDP11 that I didn't know I owned...) and it's now where I can get to it. I've not set it up yet.

But I can easily remove the cover, pull boards and see what ROMs I have, etc.

john_newcombe 14th Jun 2019 12:03 pm

Re: Gemini 80-Bus System
 
Many thanks, I felt quite bad asking but feel better now that you found a PDP11 :)

TonyDuell 14th Jun 2019 4:55 pm

Re: Gemini 80-Bus System
 
Oh, I know where most of my PDP11s are -- the large Unibus ones in rack cabinets, etc. This was just a little 2U high box with an LSI11 CPU board, RAM, and a couple of interfaces in it. Not actually the smallest PDP11 I own, but close.

From memory, my Gemini contains a CPU board, IVC board, and floppy/SASI board. The latter goes to some bridge board thing (I want to say Adaptec, but it may be Xebec or somebody else) and to an ST412-interfaced hard disk. One of the ports on the CPU board goes to that network interface I mentioned.

I also have (and have put with the machine!) the original keyboard and cable. Also what I believe was the video monitor used with it originally. Just a composite video monochrome thing of course.

Interestingly, I have a Torch-branded lightpen for the BBC micro. This consists of an inteface that plugs into the Beeb's analogue socket (DA15) and a light pen that plugs into the interface using a 5 pin DIN connector. That DIN connector is the right pinout to plug into the IVC lightpen socket.

john_newcombe 15th Jun 2019 10:14 am

Re: Gemini 80-Bus System
 
It sounds like you have a large collection of interesting stuff.

My machine is similar to yours in that I have a G811 CPU, MAP256(64k) IVC and a G829 Floppy/SASI.

I have three goals;

The first is to get CP/M to recognise the SCSI disk I have connected, it is actually the SCSI2SD emulator set to Xebec mode. I clearly need the Gemini BIOS that had Winchester disk support, and it seems like you have something similar installed on your hard disk.

The second is to archive as much software/firmware as I can as there seems to be very little left out there for these machines. I have been broadcasting on Twitter, Yahoo Groups, Google Groups, Facebook Groups etc. With very little response.

The third is to fix my IVC which appears to be an issue with the IVC 2.0 ROM. The item worked for a while and then the CPU failed, I have swapped the CPU and most signals seem good except the software driven IO line emanating from the CPU. I may have a suitable image from the first 2k of the SVC ROM but have not had chance to test this.

Any help you can offer would be most welcome.

https://glasstty.com/wiki/index.php/...ni_80-Bus_Saga

JohnBHanson 15th Jun 2019 10:46 am

Re: Gemini 80-Bus System
 
The hard disk image you have with my emulator has some software. type shell as a command to access a menu driven system that will help you through. (This is driven from a file called menus.shl).

PS - the 2k range from the SVC Rom is for the character set generator on the IVC card and not a Z80 program which lives in the other EEPROM.

john_newcombe 15th Jun 2019 11:50 am

Re: Gemini 80-Bus System
 
Thank you John, I will investigate further.

You are right of course re: SVC ROM, my mistake. I do now have an image of the IVC 2.0 ROM so once I get the EPROM programmer up and running I can hopefully sort things out.

Just need to get hold of that elusive Gemini Winchester version. Perhaps there are options with your own VP/M or the other flavours of CP/M? As you know I am a bit of a newbie with the whole CP/M modification stuff. Just need CP/M to recognise the disk, not needing to boot from it.

Tony/John Once again many thanks for all the help it has kept me going with this little project.

JohnBHanson 15th Jun 2019 1:04 pm

Re: Gemini 80-Bus System
 
2 Attachment(s)
VPM/M requires the memory management of the GM813 card to run. However VPM/M is a program that runs under BDOSZ/CCPZ/BIOS. BDOSZ and CCPZ are freeware/shareware programs.

The BIOS is largely written by me - so it would be possible on your system to run just ccpz/bdosz but
it would need a different boot rom

you will probably need to set
svcard false
vidcard true
emucard false

Note that escape during startup enters a simple monitor (? gives help)
Note - the floppy disk format supported by tbios is *NOT* the same as the gemini format

All of this was written without reference to the gemini system or CP/M - deliberately saves on cost

john_newcombe 15th Jun 2019 3:39 pm

Re: Gemini 80-Bus System
 
Thank you for the info. I will look it over carefully.

I would be fascinated to here more about your history with this stuff, you have clearly spent a lot of time and effort getting to grips with it all.

J

TonyDuell 17th Jun 2019 4:46 am

Re: Gemini 80-Bus System
 
Here, as promised, are details of the boards in my machine.

There are 3 boards in the backplane :

GM829 Issue 2 FDC/SASI. This is cabled to the floppy drive and to a Xebec board linked to the ST412-interface hard disk.

GM812 Issue 2 IVC. Has ROMs IVC-MON V2.0 and IVC-GEN V1.0

GM813 Issue 3 CPU. Has ROM Simon V3.1MP

The IVC board has cables to the lightpen socket (5 pin DIN), video output (SO239) and Keyboard (DA15) on the rear of the case. I do find the use of a 1/4" jack for the video connector on the board a little odd.

The CPU board has cables to the cassette socket (5 pin DIN), serial (DB25) and parallel (36 pin Microribbon ('Centronics')) on the back. There's also a network card screwed to the side of the cardcage, its ribbon cable would fit in place of the parallel socket cable on the CPU board.

JohnBHanson 17th Jun 2019 6:36 am

Re: Gemini 80-Bus System
 
Looks like Tony has would have the gemini hard disk system that John wants a copy of - maybe you could post a disk image and or the roms.

john_newcombe 17th Jun 2019 9:48 am

Re: Gemini 80-Bus System
 
If that could be done, that would be amazing. I would need the Simon ROM and the disk image. I have the IVC ROM images. It would be good to get this stuff archived.

john_newcombe 17th Jun 2019 10:34 am

Re: Gemini 80-Bus System
 
In the meantime I have been re-reading and re-reading the posts in this thread and the good news is that I am really starting to get my head around the bios changes required to get the 80 track disks incorporated.

I have been looking at the source code and can see that to support the GEMQDDS 80 track format I need to change a couple of Equates. This recalculates the tables correctly (scheme b) and sets the CHK and ALL buffers to the correct sizes. I now understand how to build the bios using .org/.phase etc. and that I have to transfer the resultant multi.com to the relevant portions of the disk.

Doing it this way seems the most natural and would support any Gemini disks should they ever turn up, however, this also would cause a block size change to 4k.

From this point I have two routes, my A: drive is a Gotek and I can manipulate the disk images in anyway I need, assuming I know what I need. My B: drive is a physical 80 track 5.25 drive which has already been used to format disks at 35 tracks (from RP/M) using the Format.com you sent me (it is not possible to format an image on the Gotek).

I have yet to research how the change in block size affects the disk format.

I am thinking that if I can get a suitable disk format utility (perhaps there is one on Tony's hard disk or in the public domain), I could format a physical disk in B: and then make an image of that. I could then easily add CP/M (with the new bios) on to the system tracks.

But... there is probably a better way.

john_newcombe 17th Jun 2019 11:04 am

Re: Gemini 80-Bus System
 
It just dawned on me, after re-re-re-re-reading JBH's posts that perhaps a better way, at least for now is to keep the block size the same as the GEMDDDS images I already have. Checking the Bios source, the CHK and ALL buffers are automatically adjusted to cater for the increased number of blocks as the EQU statements are calculated based on DSM which in turn is calculated from the the basic EQU statements at the top of the source.

Code:

DSM        EQU        (MAXSEC*SECSIZ/BLKSIZ)*(MAXTRK-1)-1
I am thinking that if I take this approach, I can simply make the disk images I have longer by adding empty (E5) sectors to the end of them. Not an original Gemini combination, but for now and as a learning exercise, it would be good.

Am I missing something?


All times are GMT +1. The time now is 5:55 pm.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.