GWMON-80 for OSI 510 in Z80 Mode

Post Reply
User avatar
glitch
Posts: 176
Joined: Mon Nov 28, 2011 12:43 am

GWMON-80 for OSI 510 in Z80 Mode

Post by glitch »

I was working on a friend's OSI 510 board today and wanted to make sure all three CPUs worked before sending it back. Easy enough to test the 6800, since you can run the ROM monitor, but not as easy to test the Z80. So, I customized GWMON-80 (my ROM monitor) for it! You can download it in serial load format here:

http://filedump.glitchwrks.com/software ... 0_3C00.SER

Just paste the file into a terminal emulator, it'll load the monitor at 0x3C00 (top of 16K system), load in a short CPU switching routine, set up the 65A monitor's PC, and put a JMP 0x3C00 at address 0x0000 for the Z80. Just load the file and hit G, and you should be greeted with the signon text.

Here's the contents of the file:

Code: Select all

L3C00
C3 32 3E 21 C3 3D CD 5A 3D 21 60 3E CD 5A 3D 21
1B 3E CD 5A 3D 21 0F 3C E5 CD 49 3E E6 5F FE 44
CA 9C 3C FE 45 CA 65 3C FE 47 CA 93 3C FE 4F CA
42 3C FE 49 CA 53 3C FE 4C CA 74 3D 21 29 3E C3
64 3D CD 54 3D CD 13 3D 47 CD 54 3D CD 13 3D CD
3B 3D C9 CD 54 3D CD 13 3D 47 CD 54 3D 78 CD 41
3D CD E1 3C C9 CD 54 3D CD 0A 3D 62 6B CD 6B 3D
CD 01 3D CD 54 3D 3E 3A CD 50 3E CD 54 3D CD DC
3C CD 54 3D CD 13 3D D8 77 CD 54 3D CD DC 3C 23
C3 6D 3C CD 54 3D CD 0A 3D 62 6B E9 CD 54 3D CD
0A 3D 62 6B 0E 10 CD 54 3D CD 0A 3D CD 6B 3D CD
C3 3C 7A BC F8 7B BD DA BD 3C C3 AC 3C 7A BC C2
AC 3C C9 CD 01 3D CD 54 3D 3E 3A CD 50 3E 0E 10
CD 54 3D CD DC 3C 23 0D C8 C3 D0 3C 7E CD E1 3C
C9 C5 47 0F 0F 0F 0F E6 0F CD FA 3C CD 50 3E 78
E6 0F CD FA 3C CD 50 3E C1 C9 C6 90 27 CE 40 27
C9 7C CD E1 3C 7D CD E1 3C C9 CD 13 3D 57 CD 13
3D 5F C9 D5 CD 49 3E FE 58 CA 2D 3D CD 31 3D 07
07 07 07 57 CD 49 3E CD 31 3D B2 D1 C9 37 C3 2B
3D D6 30 FE 0A F8 E6 5F D6 07 C9 0E D3 CD 48 3D
C9 0E DB 47 CD 48 3D C9 21 00 00 39 2B 36 C9 2B
70 2B 71 E9 3E 20 CD 50 3E C9 7E B7 C8 CD 50 3E
23 C3 5A 3D CD 6B 3D CD 5A 3D C9 E5 21 2F 3E CD
5A 3D E1 C9 CD 6B 3D CD 3D 3E FE 3A C2 77 3D CD
50 3E CD 13 3D 47 4F CD 13 3D 67 81 4F CD 13 3D
6F 81 4F CD 13 3D 57 81 4F 78 A7 CA B4 3D CD 13
3D 77 81 4F 23 05 C2 9E 3D CD 13 3D 81 C2 BD 3D
B2 CA 74 3D CD 3D 3E FE 0A C2 B4 3D C9 21 20 3E
C3 64 3D 0D 0A 0A 47 57 4D 4F 4E 2D 38 30 20 30
2E 31 2E 34 20 66 6F 72 20 38 30 38 30 2F 38 30
38 35 2F 5A 38 30 20 61 6E 64 20 43 6F 6D 70 61
74 69 62 6C 65 0D 0A 43 6F 70 79 72 69 67 68 74
20 28 63 29 20 32 30 31 39 20 54 68 65 20 47 6C
69 74 63 68 20 57 6F 72 6B 73 00 0D 0A 0A 3E 00
43 48 45 43 4B 53 55 4D 20 45 52 52 4F 52 00 0D
0A 00 31 00 3C 3E 15 32 00 FC C3 03 3C 3A 00 FC
E6 01 CA 3D 3E 3A 01 FC C9 CD 3D 3E 32 01 FC C9
C5 47 3A 00 FC E6 02 CA 52 3E 78 32 01 FC C1 C9
0D 0A 42 75 69 6C 74 20 66 6F 72 20 4F 68 69 6F
20 53 63 69 65 6E 74 69 66 69 63 20 35 31 30 2C
20 5A 38 30 20 6D 6F 64 65 00 R
L0000C3003CR
L0200A2008E01F7CA8E00F7A0048C01F78E00F7A05F8C00F7D0FER
L012E0200R
Check out The Glitch Works
OSI Challenger 3, 510 CPU, 8" floppies, 23 MB hard disk system starting to work!
Parts bin Challenger 3 board set, never had a chassis in its time
Mark
Posts: 293
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: GWMON-80 for OSI 510 in Z80 Mode

