|
|
This page contains no introduction. |
Source Code#
Bits and pieces of code are strewn throughout the disk. They can be found in the .ipf dump at the hex addresses listed below.
0x05B073:
E.B D2,SOLIDD
LSR.W #8,D2
MOVEQ #0,D1
MOVEQ #0,D5
MOVE.B (A5),D5
LSL.W #8,D5
MOVE.L #SHAP_T,A1
SWAP D1
SWAP D2
SWAP D5
MOVE.B 19(A5),D2
CMP.B #128,D2
BCC SOLIEND
0x05B177:
CLR.W D5
MOVE.B D2,D5
CMP.B #80,D2
BCS SOLN_8
SUB.B #79,D2
SOLN_7 SWAP D1
SWAP D2
SWAP D5
MOVEQ #0,D6
ADD.B SOLIDD,D1
BCC SOLN80
MOVEQ #1,D6
SOLN80 MOVE.B D5,D0
ADD.B D6,D0
BVS SOLN90
* BCS SOLN90
ADD.B D2,D0
BVS SOLN90
* BCS SOLN90
MOVE.B D0,D5
SOLN90 MOVE SR,D7
SWAP D1
SWAP D2
SWAP D5
MOVE D7,CCR
BVS SOLIEND
* BCS SOLIEND
SUBQ.B #1,D2
BNE SOLN_7
SWAP D5
MOVE.B 0(A1,D5.W),D0
SWAP D5
TST.B D0
BEQ SOLIEND
MOVE.L #BSCREE+79*128,A3
BRA SOLN
0x60938:
MOVE.L A3,D7
AND.B #$80,D7
SUB.L #128,D7
MOVE.L D7,A3
CMP.L #BSCREE,D7
MOVE SR,D7
SWAP D1
SWAP D2
MOVE D7,CCR
BCS DOOREND
SUB.B #1,D2
BNE DOOR_8
SWAP D1
SWAP D2
0x60A39:
BSR DO_LI
SWAP D1
SWAP D2
RTS
DO_EDGE DC.L 0
DO_CE MOVEQ #0,D0
MOVE.B DO_CRO,D0
MOVE.B D0,D3
AND.B #$FC,D0
ADD.W D0,A3
MOVE.B D3,D0
AND.W #3,D0
ADD.B D0,D0
ADD.B D0,D0
MOVE.L 0(A0,D0.W),D4
MOVE.B D1,D3
TST.B D3
BEQ DO_CE3
MOVE.L #$00FFFFFF,DO_EDGE
DO_C10 MOVE.L D4,D0
MOVE.L D4,D7
CMP.B #4,D3
BCS DO_CE2
SUBQ.B #1,D3
AND.L DO_EDGE,D7
NOT.L D0
AND.L (A3),D0
OR.L D7,D0
MOVE.L D0,(A3)
MOVE.L #$FF00FF00,DO_EDGE
ROR.L #2,D4
BCC DO_C10
ADDQ.L #4,A3
MO