UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio and TV Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Closed Thread
 
Thread Tools
Old 24th Sep 2020, 8:14 am   #401
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Hi John

The disk image I am using is attached. This started out as a bootable (xbeaver and gotek/829 with RP/M) bios 3.5 non MFB image and I copied CPMFW.SYS GENSYS and a suitable .CFG file that specified two 80 track floppy drives only (i.e. no winchester). The dirives were configured as A and B. I used GENSYS to write the system to the system tracks of the drive using xbeaver to give me a BIOS 3.4 MFB bootable disk image.

When I rebooted the image using xbeaver (with 849m and Simon 4.1 MFB), the system came up as BIOS 3.4 as expected and I could access two 80 track disk images as expected all within xbeaver and all using the config I posted earlier.

Once i was running on xbeaver with the 849m/Simon 4.1MFB and 3.4 bios, I ran GENSYS again just to make sure. The disk image continued to work as expected in xbeaver.

The real hardware is 813 CPU with Simon 4.1MFB, SVC and 849MFB. These are the cards from the MFB machine but mounted in the rack for convenience.

What you say about looking for a side 1 header is interesting, I thought CP/M used all of side 0 before using side 2 with these disks.

It would be interesting to see what you see with the disk image I have posted.
Attached Files
File Type: zip BIOS34_MFB_F.IMG.zip (72.8 KB, 42 views)
john_newcombe is offline  
Old 24th Sep 2020, 11:04 am   #402
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Somethings just dawned on me... The disk I have just posted is a Bios 3.4 disk created with the BIOSFW.SYS bios file and whilst this is supplied with the MFB machines etc, it presumably isn't a 3.4 MFB bios but a 3.4 non-MFB bios.

My asumption is based on the fact that if I boot the disk in XBeaver and run the FORMAT utility it reports that it cannot run as it is not a Gemini MFB system. I also read somewhere that ...if you bought an MFB machine you may also have the BIOSMFB.SYS file..., suggesting that the others contain a non-MFB bios. I can test this by trying to boot my BIOS34 disk with a real 829 rather than my 849MFB.

So, I tried to create a bootable floppy disk using the BIOSMFB.SYS file (without winchester support for now) and I get an error that could shed some light on the disk image I am using.... or not... the screen shot is attached.
Attached Thumbnails
Click image for larger version

Name:	Screenshot 2020-09-24 at 11.00.11.jpg
Views:	34
Size:	59.1 KB
ID:	216313  
john_newcombe is offline  
Old 24th Sep 2020, 1:41 pm   #403
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Further update, I have managed to find a real 80 track disk drive and a working Bios 3.4 floppy disk, which is a feat in itself. When I say 'working', it hangs with the same symptoms we saw with the Gotek image previously (shown again below).

Code:
  Gemini Multiboard Computer System
64K CP/M-80 vers 2.2      (Bios vers 3.4)


_
I think it is probably time to take it all out of the rack, reassemble it in the case, and add the Xebec controller.
john_newcombe is offline  
Old 24th Sep 2020, 5:18 pm   #404
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

OK, sorted. It needs a Xebec connected to the GM849MFB card to boot. A SCSI drive doesn't seem to be enough and a SCSI2SD card set to 'Xebec Quirks Mode' doesn't do it either. This is the same for real floppy and Gotek.

So as I have a Xebec I am now able to boot my GM916 MFB system with a Gotek.

JBH: Thank you so much for the help and for XBeaver.
john_newcombe is offline  
Old 24th Sep 2020, 6:38 pm   #405
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 659
Default Re: Gemini 80-Bus System

I would *almost* bet money that the problem with booting without the xebec controller is that command 0x0c (Init Drive Characteristics) is not implemented on your SCSI2SD card.

see xbeaver.c gemini_scsi.c change on 14/9/2019 for details.

perhaps you can modify the code in your SCSI2SD card to implement this command. It does not have to do anything just swallow its parameters and then return a good result status as per other scsi commands.

