diff --git a/Apple2/Rpi.Command.asm b/Apple2/Rpi.Command.asm new file mode 100644 index 0000000..3520a31 --- /dev/null +++ b/Apple2/Rpi.Command.asm @@ -0,0 +1,63 @@ +;Translation of code written in mini-assembler on Apple //e +;Currently only works if card is in slot 5 + + .org $1000 + lda $33 + pha + lda #$a4 + sta $33 +GetCommand: + jsr $fd6a + lda $0200 + cmp #$8d ;stop when return found + beq ExitApp + jsr DumpOutput + clc + bcc GetCommand +ExitApp: + pla + sta $33 + lda #$00 + sty $34 + rts + + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + brk + +DumpOutput: + ldx #$50 + lda #$05 ;send command 5 = exec + jsr $c5aa + ldy #$00 +getInput: + lda $0200,y + cmp #$8d + beq sendNullTerminator + and #$7f + jsr $c5aa + iny + bne getInput +sendNullTerminator: + lda #$00 + jsr $c5aa ;send byte +getOutput: + jsr $c5c8 ;get byte + cmp #$00 + beq endOutput + jsr $fded + clc + bcc getOutput +endOutput: + rts + + diff --git a/Apple2/Rpi.Command.bin b/Apple2/Rpi.Command.bin new file mode 100644 index 0000000..ee8f942 Binary files /dev/null and b/Apple2/Rpi.Command.bin differ diff --git a/Apple2/assemble.sh b/Apple2/assemble.sh index 3e72ee2..3b2c383 100755 --- a/Apple2/assemble.sh +++ b/Apple2/assemble.sh @@ -16,3 +16,7 @@ DriveFirmware.bin DriveFirmware.bin DriveFirmware.bin DriveFirmware.bin \ > Firmware_27256_EPROM.bin rm Slot*.o rm DriveFirmware.bin + +ca65 Rpi.Command.asm -o Rpi.Command.o +ld65 Rpi.Command.o -o Rpi.Command.bin -t none +rm Rpi.Command.o