Any idea how large your boot ROM is? I might guess it is 2K, but that boot menu has a lot of options that could make it much larger. Dumping 2K will help determine if any other memory ranges need to be included.
This earlier post offered two programs to dump your ROM to a serial port.
BASIC is just fine, and a program is included below. The program below will dump the contents from $F800 to $FFFF as hex data, 8 bytes per row to the serial port. You can record the cassette audio from your OSI on your laptop with something like Audacity and decode it there or use RS-232 & capture the hex data with a terminal program.
The following code sends hexadecimal contents of memory from $F800 (63488) to $FFFF (65535) to the OSI serial port. It should work on any BASIC-In-ROM OSI machine. Change the values in line 20 to dump other address ranges.
Code: Select all
10 A$="0123456789ABCDEF":J=0:POKE517,1
20 FOR I=63488 TO 65535:D=PEEK(I)
30 PRINT MID$(A$,D/16+1,1);MID$(A$,(DAND15)+1,1);" ";
40 J=J+1:IF J < 8 GOTO 60
50 PRINTCHR$(13);CHR$(10);:J=0
60 NEXT:POKE517,0
-Mark