jhallen / exorsim

Motorola M6800 (6800) Exorciser / SWTPC emulator
Other
43 stars 10 forks source link

Need 6809 ROMs #8

Open jhallen opened 1 year ago

jhallen commented 1 year ago

I've started a 6809 version of the EXORciser simulator, but I need the 6809 EXORciser EXBUG ROMs and disk controller ROMs. Can someone send me a copy or upload them somewhere and send a link?

The 6809 version is in the exor09 branch. Right now it will boot Motorola's 6809 "ASSIST" monitor (I needed something to run to help verify the simulator). So CPU simulator is working, and the instruction trace works. The built-in assembler and disassembler do not yet work (they still target the 6800). Even so, it might boot MDOS09 now already if I could just get the ROMs.

Frustratingly the 6809 EXORciser user manual is on bitsavers, and it includes a listing of the EXBUG ROM, but only of the first 1K of it.

I also have the EXORset 30 ROMs, but EXORset is quite a different machine.

stanleyruppert commented 1 year ago

I have some 6809 EXBUG ROMs and disk controller ROMs. The EXBUG ROMs are V2.1.

Filenames have information from the ROM labels

EXBUG21_6809_U38_51AW1369X07_d049dff4.bin - 82S2708 1Kx8 ROM, position U38 on the DEBUG 11 Board EXBUG21_6809_U37_51AW1686X04_349decbb.bin - 82S191 2Kx8 ROM, position U37 on the DEBUG 11 Board

Manual for the MEX68DB2 DEBUG v2 board is here: https://ia803106.us.archive.org/29/items/mex68db2debugiimotorola/MEX68DB2%20DEBUG%20II%20MOTOROLA.pdf

I have three roms I think are from disk controllers, base address E800. There are similar but with small differences for different drive manufacturers etc. 51AW1369X23_6809_III_085b2afc.bin - from Exordisk controller III ??? 51AW1369X25_d58c2988.bin - NO_LABEL_95f71237.bin -

I used arakula's F9DASM disassembler to disassemble the concatenated EXBUG v2.1 ROMs and it matches the listing in the 6809 Exorciser manual. The manual helpfully contains a dozen bytes from F400 into the second rom. The ROMs I have match. I entered (may have a few typos) all of the EXBUG 2.1 code labels given in the 6809 manual into an "info" file for the disassembler to use. These are:

EXBUG21.info 51AW1369X23_6809_III_085b2afc.info 51AW1369X25_d58c2988.info NO_LABEL_95f71237.info

running F9DASM, "f9dasm -info -out outputfilename" gives:

EXBUG21.out 51AW1369X23_6809_III_085b2afc.out 51AW1369X25_d58c2988.out NO_LABEL_95f71237.out

Hope these assist the 6809 exorsim development efforts!

Stan Ruppert

For GITHUB_EXORSIM_6809.zip

jhallen commented 1 year ago

Stan, thank you so much! EXBUG09 2.1 comes up! Check out below..

Bitsavers has a file called "M68SFDC2_EXORdisk_II_Floppy_Disk_Controller_Module_Users_Guide_Jun78.pdf". Do you (or anyone) have the 6809 version of this manual? It should document the disk controller ROM entry points and parameters. I will eventually be able to reverse engineer the ROM (thanks for the disassembly!), but the manual would save a lot of time.

~/exorsim$ ./exor09 --exbug exbug09.bin disks/DISK21.dsk 
Load facts file 'facts'
'exbug09.bin' loaded.
'disks/DISK21.dsk' opened for drive 0 (single sided)

Hit Ctrl-C for simulator command line.  Starting simulation...

:9
EXBUG09 2.1
*E PRNT 
BEG 0000 
END 0000 0100
0000 00 00 00 00 00 00 00 00 00 00 00 00 etc.
jhallen commented 1 year ago

Actually the entry points to the ROM are the same for 6809. I found the EQU.SA file on 6809 MDOS disk to confirm this. When I try to boot, it gets this far: (I'm trying DISK05 from bitsavers)

:9
EXBUG09 2.1
*E MDOS 
OSLOAD...
Read sector 23 into 20, size=128
Read sector 24 into a0, size=128
RESTOR
LPINIT
Read sectors: drive=0, first=25, number=64, addr=100, size of last=32
Read sectors: drive=0, first=20, number=1, addr=18b, size of last=128
EV  :9
EXBUG09 2.1
*E 

So it's reading a directory sector in to $018b, but not finding the file it wants there (EV error). There are no system files in this sector, so maybe the directory hash function is failing... maybe something in my 6809 simulator is incorrect still.

I tried an 80KB XDOS image also, it just crashes.

crestr1 commented 1 year ago

I can make a copy of this for you if that is any help DSCN4803R

stanleyruppert commented 1 year ago

I'd like to compare your 1369X24 (II) to my 1369X23 (III) and 1369X25 ROMs. I have physical calcomp drives I'd like to eventually interface with. Thanks!

stanleyruppert commented 1 year ago

Labels for the ROMs I uploaded earlier and an additional 6800 version of E800 ROM for the Calcomp drives.

ROM-Labels

6800 CalComp FDC ROM.zip

crestr1 commented 1 year ago

As i remember this ROM works with the Motorola converter board to run NON calcomp drives with the normal 50 way cable, I think that converter was in some Exordisk II and III boxes. I had some 50 way DS Remex drives in my III.

Right now i'm looking for more 8" DS floppy drives, preferably Remex, and some Remex DS head assemblies. Although YE data drives are very usable too.. The good thing abut Remex is there are no custom ICs in them - they are repairable.

Another great device is the HXC SD Card floppy disk emulator. I also have one with a laptop running it. I have hundreds of files in the laptop that can be loaded but you can only load from the laptop you cant write on files in it as you can with the SD card version that behaves as two independent R/W A&B configurable disk drives

jhallen commented 1 year ago

Success! The problem was that on 6800 "TST" clears carry, but on 6809, "TST" leaves it unchanged.

./exor09
Load facts file 'facts09'
Couldn't load 'facts09'
'exbug09.bin' loaded.
'mdos09.dsk' opened for drive 0 (single sided)

Hit Ctrl-C for simulator command line.  Starting simulation...

:9
EXBUG09 2.1
*E MDOS 
OSLOAD...

MDOS09  3.01
=DIR
DRIVE : 0   DISK I.D. : MASTER  
SRF2    .LO
X6800   .CF
RASM    .CM
E0      .CM
BT      .CM
E       .CM
PP4     .CM
TOTAL DIRECTORY ENTRIES SHOWN : 007/$07
=

But some programs crash when I try them- more bugs no doubt.