Post by Mark »

OSI GWMON-80 success!

I have 2 OSI510 based boards, both Rev C. An older one is fully populated, and a "newer" from a Ma/Com era business machine has the "510" ground off the board and a "CP-1" hand written on it. It does not include the 6800, but the Z-80 & 6810 are present.

First I tried the triple CPU board and used the OSI GWMON-80 port to successfully boot Z-80 on the older board! Thanks to glitch!
Screen Capture
Screen Capture
C3-Z80.jpg (141.93 KiB) Viewed 7944 times


So the Ma/Com "CP-1" version of the OSI510 board was not able to boot GWMON-80. I'm not sure if there is something missing from the board or if it is just damaged. Having a working board should make it possible to troubleshoot. I have pictures of the board in case anyone is interested in the differences.
Here is the OSI 510 complete.
Here is the Ma/Com CP-1 (was OSI510).

I have zero documentation on how to go about switching CPUs in software, but the code and the schematics have given me some of the clues I needed.
I am still a unclear how you access the 6800 monitor at boot time. My boot ROM "DMON REV1" doesn't seem to have code to do it. Also I see how the 6810 can get remapped, located at F2xx in 6502 mode and FF80 in 6800 mode, just not clear on the conditions that trigger it are set up. I see the processor select lines, reset and select lines wired from the $F700 PIA. Just not sure what the 6800 CPU select order is. Anyway if anyone has some docs or code it will help.

Perhaps just a 65A dump of the boot ROM if it differs from DMON rev1.

Thanks,

-Mark
Mark
Posts: 293
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: GWMON-80 for OSI 510 in Z80 Mode

Post by Mark »

Okay, as a followup to my own questions, I uncovered the missing information buried in the original 510 schematics on my own web page. sheesh.

Code: Select all

$F700 PIA
Port A                      6502  Z80  6800   none
PA7   -> Processor Sel Hi    1     0    1     0
PA6   -> Processor Sel Lo    1     1    0     0
PA5   -> PS Processor Switch 1->0=trigger
PA4   -> RS RAM/ROM sel      0=relocate 6810 128 byte RAM from $F200 to $FF80
PA3   -> A19  
PA2   -> A18  \
PA1   -> A17   memory management lines
PA0   -> A16  /

CA2 +
CA1 |
PB7 |
.   \__ port expansion
.   /
PB0 |
CB2 |
CB1 +
And I have entered the 6800 version of the 65A monitor with the following code snippet, modified from the loader glitch used in the Z-80 monitor:

Code: Select all

	LDX #$00     ;
	STX $F701    ;SELECT DDRA REG
	DEX          ;
	STX $F700    ;SET PORT A output (FF)
	LDY #$04     
	STY $F701    ;SELECT PORT A
	STX $F700    ;Make All PAx line high
	LDY #$9F     ; 1001 1111
	STY $F700    ;sel processor (10) 6800, no 6810 RAM relocate
	BNE *        ; 6502 waits forever
Now the fun begins!
-Mark
Last edited by Mark on Fri Sep 20, 2019 11:04 pm, edited 1 time in total.
User avatar
glitch
Posts: 176
Joined: Mon Nov 28, 2011 12:43 am

Re: GWMON-80 for OSI 510 in Z80 Mode

Post by glitch »

Glad it worked for you on the one board! I had a dead Z80 on one of my 510 boards, found it while testing with GWMON-80.

Here's the documentation with relevant info on switching CPUs:

http://filedump.glitchwrks.com/manuals/ ... Manual.pdf

There are code snippets for switching CPUs for 6502, 6800, and Z80.
Check out The Glitch Works
OSI Challenger 3, 510 CPU, 8" floppies, 23 MB hard disk system starting to work!
Parts bin Challenger 3 board set, never had a chassis in its time
Mark
Posts: 293
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: GWMON-80 for OSI 510 in Z80 Mode

Post by Mark »

Looks good!

Thanks!
Post Reply