Good progress!
My OSI C4P seems to regularly need chips reseated

maybe I have the same backplane problem too?
Upon Reset, your OSI should show H/D/M? and wait for a keypress. If you type anything but H or D you end up in the monitor at 0000.
So if you are not pressing a key, something must be acting as a pressed key. Can you type anything more than numbers ? A-F ? L? G?
So at this point, you may be able to load things through the serial port or enter things through the keyboard.
The following small program will echo keyboard key presses to the screen. Return, Line Feed etc. will show as graphics characters.
In the monitor, try entering the following, press <Return> after each line. (This program can be located anywhere in memory, I chose $300 as a good point.)
Code: Select all
.0300/A0
00
20
00
FD
99
06
D1
C8
D0
F7
F0
F5
.0300G
At this point anything you type should be displayed below the monitor line, like this:

- Keyboard Echo
- keyecho.gif (2.63 KiB) Viewed 33451 times
The entry point for floppy access is $FFEA , so entering .FFEAG in the monitor should activate the disk drive (if connected), and you can't press 'D' at startup.
If you are more ambitious, you could try connecting the OSI to a host computer via serial port. I believe the default communications setting may be 1200 bps/8N2 (otherwise try 300/8N2) (no flow control). Upon reset, enter the monitor, press 'L' and send an OSI program as raw ASCII via serial.
One program to try is contained in TestMem.zip located on the tools page
here. Use this to test your system's memory. It's a very tiny primitive program so read the docs for commands.
You could try loading John Conway's game of life
https://osi.marks-lab.com/software/files/OSILife.zip on the
games page
Or perhaps a
Kaleidoscope program for graphics tests?

If you have difficulty getting programs to load, type .FC00/0312. before loading to drop the baud rate by 4x (1200bps->300bps)
To restore screen to 64 column mode type .DE00/01.
Here's a text version of the keyboard layout to help figure out row/column locations
Code: Select all
OSI keyboard decode table reference
Columns read from $DF00, Rows selected by writing to $DF00
C2/C4 series has noninverted values (bit set when key pressed)
C1/Superboard has inverted values, bit cleared when key pressed.
7 6 5 4 3 2 1 0
-----------------------------------------
7- 1/! 2/" 3/# 4/$ 5/% 6/& 7/'
6- 8/( 9/) 0/@ :/* -/= rub
5- ./> L O lf cr
4- W E R T Y U I
3- S D F G H J K
2- X C V B N M ,/<
1- Q A Z spc //? ;/+ P
0- rpt ctl esc lsh rsh caps
Joysticks
H A B
\ | /
G -- I -- C
/ | \
F E D
Joystick A = enable row 7 returns bits 4-0
Joystick B = enable row 4 returns bits 7-3
7 6 5 4 3 2 1 0
-----------------------------------------
7- UP DN RI LE FIRE (Joy A)
4- FIRE DN UP RI LE (Joy B)
Good Luck!