Add banked ROM from slot 2 toggle

This commit is contained in:
david-schmidt 2020-06-08 16:39:13 -04:00
parent c9ae1cc13b
commit a03d7bd652
7 changed files with 1207 additions and 5 deletions

View File

@ -41,4 +41,13 @@ gymnastics of the IIe and beyond that moved Heaven and Earth to keep the entry p
* Run that audio through CiderPress, which knows how to take tape audio and reconstruct data from it
* Profit
The source code to do these activities is in the `src` directory, and the resulting ROM from the Tiger Learning computer is in the `rom` directory.
The source code to do these activities is in the `src` directory, and the resulting ROM from the Tiger Learning computer is in the `rom` directory.
#### ROM contents
The files [`C100.FFFF.bin`](https://github.com/david-schmidt/tlc-apple2/blob/master/rom/C100.FFFF.bin)
and [`C100.FFFF.txt`](https://github.com/david-schmidt/tlc-apple2/blob/master/rom/C100.FFFF.txt)
are binary and monitor dumps respectively of the ROM as seen normally (i.e. with no banking).
The files [`C800-CFFF.bin`](https://github.com/david-schmidt/tlc-apple2/blob/master/rom/C800-CFFF.bin)
and [`C800-CFFF.txt`](https://github.com/david-schmidt/tlc-apple2/blob/master/rom/C800-CFFF.txt)
are the view of ROM in that region after swapping slot 2 in (i.e. `lda $cfff` and `lda $c200` just before dumping).

BIN
rom/C800-CFFF.bin Normal file

Binary file not shown.

1166
rom/C800-CFFF.txt Normal file

File diff suppressed because it is too large Load Diff

3
src/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/tapeout.o
/tapeout.bin
/tapeout.lst

View File

@ -1,2 +1,2 @@
ca65 tapeout.asm -l tapeout.lst
ca65 tapeout.asm --listing
ld65 tapeout.o -o tapeout.bin -C tapeout.cfg

18
src/slot2dump.txt Normal file
View File

@ -0,0 +1,18 @@
This is the part you get to type in by hand if you
have no other way to communicate to a machine.
This version swaps in slot 2 and dumps memory from
$C200-$CFFF.
When the sound output is complete, a "Z" will be
printed and you'll be back at the prompt. (The
original monitor code would print a Ctrl-G (beep),
which is not desirable now.)
300:A9 00 A0 C8 85 3C 84 3D A9 FF A0 CF 85 3E 84 3F
310:AD FF CF AD 00 C2 20 4C 03 60 A5 3C C5 3E A5 3D
320:E5 3F E6 3C D0 02 E6 3D 60 A0 4B 20 3B 03 D0 F9
330:69 FE B0 F5 A0 21 20 3B 03 C8 C8 88 D0 FD 90 05
340:A0 32 88 D0 FD AC 30 C0 A0 2C CA 60 A9 40 20 29
350:03 A0 27 A2 00 41 3C 48 A1 3C 20 6C 03 20 1A 03
360:A0 1D 68 90 EE A0 22 20 6C 03 F0 09 A2 10 0A 20
370:36 03 D0 FA 60 A9 DA 4C ED FD

View File

@ -6,14 +6,20 @@
.org $0300
; Set up starting address ($C800)
lda #$00
ldy #$03
ldy #$c8
sta $3c
sty $3d
lda #$00
ldy #$04
; Set up ending addresses ($CFFF)
lda #$ff
ldy #$cf
sta $3e
sty $3f
; Swap in slot 2
lda $cfff
lda $c200
; Dump it to speaker
jsr WRITE
rts