-------------------------------------- WPC Lamp Matrix Driver code. CFTBL L-4 ROM -------------------------------------- symbol 0x3FE4 WPC_3FE4_LampRow symbol 0x3FE5 WPC_3FE5_LampColumn symbol 0x3FE8 WPC_3FE8_SwCoindoor DB44 irq_start: DB44 : 86 96 " " [2] ldaa #$96 DB46 : B7 3F FF " ? " [5] staa WPC_3FFF_Watchdog DC2B run_always2: DC2B : 96 0C " " [4] ldaa DATA_CNTR_0_TO_15 DC2D : 46 "F" [2] rora ----------------------------------------------------------------------------------------- DC2E if-cntr-bit-0-set-jump-past-to-switch-matrix-code: DC2E : 10 25 02 48 " % H" [5/6] lbcs switch-matrix-code DC32 : 9E B3 " " [5] ldx DATA_ROW_TABLE_CURR_PTR DC34 load-x-with-row-data-addr: DC34 : 30 01 "0 " [4/9] leax 1,x DC36 : 96 B2 " " [4] ldaa DATA_LAMP_CURR_COLUMN DC38 : 48 "H" [2] asla DC39 no-branch-if-column-data-was-0x80-before-shift: DC39 : 26 19 "& " [3] bne store-start-row-ptr-and-start-column DC3B : 96 67 " g" [4] ldaa X0067 DC3D always-branches1: DC3D : 27 10 "' " [3] beq load-row-data-base-address DC3F : 0A B5 " " [6] dec X00B5 DC41 : 2B 08 "+ " [3] bmi LDC4B DC43 : 7F 3F E4 " ? " [7] clr WPC_3FE4_LampRow DC46 : 7F 3F E5 " ? " [7] clr WPC_3FE5_LampColumn DC49 : 20 55 " U" [3] bra LDCA0 ; DC4B LDC4B: DC4B : 96 68 " h" [4] ldaa X0068 DC4D : 97 B5 " " [4] staa X00B5 DC4F load-row-data-base-address: DC4F : 8E 02 E0 " " [3] ldx #$02E0 DC52 load-column-one: DC52 : 86 01 " " [2] ldaa #$01 DC54 store-start-row-ptr-and-start-column: DC54 : 9F B3 " " [5] stx DATA_ROW_TABLE_CURR_PTR DC56 : 97 B2 " " [4] staa DATA_LAMP_CURR_COLUMN DC58 refresh-a-lamp-matrix-column: DC58 : E6 89 00 10 " " [8] ldab 16,x DC5C : 53 "S" [2] comb DC5D : E4 89 00 08 " " [8] andb 8,x DC61 : D7 B0 " " [4] stab X00B0 DC63 : E6 89 00 10 " " [8] ldab 16,x DC67 : E4 89 00 18 " " [8] andb 24,x DC6B : DB B0 " " [4] addb X00B0 DC6D : D7 B0 " " [4] stab X00B0 DC6F : E6 89 00 20 " " [8] ldab 32,x DC73 : E4 89 00 28 " (" [8] andb 40,x DC77 : D7 B1 " " [4] stab X00B1 DC79 : E6 89 00 20 " " [8] ldab 32,x DC7D : 53 "S" [2] comb DC7E : D4 B0 " " [4] andb X00B0 DC80 : DB B1 " " [4] addb X00B1 DC82 : D7 B0 " " [4] stab X00B0 DC84 : E6 89 00 30 " 0" [8] ldab 48,x DC88 : E4 89 00 38 " 8" [8] andb 56,x DC8C : D7 B1 " " [4] stab X00B1 DC8E : E6 89 00 30 " 0" [8] ldab 48,x DC92 : 53 "S" [2] comb DC93 : D4 B0 " " [4] andb X00B0 DC95 : DB B1 " " [4] addb X00B1 DC97 : 7F 3F E4 " ? " [7] clr WPC_3FE4_LampRow DC9A : B7 3F E5 " ? " [5] staa WPC_3FE5_LampColumn DC9D : F7 3F E4 " ? " [5] stab WPC_3FE4_LampRow ------------------------------------------------------------------------ DCA0 LDCA0: DCA0 : F6 3F E8 " ? " [5] ldab WPC_3FE8_SwCoindoor DCA3 : 96 B7 " " [4] ldaa X00B7 ------------------------------------------------------------------------ FFF8 v_FFF8_irq: FFF8 : DB 44 " D" dw irq_start