PCS_AppleII/source_disc2/WIRE.S

1150 lines
15 KiB
ArmAsm

LST OFF
*
* PINBALL CONSTRUCTION KIT
* PINBALL WIRING KIT
*
ORG $9500
OBJ $7000
*
* CONSTANTS
*
POLYGON EQU 1
BPOLYGON EQU 2
LIBOBJ EQU 3
*
* TEMPS
*
PARAM EQU $00
TEMP EQU $07
XTEMP EQU TEMP+1
YTEMP EQU XTEMP+1
TEMP2 EQU YTEMP+1
*
* DRAWBITS
*
BASE1 EQU $10
BASE2 EQU BASE1+2
TEMPBITS EQU BASE2+2
VERT EQU TEMPBITS+2
HDIV7 EQU VERT+1
HMOD7 EQU HDIV7+1
WIDTH EQU HMOD7+1
HEIGHT EQU WIDTH+1
*
* RECT ROUTINES
*
TOP EQU TEMPBITS
LFTDIV7 EQU TOP+1
LFTMOD7 EQU LFTDIV7+1
BOTTOM EQU LFTMOD7+3
*
* MAIN PROGRAM
*
CURSOR EQU $80
CURSORY EQU CURSOR+2
CURSORXDIV7 EQU CURSORY+1
CURSORXMOD7 EQU CURSORXDIV7+1
CURSORHEIGHT EQU CURSORXMOD7+1
CURSORWIDTH EQU CURSORHEIGHT+1
CRSRXACC EQU CURSORWIDTH+1
CRSRYACC EQU CRSRXACC+1
NEWCURSORXDIV7 EQU CRSRYACC+1
NEWCURSORXMOD7 EQU NEWCURSORXDIV7+1
NEWCURSORY EQU NEWCURSORXMOD7+1
CRSRRTSTOP EQU NEWCURSORY+1
NEWITEM EQU CRSRRTSTOP+1
LASTITEM EQU NEWITEM+2
*
* OBJECTS
*
OBJ EQU LASTITEM+2
NEXTOBJ EQU OBJ+2
OBJCOUNT EQU NEXTOBJ+1
PLYPTRX EQU OBJCOUNT+1
PLYPTRY EQU PLYPTRX+2
OBJID EQU PLYPTRY+2
FILLCOLOR EQU OBJID+1
VRTXCOUNT EQU FILLCOLOR+1
LBASE EQU VRTXCOUNT+1
SCANMODE EQU LBASE+2
MEMBTM EQU SCANMODE+1
MIDBTM EQU MEMBTM+2
MIDTOP EQU MIDBTM+2
MIDY EQU MIDTOP+2
*
* EDITOR
*
CURSORX EQU MIDY+1
EDITMODE EQU CURSORX+1
SLCTMODE EQU EDITMODE+1
CUROBJ EQU SLCTMODE+1
CURNOISE EQU CUROBJ+1
CURSCORE EQU CURNOISE+1
BMULT EQU CURSCORE+1
ETIMER EQU BMULT+1
SERIES EQU ETIMER+1
SLICE EQU SERIES+1
STEMP EQU SLICE+1
X1 EQU STEMP+1
Y1 EQU X1+1
X2 EQU Y1+1
Y2 EQU X2+1
MIDX EQU Y2+1
WIRE EQU MIDX+1
CONTACTY EQU WIRE+1
*
POLYB EQU $C0
* NEXT EQU $C6
*
* PBDB
*
LOGIC EQU $4000
WSET EQU $4018
PBDATA EQU $401C
OBJDX EQU PBDATA+1
PBDX EQU $6F40
*
* EXTERNALS
*
DIV7 EQU $1400
MOD7 EQU DIV7+$100
LO EQU MOD7+$100
HI EQU LO+$C0
SETMODE EQU HI+$10F
DRAWBITS EQU SETMODE+$25
XOFFDRAW EQU DRAWBITS+$3D
GETRECT EQU XOFFDRAW+$59
MASKS EQU GETRECT+$41
HLINE EQU MASKS+$F
VLINE EQU HLINE+$20
FRAMERECT EQU VLINE+$58
DRAWRECT EQU FRAMERECT+$28
INRECT EQU DRAWRECT+$10
GETBUTNS EQU INRECT+$2D
INITCRSR EQU GETBUTNS+$7
XDRAWCRSR EQU INITCRSR+$1B
UPDATECRSR EQU XDRAWCRSR+$7
DOCRSRX EQU UPDATECRSR+$1E
GETCURSORX EQU DOCRSRX+$45
DOCRSRY EQU GETCURSORX+$16
JSCTRL EQU DOCRSRY+$4D
CRSRINRECT EQU JSCTRL+$21
DOMENU EQU CRSRINRECT+$13
SELECT EQU DOMENU+$54
INIT EQU SELECT+$40
MOVEUP EQU INIT+$35
MOVEDOWN EQU MOVEUP+$3B
ADDIYX EQU MOVEDOWN+$39
ADDYX EQU ADDIYX+$E
SUBIYX EQU ADDYX+$10
SUBYX EQU SUBIYX+$12
CMPYX EQU SUBYX+$10
CHARTO EQU CMPYX+$F
PRCHAR EQU CHARTO+$A
PRINT EQU PRCHAR+$38
CHAR EQU PRINT+$19
*
* PPAK
*
DRAWDISPLAY EQU $8E20
GETOBJ EQU DRAWDISPLAY+$3E
GETNEXTOBJ EQU GETOBJ+$C
GETINFO EQU GETNEXTOBJ+$1B
DRAWOBJ EQU GETINFO+$3E
SETCOLOR EQU DRAWOBJ+$14
SCANPOLY EQU SETCOLOR+$25
ALIGNPOLY EQU SCANPOLY+$404
GETSCAN EQU ALIGNPOLY+$39
MAKEHOLE EQU GETSCAN+$57
SELECTPOLY EQU MAKEHOLE+$4A
POLYPOINTS EQU SELECTPOLY+$33
REMOVEPOLY EQU POLYPOINTS+$37
GETBOUNDS EQU REMOVEPOLY+$6E
*
START LDA #$80
STA CUROBJ
STA SCANMODE
JSR DRAWPOLYS
*
LDA #0
STA CURSORY
STA CURSORXDIV7
STA CURSORXMOD7
*
STA EDITMODE
STA SLCTMODE
*
STA CURNOISE
JSR INITSOUND
*
LDY #2
JSR SETMODE
*
LDA #<HAND
LDX #>HAND
JSR XOFFDRAW
LDA #<PLIER
LDX #>PLIER
JSR XOFFDRAW
LDA #<SCREWDRIVER
LDX #>SCREWDRIVER
JSR XOFFDRAW
LDY #$38
LDX #$24
LDA #2
JSR CHARTO
LDA #<QUITMSG
LDX #>QUITMSG
JSR PRINT
*
LDA #1
STRT2 STA ANDGATE+2
LDA #<ANDGATE
LDX #>ANDGATE
JSR XOFFDRAW
LDA ANDGATE+2
CLC
ADC #15
CMP #91
BNE STRT2
*
ADC #1 ;ADD 2
LDX #1
STX XTEMP
STRT3 STA NOTE+2
LDA #<NOTE
LDX #>NOTE
JSR XOFFDRAW
LDY NOTE+2
LDX #25
LDA #2
JSR CHARTO
LDA XTEMP
JSR PRCHAR
INC XTEMP
LDA NOTE+2
CLC
ADC #14
CMP #191
BNE STRT3
*
LDA #<HAND
LDX #>HAND
JSR INITCRSR
*
MAIN INC ETIMER
JSR SOUND
JSR JSCTRL
JSR UPDATECRSR
JSR GETBUTNS
BPL MAIN
*
LDA #<TOOLB
LDX #>TOOLB
JSR CRSRINRECT
BCC MAIN2
LDA #0
STA LASTITEM+1
LDA #<CMDMENU
LDX #>CMDMENU
JSR DOMENU
JMP MAIN
*
MAIN2 JSR MODE0
JMP MAIN
*
MODE0 LDA EDITMODE
BNE MODE1
JMP SELECTOBJ
MODE1 CMP #1
BNE MODE2
JMP CUTWIRE
MODE2 JMP ADDWIRE
*
DRAWPOLYS LDY #0
JSR GETOBJ
DRAWP2 LDA OBJID
CMP #<BPOLYGON
BEQ DRAWP3
CMP #<POLYGON
BNE DRAWP4
DRAWP3 JSR DRAWOBJ
DRAWP4 INC NEXTOBJ
LDY NEXTOBJ
JSR GETNEXTOBJ
LDY NEXTOBJ
CPY OBJCOUNT
BNE DRAWP2
RTS
*
INITHAND JSR XDRAWCRSR
LDA #<HAND
LDX #>HAND
LDY #0
SETEDMODE STY EDITMODE
JMP INITCRSR
*
INITPLIER JSR XDRAWCRSR
LDA #<PLIER
LDX #>PLIER
LDY #1
BNE SETEDMODE
*
INITDRIVER JSR XDRAWCRSR
LDA #<SCREWDRIVER
LDX #>SCREWDRIVER
LDY #2
BNE SETEDMODE
*
QUIT LDA SLCTMODE
BEQ QUIT3
CMP #1
BNE QUIT2
JSR DISPLAYPOLY
JMP QUIT3
QUIT2 JSR DISPLAYAND
QUIT3 JSR DRAWPOLYS
PLA
PLA
RTS
*
SELECTOBJ LDA #<TABLEB
LDX #>TABLEB
JSR CRSRINRECT
BCC SOBJ2
*
LDA #1
JSR SETDSPLY
JSR SELECTLIB
STY CUROBJ
BEQ SPOLY3
JSR DISPLAYPOLY
JSR DOSOUND
SPOLY2 JSR GETBUTNS
BMI SPOLY2
RTS
SPOLY3 STY CURNOISE
STY CURSCORE
RTS
*
DOSOUND LDY CURNOISE
BEQ DOSND2
LDA SOUNDCODE-1,Y
CMP SERIES
BMI DOSND2
STA SERIES
DOSND2 RTS
*
SOUNDCODE HEX 00040C1424384C
*
SOBJ2 LDA #<ANDB
LDX #>ANDB
JSR CRSRINRECT
BCC SOBJ3
*
LDA #2
JSR SETDSPLY
JSR SELECTAND
STY CUROBJ
JSR DISPLAYAND
JSR DOSOUND
SAND2 JSR GETBUTNS
BMI SAND2
RTS
*
SOBJ3 LDA #<NOTEB
LDX #>NOTEB
JSR CRSRINRECT
BCC SOBJ4
*
LDA CURNOISE
JSR HLNOISE
LDA #0
STA LASTITEM+1
LDA #<NOTEMENU
LDX #>NOTEMENU
JSR DOMENU
BEQ SNOTE2
JSR DOSOUND
LDA CUROBJ
BEQ SNOTE2
LDA CURNOISE
JSR HLNOISE
JMP FIXOBJ
SNOTE2 LDA #0
STA CURNOISE
JMP FIXOBJ
*
NOTEMENU DA NBOX1
DA SETNOISE
DA NBOX2
DA SETNOISE
DA NBOX3
DA SETNOISE
DA NBOX4
DA SETNOISE
DA NBOX5
DA SETNOISE
DA NBOX6
DA SETNOISE
DA NBOX7
DA SETNOISE
HEX 00
*
SETNOISE LDA YTEMP
CLC
ADC #6
LSR
LSR
STA CURNOISE
RTS
*
SOBJ4 LDA SLCTMODE
CMP #2
BNE SOBJ5
LDA #<BMULTBOX
LDX #>BMULTBOX
JSR CRSRINRECT
BCC SOBJ5
*
LDA BMULT
BEQ SBON2
LDA #<BMULTBOX
LDX #>BMULTBOX
JSR DRAWRECT
SBON2 LDA #0
STA LASTITEM+1
LDA #<BMULTMENU
LDX #>BMULTMENU
JSR DOMENU
BEQ SBON3
LDA #<BMULTBOX
LDX #>BMULTBOX
JSR DRAWRECT
JMP FIXOBJ
SBON3 LDA #0
STA BMULT
JMP FIXOBJ
*
BMULTMENU DA BMULTBOX
DA SETBMUL
HEX 00
*
SETBMUL LDA #$80
STA BMULT
RTS
*
SCOREMENU DA SCBOX1
DA SETSCORE
DA SCBOX2
DA SETSCORE
DA SCBOX3
DA SETSCORE
DA SCBOX4
DA SETSCORE
DA SCBOX5
DA SETSCORE
DA SCBOX6
DA SETSCORE
DA SCBOX7
DA SETSCORE
DA SCBOX8
DA SETSCORE
DA SCBOX9
DA SETSCORE
DA SCBOX10
DA SETSCORE
DA SCBOX11
DA SETSCORE
DA SCBOX12
DA SETSCORE
DA SCBOX13
DA SETSCORE
DA SCBOX14
DA SETSCORE
DA SCBOX15
DA SETSCORE
HEX 00
*
SOBJ5 LDA #<SCOREB
LDX #>SCOREB
JSR CRSRINRECT
BCC SOBJ6
*
LDA CURSCORE
JSR HLSCORE
LDA #0
STA LASTITEM+1
LDA #<SCOREMENU
LDX #>SCOREMENU
JSR DOMENU
BEQ SSCOR2
LDA CUROBJ
BEQ SSCOR2
LDA CURSCORE
JSR HLSCORE
JMP FIXOBJ
SSCOR2 LDA #0
STA CURSCORE
JMP FIXOBJ
*
SETSCORE LDA YTEMP
CLC
ADC #6
LSR
LSR
STA CURSCORE
RTS
*
SOBJ6 RTS
*
ADDWIRE LDA SLCTMODE
CMP #2
BNE ADDWIR5
JSR SELECTLIB
BEQ ADDWIR5
*
STY TEMP
LDY #9
LDA (LBASE),Y
BMI ADDWIR5
*
LDA TEMP
LDX CUROBJ
LDY TIMES4-1,X
CMP LOGIC,Y
BEQ ADDWIR5
CMP LOGIC+1,Y
BEQ ADDWIR5
CMP LOGIC+2,Y
BEQ ADDWIR5
*
LDA LOGIC,Y
BNE ADDWIR2
LDA TEMP
STA LOGIC,Y
LDY #2
JSR DRAWWIRE
JMP ADDWIR4
ADDWIR2 INY
LDA LOGIC,Y
BNE ADDWIR3
LDA TEMP
STA LOGIC,Y
LDY #7
JSR DRAWWIRE
JMP ADDWIR4
ADDWIR3 INY
LDA LOGIC,Y
BNE ADDWIR5
LDA TEMP
STA LOGIC,Y
LDY #12
JSR DRAWWIRE
ADDWIR4 JSR GETBUTNS
BMI ADDWIR4
ADDWIR5 RTS
*
CUTWIRE LDA SLCTMODE
CMP #2
BNE ADDWIR5
JSR SELECTLIB
BEQ ADDWIR5
STY TEMP
TYA
LDX CUROBJ
LDY TIMES4-1,X
CMP LOGIC,Y
BNE CUTWIR2
LDA #0
STA LOGIC,Y
LDA TEMP
LDY #2
JSR DRAWWIRE
JMP ADDWIR4
CUTWIR2 INY
CMP LOGIC,Y
BNE CUTWIR3
LDA #0
STA LOGIC,Y
LDA TEMP
LDY #7
JSR DRAWWIRE
JMP ADDWIR4
CUTWIR3 INY
CMP LOGIC,Y
BNE ADDWIR5
LDA #0
STA LOGIC,Y
LDA TEMP
LDY #12
JSR DRAWWIRE
JMP ADDWIR4
*
FIXOBJ LDX CUROBJ
BEQ FIXOBJ3
LDA SLCTMODE
CMP #1
BNE FIXOBJ2
LDA CURNOISE
ASL
ASL
ASL
ASL
ORA CURSCORE
LDY #9
STA (LBASE),Y
RTS
*
FIXOBJ2 CMP #2
BNE FIXOBJ3
LDA CURNOISE
ASL
ASL
ASL
ASL
ORA BMULT
ORA CURSCORE
STA TEMP
LDA TIMES4-1,X
CLC
ADC #3
TAY
LDA TEMP
STA LOGIC,Y
RTS
*
TIMES4 HEX 0004080C1014
*
FIXOBJ3 RTS
*
SETDSPLY CMP SLCTMODE
BNE SETDSP5
*
SETDSP2 CMP #0
BNE SETDSP3
RTS
SETDSP3 CMP #1
BNE SETDSP4
JMP DISPLAYPOLY
SETDSP4 JMP DISPLAYAND
*
SETDSP5 PHA
LDA SLCTMODE
JSR SETDSP2
JSR CLEARSB
PLA
STA SLCTMODE
CMP #1
BNE SETDSP6
JMP SCMENU
SETDSP6 JMP BNMENU
*
SELECTLIB JSR SELECTPOLY
BCC SLCTLIB2
TAY
JSR GETOBJ
LDA OBJID
CMP #<LIBOBJ
BEQ SLCTLIB3
SLCTLIB2 LDY #0
BEQ SLCTLIB4
SLCTLIB3 LDY NEXTOBJ
SLCTLIB4 RTS
*
SELECTAND LDY #6
LDA CURSORY
SLCTAND2 CMP TIMES15-1,Y
BCS SLCTLIB4
DEY
BPL SLCTAND2
*
TIMES15 HEX 000F1E2D3C4B
*
DISPLAYPOLY LDA CUROBJ
BEQ DSPLY2
LDY #9
LDA (LBASE),Y
AND #$7F
STA TEMP
AND #$0F
STA CURSCORE
JSR HLSCORE
LDA TEMP
LSR
LSR
LSR
LSR
STA CURNOISE
JSR HLNOISE
JSR GETBOUNDS
LDA PARAM
STA POLYB
LDA PARAM+1
SEC
SBC PARAM
CLC
ADC #1
STA POLYB+3
LDY PARAM+2
LDA DIV7,Y
STA POLYB+1
LDA MOD7,Y
STA POLYB+2
LDA PARAM+3
SEC
SBC PARAM+2
TAY
LDA DIV7,Y
STA POLYB+4
LDA MOD7,Y
STA POLYB+5
LDA #<POLYB
LDX #>POLYB
JSR DRAWRECT
DSPLY2 RTS
*
DISPLAYAND LDX CUROBJ
BEQ DSPLY2
*
LDY TIMES4-1,X
STY WIRE
LDA LOGIC,Y
BEQ DSAND2
LDY #2
JSR DRAWWIRE
DSAND2 INC WIRE
LDY WIRE
LDA LOGIC,Y
BEQ DSAND3
LDY #7
JSR DRAWWIRE
DSAND3 INC WIRE
LDY WIRE
LDA LOGIC,Y
BEQ DSAND4
LDY #12
JSR DRAWWIRE
DSAND4 INC WIRE
LDY WIRE
LDA LOGIC,Y
STA TEMP
AND #$0F
STA CURSCORE
JSR HLSCORE
LDA TEMP
AND #$80
STA BMULT
BPL DSAND5
LDA #<BMULTBOX
LDX #>BMULTBOX
JSR DRAWRECT
DSAND5 LDA TEMP
LSR
LSR
LSR
LSR
AND #$07
STA CURNOISE
JSR HLNOISE
*
LDY CUROBJ
LDA TIMES15-1,Y
STA ANDBOX
LDA #<ANDBOX
LDX #>ANDBOX
JMP DRAWRECT
*
HLSCORE BEQ HLSCR2
TAY
LDA SCVERT-1,Y
STA SCBOX
LDA #<SCBOX
LDX #>SCBOX
JMP DRAWRECT
HLSCR2 RTS
*
SCVERT HEX 0C16202A343E48525C66707A848E98
*
HLNOISE BEQ HLSCR2
TAY
LDA NVERT-1,Y
STA NBOX
LDA #<NBOX
LDX #>NBOX
JMP DRAWRECT
*
NVERT HEX 5C6A788694A2B0
*
DRAWWIRE STY CONTACTY
TAY
JSR GETOBJ
JSR GETBOUNDS
LDA PARAM+3
STA X1
LDA PARAM
STA Y1
LDA #160
STA X2
LDY CUROBJ
LDA TIMES15-1,Y
CLC
ADC CONTACTY
STA Y2
*
LDX X1
LDA DIV7,X
STA POLYB+1
LDA MOD7,X
STA POLYB+2
LDA X2
CLC
ADC X1
ROR
STA MIDX
SEC
SBC X1
TAX
LDA DIV7,X
STA POLYB+4
LDA MOD7,X
STA POLYB+5
LDA #<POLYB
LDX #>POLYB
JSR GETRECT
LDX Y1
JSR HLINE
*
LDX MIDX
LDA DIV7,X
STA POLYB+1
LDA MOD7,X
STA POLYB+2
LDA X2
SEC
SBC MIDX
TAX
LDA DIV7,X
STA POLYB+4
LDA MOD7,X
STA POLYB+5
LDA #<POLYB
LDX #>POLYB
JSR GETRECT
LDX Y2
JSR HLINE
*
LDA #<POLYB
LDX #>POLYB
JSR GETRECT
LDX Y1
LDY Y2
CPY Y1
BCS DRWIR2
LDX Y2
LDY Y1
DRWIR2 INX
DEY
STX TOP
STY BOTTOM
LDY LFTDIV7
LDX LFTMOD7
JMP VLINE
*
CLEARSB LDY #3
JSR SETMODE
LDA #<SCOREB
LDX #>SCOREB
JSR DRAWRECT
LDY #2
JMP SETMODE
*
SCMENU LDY #0
LDA #4
SCMENU2 STY XTEMP
STA CHAR+2
LDA #30
STA CHAR+3
LDA #0
STA CHAR+4
LDA TXTLO,Y
LDX TXTHI,Y
JSR PRINT
LDA CHAR+2
CLC
ADC #10
LDY XTEMP
INY
CPY #16
BNE SCMENU2
RTS
*
BNMENU LDY #0
LDA #4
BNMENU2 STY XTEMP
STA CHAR+2
LDA #30
STA CHAR+3
LDA #0
STA CHAR+4
LDA TXTLO+16,Y
LDX TXTHI+16,Y
JSR PRINT
LDA CHAR+2
CLC
ADC #10
LDY XTEMP
INY
CPY #16
BNE BNMENU2
LDA #$AA
STA CHAR+2
LDA #29
STA CHAR+3
LDA #4
STA CHAR+4
LDA #<BONUSX
LDX #>BONUSX
JMP PRINT
*
CMDMENU DA HANDB
DA INITHAND
DA PLIERB
DA INITPLIER
DA DRIVERB
DA INITDRIVER
DA QUITB
DA QUIT
HEX 00
*
* SOUND EFFECTS
*
SOUND LDA ETIMER
AND #$01
BEQ *+3
RTS
*
LDA SERIES
BMI SOUND5
SOUND1 CLC
ADC SLICE
TAX
STX STEMP
LDY EFFECTS,X
SOUND2 LDX NOTES-12,Y
BEQ SOUND4
SOUND3 PHA
PLA
DEX
BNE SOUND3
LDA $C030
INY
BNE SOUND2
SOUND4 INC SLICE
LDX STEMP
LDA EFFECTS+1,X
BNE SOUND5
*
INITSOUND LDY #$FF
STY SERIES
INY
STY SLICE
SOUND5 RTS
*
EFFECTS HEX 540C5400 ;0
HEX 0C1824303C485400 ;4
HEX 54483C3024180C00 ;12
HEX 540C540C540C540C0C243C54543C2400 ;20
HEX 0C1824303C4854483C303C483C303C483C303C00 ;36
HEX 0C1824303C485454483C3024180C1824303C4800 ;56
HEX 0C1824300C1824300C1824300C1824300C182400 ;76
*
NOTES HEX 103010301030103010301000 ;$0
HEX 183818381838183818381800 ;$0C
HEX 204020402040204020402000 ;$18
HEX 284828482848284828482800 ;$24
HEX 305030503050305030503000 ;$30
HEX 385838583858385838583800 ;$3C
HEX 406040604060406040604000 ;$48
HEX 486848684868486848684800 ;$54
*
TABLEB HEX 000000BF1506
*
KITB HEX 001600BF1106
*
TOOLB HEX 002400BF0306
*
HANDB HEX 0024000F0306
*
PLIERB HEX 102400120306
*
DRIVERB HEX 232400120306
*
QUITB HEX 3624000A0306
*
ANDB HEX 0117005A0306
ANDBOX HEX 0016050E0402
*
SCOREB HEX 041D00BB0506
SCBOX HEX 001D000A0403
SCBOX1 HEX 0C1D000A0403
SCBOX2 HEX 161D000A0403
SCBOX3 HEX 201D000A0403
SCBOX4 HEX 2A1D000A0403
SCBOX5 HEX 341D000A0403
SCBOX6 HEX 3E1D000A0403
SCBOX7 HEX 481D000A0403
SCBOX8 HEX 521D000A0403
SCBOX9 HEX 5C1D000A0403
SCBOX10 HEX 661D000A0403
SCBOX11 HEX 701D000A0403
SCBOX12 HEX 7A1D000A0403
SCBOX13 HEX 841D000A0403
SCBOX14 HEX 8E1D000A0403
SCBOX15 HEX 981D000A0403
*
BMULTBOX HEX A81D000A0603
*
NOTEB HEX 5C1800620206
NBOX HEX 0017030D0206
NBOX1 HEX 5C17030D0206
NBOX2 HEX 6A17030D0206
NBOX3 HEX 7817030D0206
NBOX4 HEX 8617030D0206
NBOX5 HEX 9417030D0206
NBOX6 HEX A217030D0206
NBOX7 HEX B017030D0206
*
QUITMSG HEX 1A1E129D
*
TXTLO DA <SCOREMSG
DA <SC1MSG
DA <SC2MSG
DA <SC3MSG
DA <SC4MSG
DA <SC5MSG
DA <SC6MSG
DA <SC7MSG
DA <SC8MSG
DA <SC9MSG
DA <SC10MSG
DA <SC11MSG
DA <SC12MSG
DA <SC13MSG
DA <SC14MSG
DA <SC15MSG
DA <BONUSMSG
DA <BN1MSG
DA <BN2MSG
DA <BN3MSG
DA <BN4MSG
DA <BN5MSG
DA <BN6MSG
DA <BN7MSG
DA <BN8MSG
DA <BN9MSG
DA <BN10MSG
DA <BN11MSG
DA <BN12MSG
DA <BN13MSG
DA <BN14MSG
DA <BN15MSG
*
TXTHI DA >SCOREMSG
DA >SC1MSG
DA >SC2MSG
DA >SC3MSG
DA >SC4MSG
DA >SC5MSG
DA >SC6MSG
DA >SC7MSG
DA >SC8MSG
DA >SC9MSG
DA >SC10MSG
DA >SC11MSG
DA >SC12MSG
DA >SC13MSG
DA >SC14MSG
DA >SC15MSG
DA >BONUSMSG
DA >BN1MSG
DA >BN2MSG
DA >BN3MSG
DA >BN4MSG
DA >BN5MSG
DA >BN6MSG
DA >BN7MSG
DA >BN8MSG
DA >BN9MSG
DA >BN10MSG
DA >BN11MSG
DA >BN12MSG
DA >BN13MSG
DA >BN14MSG
DA >BN15MSG
*
SCOREMSG HEX 1C0C181B8E
SC1MSG HEX 0180
SC2MSG HEX 0280
SC3MSG HEX 0380
SC4MSG HEX 0480
SC5MSG HEX 0580
SC6MSG HEX 010080
SC7MSG HEX 010580
SC8MSG HEX 020080
SC9MSG HEX 020580
SC10MSG HEX 030080
SC11MSG HEX 040080
SC12MSG HEX 050080
SC13MSG HEX 070580
SC14MSG HEX 01000080
SC15MSG HEX 01050080
*
BONUSMSG HEX 0B18171E9C
BN1MSG HEX 0194
BN2MSG HEX 0294
BN3MSG HEX 0394
BN4MSG HEX 0494
BN5MSG HEX 0594
BN6MSG HEX 0694
BN7MSG HEX 0794
BN8MSG HEX 0894
BN9MSG HEX 0994
BN10MSG HEX 010094
BN11MSG HEX 020094
BN12MSG HEX 030094
BN13MSG HEX 040094
BN14MSG HEX 050094
BN15MSG HEX 01000094
*
BONUSX HEX 0B18171E1CA1
*
HAND DA *+7
HEX 0225010C02
HEX 030006000C00180C
HEX 34067C067E077E07
HEX 7C0B780D70060003
*
PLIER DA *+7
HEX 1224060F03
HEX 3800006000004601005C0300
HEX 707C0F400338000360000300
HEX 000300000300000300000300
HEX 000300000600000C00
*
SCREWDRIVER DA *+7
HEX 2526001001
HEX 0606060606060606
HEX 090F0F0F0F0F0F06
*
ANDGATE DA *+7
HEX 0017000D04
HEX 4F7F03007F010E004F01180040013000
HEX 400160004F0160787F01607F4F016078
HEX 40016000400130004F0118007F010E00
HEX 4F7F0300
*
NOTE DA *+7
HEX 0018000C01
HEX 70107010101010101E1F1F0E