The reason it is there is that the xebec needs to know the geometry of the disk connected to it. SCSI access is done by logical block number and the xebec must translate this to cylinder/head/sector and hence needs this
infomation. A native scsi disk already knows this as the interface is native to the disk.

Last edited by JohnBHanson; 24th Sep 2020 at 6:44 pm.
JohnBHanson is offline  
Old 24th Sep 2020, 9:38 pm   #406
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

That sounds interesting, just checked the source and found the following

Code:
	else if (command == 0x0C)
	{
		// Initialize Drive Characteristics
		// XEBEC S1410 controller
		// http://bitsavers.informatik.uni-stuttgart.de/pdf/xebec/104524C_S1410Man_Aug83.pdf
		scsiDev.dataLen = 8;
		scsiDev.phase = DATA_OUT;
	}
So that looks promising, I will check that out further.

I have the original RO201 for the MFB system but doesn't seem to work I just get a regular clicking from the drive about once every two seconds. Maybe a good whack will kick it into life, we'll see.

Once again thanks for you help, time now to get as much as I can from the varous floppies that came with the MFB system. I now have the Gotek and a floppy working so can copy files accross to QDDS disk images. I will update the blog and software library etc on https:glasstty.com.
john_newcombe is offline  
Old 25th Sep 2020, 12:12 am   #407
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 659
Default Re: Gemini 80-Bus System

