Replica 1 plus Users Manual Appendix C: Woz Monitor listing FF00: D8 RESET CLD Clear decimal arithmetic mode. FF01: 58 CLI FF02: A0 7F LDY #$7F Mask for DSP data direction register. FF04: 8C 12 D0 STY DSP Set it up. FF07: A9 A7 LDA #$A7 KBD and DSP control register mask. FF09: 8D 11 D0 STA KBD CR Enable interrupts, set CA1, CB1, for FF0C: 8D 13 D0 STA DSP CR positive edge sense/output mode. FF0F: C9 DF NOTCR CMP #$DF FF11: F0 13 BEQ BACKSPACE Yes. FF13: C9 9B CMP #$9B ESC? FF15: F0 03 BEQ ESCAPE Yes. FF17: C8 INY Advance text index. FF18: 10 0F BPL NEXTCHAR Auto ESC if > 127. FF1A: A9 DC ESCAPE LDA #$DC FF1C: 20 EF FF JSR ECHO Output it. FF1F: A9 8D GETLINE LDA #$8D CR. FF21:
20 EF FF JSR ECHO Output it. FF24: A0 01 LDY #$01 Initialize text index. FF26: 88 BACKSPACE DEY Back up text index. FF27: 30 F6 BMI GETLINE Beyond start of line, reinitialize. FF29: AD 11 D0 NEXTCHAR LDA KBD CR Key ready? FF2C: 10 FB BPL NEXTCHAR Loop until ready. FF2E: AD 10 D0 LDA KBD Load character. B7 should be ‘1’. FF31: 99 00 02 STA IN,Y Add to text buffer. FF34: 20 EF FF JSR ECHO Display character. FF37: C9 8D CMP #$8D CR? FF39: D0 D4 BNE NOTCR No. FF3B: A0 FF LDY #$FF Reset text index. FF3D: A9 00 LDA #$00 For XAM mode. FF3F: AA TAX 0->X. FF40: 0A SETSTOR ASL Leaves $7B if setting STOR mode. FF41: 85 2B SETMODE STA MODE $00=XAM $7B=STOR $AE=BLOK XAM FF43:
C8 BLSKIP INY Advance text index. FF44: B9 00 02 NEXT ITEM LDA IN,Y Get character. FF47: C9 8D CMP #$8D CR? FF49: F0 D4 BEQ GETLINE Yes, done this line. FF4B: C9 AE CMP #$AE FF4D: 90 F4 BCC BLSKIP Skip delimiter. FF4F: F0 F0 BEQ GETLINE Yes. Set STOR mode. FF51: C9 BA CMP #$BA FF53: F0 EB BEQ SETSTOR Yes. Set STOR mode. FF55: C9 D2 CMP #$D2 FF57: F0 3B BEQ RUN Yes. Run user program. FF59: 86 28 STX L $00-> L. FF5B: 86 29 STX H and H. FF5D: 84 2A STY YSAV Save Y for comparison. © Briel Computers 2014 page 30