This is the search program which executes in AUX memory in the Apple II to locate the 8 bytes for the designated character. This searches a big hunk of memory, 1 byte for alphabet, 1 byte for character designation, then 8 bytes. When a match is not made, it adds 10, and goes to the next one. All the references to $c3xx and $c0xx are for bank switching. !L 1 ORG $AF00 2 OBJ $800 3 NLS 4 ; 5 CHTL EPZ $1A 6 ; 7 HSHAPE EQU $F000 8 LDPOS EQU $7200 9 ; 10 HERE JMP $7200+LOAD-HERE 11 ; 12 LOCATE LDA $C08B 13 LDA $C08B 14 LDA $150 15 STA TALF 16 LDA $151 17 STA TCHAR 18 STA $C009 19 LDA #HSHAPE 20 STA CHTL 21 LDA /HSHAPE 22 STA CHTL+1 23 SPLP LDY #$08 24 LDA (CHTL),Y 25 CMP #$FF 26 BEQ FD0 27 CMP TALF 28 BNE QS2 29 INY 30 LDA (CHTL),Y 31 CMP TCHAR 32 BNE QS2 33 QS00 LDY #$07 34 QS8 STA $C009 35 LDA (CHTL),Y 36 STA $C008 37 STA $150,Y 38 DEY 39 BPL QS8 40 LDA #$58 41 STA $3ED 42 LDA #$FF 43 STA $3EE 44 LDA $C08A 45 CLV 46 CLC 47 JMP $C314 48 ; 49 ; 50 QS2 CLC 51 LDA CHTL 52 ADC #$0A 53 STA CHTL 54 BCC SPLP 55 INC CHTL+1 56 BNE SPLP 57 FD0 LDA #ZERO 58 STA CHTL 59 LDA /ZERO 60 STA CHTL+1 61 JMP QS00 62 ; 63 LOAD STA $C009 64 LDA #$00 65 STA $3C 66 STA $3E 67 STA $42 68 LDA /LDPOS+$100 69 STA $3D 70 LDA #$82 71 STA $3F 72 LDA /HSHAPE 73 STA $43 74 LDA $C08B 75 LDA $C08B 76 SEC 77 JSR $C311 78 LDA $C08A 79 LDA #$00 80 STA $3C 81 STA $42 82 LDA #$FF 83 STA $3E 84 LDA /LDPOS 85 STA $3D 86 STA $3F 87 LDA /HERE 88 STA $43 89 SEC 90 JSR $C311 91 STA $C008 92 RTS 93 TALF HEX 00 94 TCHAR HEX 00 95 ZERO HEX 0000000000000000 96 ; 97 XX HEX 00 98 ; 99 END !A **END OF PASS 1 **END OF PASS 2 AF00 1 ORG $AF00 AF00 2 OBJ $800 99 END ***** END OF ASSEMBLY ************************* * * * SYMBOL TABLE -- V 1.5 * * * ************************* LABEL. LOC. LABEL. LOC. LABEL. LOC. ** ZERO PAGE VARIABLES: CHTL 001A ** ABSOLUTE VARABLES/LABELS HSHAPE F000 LDPOS 7200 HERE AF00 LOCATE AF03 SPLP AF20 QS00 AF35 QS8 AF37 QS2 AF57 FD0 AF64 LOAD AF6F TALF AFAF TCHAR AFB0 ZERO AFB1 XX AFB9 SYMBOL TABLE STARTING ADDRESS:6000 SYMBOL TABLE LENGTH:008A