Looks like I lose the bet then :-(
JohnBHanson is offline  
Old 25th Sep 2020, 8:12 am   #408
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Quote:
Originally Posted by JohnBHanson View Post
Looks like I lose the bet then :-(
Using Simon41MFB and the 849m with the image boots fine with xbeaver, no xebec needed there. Interesting...
john_newcombe is offline  
Old 25th Sep 2020, 9:18 am   #409
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 659
Default Re: Gemini 80-Bus System

The xbeaver scsi interfaces include emulation of the scsi target (disk, xebec) hence why it runs on xbeaver.
JohnBHanson is offline  
Old 25th Sep 2020, 11:21 am   #410
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Ah OK, so does that mean we could trace what Simon is requesting of the Xebec?
john_newcombe is offline  
Old 25th Sep 2020, 11:39 am   #411
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 659
Default Re: Gemini 80-Bus System

Yes you can trace between buses. To trace you need to place the boards
to be traced on a seaperate bus and then use intbus to create a bridge
between the two buses

For example to trace the scsi activity of the scsi interace use the following
in your config file

#select future boards to be on the trace bus
bus trace

#Create your scsi/floppy boards here (port range 0e0..0e7)
board.....
board....

#select the z80 io bus
bus io

#now create a bridge from the io bus to the trace bus (0e0..0e7) split
#between tracing/non tracing as required
#
#following ports bridged but not traced
board 0e0 intbus 0xe0 5 rw trace
#following ports traced
board 0e5 intbus 0xe5 3 rwt trace

That should do the magic...
JohnBHanson is offline  
Old 25th Sep 2020, 11:54 am   #412
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Nice... will let you know how I get on. Thanks.
john_newcombe is offline  
Old 26th Sep 2020, 7:34 pm   #413
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

In relation to floppies, I have just realised that one of the main differences of BIOS 3.4 MFB over 1.4 and 3.5 is that CP/M starts at track 0, side 1, sect 1 for 3.4 and track 0, side 0, sector 1 for 1.4 and 3.5. I have a feeling that this has already been highlighted in the thread but I hadn't picked up on it.

I only noticed/realised when I was trying to fix the cpmtools 'gemqdds' definition which is wrecking my disk images.
john_newcombe is offline  
Old 28th Sep 2020, 3:27 pm   #414
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Good News... I now have the SCSI2SD working at least as drive C:. I can pip files across and run Wordstar etc. all from the SCSI2SD card. I am not able to boot from it yet though, although the GENSYS process appears to work (i.e. no errors and SCSI2SD light flashes appropriately etc.). Progress tough...
john_newcombe is offline  
Old 4th Oct 2020, 9:27 am   #415
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

In trying to get my MFB system to boot, it looks like I have similar symptoms as when I'm using XBeaver. I can boot to the floppy and access the Winchester, run programs etc. but I cannot boot to it with the SIMON ROM.

When I use xbeaver to boot a MFB system using the config shown below, this works well when using the option -x (MFB), i.e. it boots to the Winchester disk image as a proper MFB system. However, When I use the option -xr (MFB using SIMON), i.e. trying to boot with the SIMON ROM, it fails to boot to the Winchester and boots to the floppy disk instead.

The difference of course is that with option -x, the SIMON ROM is not used, instead the gemhdbt.bin file is pre-loaded at address 0000, which seems able to boot the disk.

I have dissasembled the SIMON ROM, and whilst I am a little out of my depth here, I can see that the code accesses the disk controller and that this ties up with the trace output that XBeaver gives when using the -xrt (MFB, SIMON and Tracing) option.

As a sanity check I have used DISKED to compare the sector data on track 0 between my Winchester (SCSI2SD) and the disk image I am using, I can see the same boot code in sector 1 on both. (sector 0 is all zeros in both cases).

I guess what I still need to understand is why the SIMON ROM is unable/unwilling to collect and execute the boot sector of the Winchester disk.

Also I wonder if I can make use of the gemhdbt.bin code on my real system to boot the Winchester.


The XBeaver config I am using.

Code:
if B echo Option B - load boot sector at 0000 for booting
if E echo Option D - Include Debug console
if E echo Option E - External Video Card
if L echo Option L - Load CPM from file file
if M echo Option M - Include GM833 Ram Disk
if R echo Option R - Use boot rom (Simon)
if T echo Option T - Trace io cycles
if X echo Option X - Use MFB system (Work in progress)

if E cpuclock 1
if !E cpuclock 1


if T board 0x0 intbus 0x0 0xe0 xrw trace
if T board 0xe0 intbus 0xe0 8 trw trace
if T board 0xe8 intbus 0xe8 0x17 xrw trace  
if T bus trace

board 0xfe gm813_mmu

if !E if X board 0xb0 gm832 Gemini_925_MFB green keyboard gemini
if !E if !X board 0xb0 gm832 Gemini_925 amber keyboard gemini
if E board 0xb1 extbus 0x0a1 0x03 rw /dev/z80xbus
if E output 0xb3 0

if D board 0xa0 gm832 SysTrace green
if D output 0xa1 0x1b 0x35

board 0xb8 serial_8250 bvrnet ./NetworkDrive

if X   board 0xe0 gm849m_scsi  ./Disks/gem925mfb.dsk
if !X  board 0xe0 gm829m_scsi  ./Disks/gem925.dsk

if M board 0xfb gm833 -maxtrack 0x3f

board 0xe0 gm849_floppy -geometry T80.2.10.0.512 ./Disks/CPM_BIOS34_JN.1.GEMQDDS.IMG

if T bus io


if L binload cb00 ./ROMs/cpm64w.bin
if L byte 0 c3 00 eb

#if B if X binload 0000 ./ROMs/gemhdbtm.bin <-- I dont have this (JN)
if B if X binload 0000 ./ROMs/gemhdbt.bin
if B if !X binload 0000 ./ROMs/gemhdbt.bin


if R binload 0f000 ./ROMs/SIMON_V4.1_MFB.ROM
if R if X byte f031 6d 47
if R if !X byte f031 47 47
if R byte f310 76
john_newcombe is offline  
Old 4th Oct 2020, 7:04 pm   #416
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 659
Default Re: Gemini 80-Bus System

I have modified the hard disk boot sector to run as a cpm program. This
can be run from rpm/floppy to boot the mfb system. (At least it works
on xbeaver).

I also include your missing file.
Attached Files
File Type: zip bootmfb.zip (272 Bytes, 37 views)
File Type: zip gemhdbtm.zip (273 Bytes, 40 views)
JohnBHanson is offline  
Old 4th Oct 2020, 8:28 pm   #417
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

...and it works on the real hardware too! This is amazing, thank you so much.

I would love to understand why SIMON 4.1MFB is unable to boot it. I will try and work through the source to see what it is trying to do. Perhaps I should remove SIMON altogether, relocate your code to F000 and create a new ROM.

Once you utility is used to boot the machine, I can utilise BOOT.COM boot to system track 0 or system track 1, I have MFB on 0 and standard Winchester on track 1.

Once again, many, many thanks.
Attached Thumbnails
Click image for larger version

Name:	MFB_Booted.jpg
Views:	39
Size:	38.9 KB
ID:	217042  

Last edited by john_newcombe; 4th Oct 2020 at 8:53 pm.
john_newcombe is offline  
Old 4th Oct 2020, 9:33 pm   #418
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 659
Default Re: Gemini 80-Bus System

Really what I have done is use the first sector of the hard disk and
make it a .com file.

What the boot rom should do is to read the first sector of the hard disk, copy
80h bytes to location 0 and run that.

The boot rom will have to do other things, such as initialise the uart and
memory management on a gm813 as well as set the drive characteristics
if you want to provide compatibility with the xebec. Also best to perform
a reset to the svc card and then read/flush the svc input buffer. finally
read in the boot sector of the hard disk to ram and then copy 80h bytes
down to location 0 and from location 2 I think.

Still this gives you a lot of confidence in your hardware setup.

PS - I think the program I gave you will only boot the mfb system - so be careful if you
change your boot -0/1 configuration.

Pleased you have made good progress. What boot eeprom came with the
machine?

Last edited by JohnBHanson; 4th Oct 2020 at 9:38 pm.
JohnBHanson is offline  
Old 4th Oct 2020, 10:45 pm   #419
john_newcombe
Hexode
 
Join Date: Apr 2019
Location: Skipton, North Yorkshire, UK.
Posts: 252
Default Re: Gemini 80-Bus System

Thanks John.

The machine came with an eprom labled SIMON4.1MFB and I have not changed this. However, along the way I have been working under the assumption that the machine configured to run MFB-2 software. This was based on the following:
  1. the original machine included a GM829 disk controller and this appears to have been upgraded to the GM849MFB unit;
  2. there were MFB-1 and MFB-2 user guides supplied with the machine

Having said that, only MFB-1 floppy disks were supplied with the machine so maybe it was configured for MFB-1 software and perhaps SIMON4.1MFB would be able to boot this.

I guess if I ever get the original Rodime RO201 running I will find out

The BOOT.COM utility that comes with the MFB-2 software works fine once I am booted to the Wincester as it simply reads the boot sector of whichever track you specify on drive A: e.g.

Code:
A> BOOT 0
or

Code:
A> BOOT 1
GENSYS allows me to put different system configs on tracks 0 and 1 which is really handy.

So for now at least I have a reasonable solution by booting to floppy using the SIMON41MFB rom and then running your utilty to boot to the Winchester.

Does your utility read the boot sector code and execute it or does the utility actually contain the boot code?

Last edited by john_newcombe; 4th Oct 2020 at 10:57 pm.
john_newcombe is offline  
Old 5th Oct 2020, 1:17 pm   #420
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 659
Default Re: Gemini 80-Bus System

My utility contains a copy of the hard disk boot sector code for the MFB system. It does not read the boot sector code of the disk. This boot sector code will be different to that for a non-mfb system.

I know that the boot sector code for the non-mfb system will *not* boot an
mfb system.

It does not read the boot sector code of the disk. I boot rom should after device initialisation read the boot sector code from the hard disk into ram and then copy 80h bytes down to location 0 and execute from location 2. This should allow the boot rom to boot either system. I think that the number of
the boot is held in register a (Not sure about this).
JohnBHanson is offline  
Closed Thread

Thread Tools



All times are GMT +1. The time now is 6:14 am.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


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