123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554 |
- ************************************************************************
- * *
- * 044 [ART OF FIGHT] *
- * BACK (SCROLL) PROGRAM *
- * by S.OKADA from 91/09/20 Fri 13:32 *
- * *
- ************************************************************************
- XDEF BACK2_INIT
- XDEF BACK2_SCROLL_SET
- XDEF BACK2_SCROLL_WRITE
- XDEF BEFOR_SCROLL
- XDEF BACK2_CENTOR
- XREF ?A5
- SECT GAME,,C
- INCLUDE SYS.INC
- INCLUDE NEO_GEO.INC
- INCLUDE LABEL.INC
- INCLUDE HFLAG.INC
- INCLUDE SMACRO.INC
- INCLUDE SCODE.INC
- ;
- ;
- ; *** scroll value calculate ***
- ;
- ;
- ;*** constant table ***
- XDEF GL
- Hx EQU 320/2 display width x / 2
- Hy EQU 256/2 display width y / 2
- DR_BIG EQU 0C0H display max hero distance
- DR_SMALL EQU 0B8H display max hero distance
- ;DR_SMALL EQU 0B0H display max hero distance
- DE_Lim EQU 40H display edge limit
- BLim EQU 190 reduction minimum (>128)
- GL EQU 50H map ground line
- FE EQU -20H normal display bottom to GL
- ;FE EQU 10H normal display bottom to GL
- FU EQU 60H 1/2 size GL to display bottom
- BIG_MOVE EQU 5
- BIG_MOVE_N EQU 3
- YLim EQU BLim+((256-BLim)*1)/4
- Y_SCROLL_MAX EQU 128
- Y_SCROLL_MIN EQU -18H ;-30H
- Y_SCROLL_SP EQU 5
- BACK2_CENTOR:
- LEA.L BACK2(A5),A6
- CLR.W Z_POSITION(A6)
- MOVE.W #100H,D4
- MOVE.W D4,BIG_X(A6)
- BSR GET_Lxy
- MOVE.W #180H,REG_D0(A5)
- BSR GET_WINDOW_POSITION
- BSR GET_WINDOW_WIDTH
- BSR GET_WINDOW_EDGE
- BSR GET_SCROLL_LSPC
- BSR BACK2_BUFFER_IN
- RTS
- BACK2_SCROLL_SET:
- LEA.L BACK2(A5),A6
- BSR Y_SCROLL
- BSR GET_SCROLL_BIG
- BSR GET_Lxy
- BSR GET_Tx
- BSR GET_WINDOW_POSITION
- BSR GET_WINDOW_WIDTH
- BSR GET_WINDOW_EDGE
- BSR GET_SCROLL_LSPC
- BACK2_SCROLL_SET_1:
- BSR WINDOW_X_PAR_SET
- BSR BACK2_BUFFER_IN
- LEA.L HERO1(A5),A6
- BSR AREA_POS_SET
- LEA.L HERO2(A5),A6
- BSR AREA_POS_SET
- RTS
- Z_DOWN:
- SUB.W #72,D0
- BGE.S Z_DOWN_1
- MOVEQ.L #0,D0
- Z_DOWN_1:
- RTS
- Y_SCROLL:
- MOVEQ.L #0,D3
- MOVEQ.L #0,D4
- BSR DOWN_SCROLL
- BNE Y_SCROLL_2
- MOVE.W HERO1+Z_POSITION(A5),D0
- BSR Z_DOWN
- CMP.W D0,D4
- BGT.S Y_SCROLL_1
- MOVE.W D0,D4
- MOVE.W HERO1+VZ(A5),D3
- Y_SCROLL_1:
- MOVE.W HERO2+Z_POSITION(A5),D0
- BSR Z_DOWN
- CMP.W D0,D4
- BGT.S Y_SCROLL_2
- MOVE.W D0,D4
- MOVE.W HERO2+VZ(A5),D3
- Y_SCROLL_2:
- CMP.W #Y_SCROLL_MAX,D4
- BLE.S Y_SCROLL_3
- MOVE.W #Y_SCROLL_MAX,D4
- Y_SCROLL_3:
- MOVE.W Z_POSITION(A6),D0
- CMP.W D0,D4
- BEQ.S Y_SCROLL_6
- BGT.S Y_SCROLL_7
- MOVE.W D4,D3
- SUB.W D0,D3
- ASR.W #3,D3
- CMP.W #-Y_SCROLL_SP,D3
- BLT.S Y_SCROLL_4
- MOVEQ.L #-Y_SCROLL_SP,D3
- Y_SCROLL_4:
- ADD.W D3,D0
- CMP.W D0,D4
- BLT.S Y_SCROLL_5
- MOVE.W D4,D0
- Y_SCROLL_5:
- MOVE.W D0,Z_POSITION(A6)
- Y_SCROLL_6:
- RTS
- Y_SCROLL_7:
- MOVE.W D4,D3
- SUB.W D0,D3
- ASR.W #4,D3
- CMP.W #Y_SCROLL_SP,D3
- BGT.S Y_SCROLL_8
- MOVEQ.L #Y_SCROLL_SP,D3
- Y_SCROLL_8:
- ADD.W D3,D0
- CMP.W D0,D4
- BGT.S Y_SCROLL_9
- MOVE.W D4,D0
- Y_SCROLL_9:
- MOVE.W D0,Z_POSITION(A6)
- RTS
- DOWN_SCROLL:
- LEA.L HERO1(A5),A4
- BSR DOWN_SCROLL_1
- BNE.S DOWN_SCROLL_3
- LEA.L HERO2(A5),A4
- DOWN_SCROLL_1:
- MOVE.W PLAYER_No+PLAYER_OFFSET(A4),D0
- BTST.B D0,MOVE_DIR(A6)
- BEQ.S DOWN_SCROLL_2
- TST.W Z_POSITION(A4)
- BGT.S DOWN_SCROLL_2
- MOVEQ.L #0,D4
- DOWN_SCROLL_11:
- MOVEQ.L #1,D0
- RTS
- DOWN_SCROLL_2:
- MOVEQ.L #0,D0
- DOWN_SCROLL_3:
- RTS
- GET_SCROLL_BIG:
- ; STEP1 0:normal
- ; 1:to small
- ; 2:small
- ; 3:to normal
- MOVEQ.L #0,D0
- MOVE.B STEP1(A6),D0
- ADD.W D0,D0
- ADD.W D0,D0
- JMP GET_BIG_VECTOR(PC,D0.W)
- GET_BIG_VECTOR:
- JMP GSB_NORMAL(PC)
- JMP GSB_TO_SMALL(PC)
- JMP GSB_SMALL(PC)
- JMP GSB_TO_NORMAL(PC)
- GSB_NORMAL:
- MOVE.W #100H,D4
- MOVE.W D4,BIG_X(A6)
- RTS
- GSB_TO_SMALL:
- MOVE.W BIG_X(A6),D4
- SUBQ.W #BIG_MOVE,D4
- CMP.W #BLim,D4
- BHI.S GSB_TO_SMALL_1
- MOVE.B #2,STEP1(A6)
- MOVE.W #BLim,D4
- GSB_TO_SMALL_1:
- MOVE.W D4,BIG_X(A6)
- RTS
- GSB_SMALL:
- MOVE.W #BLim,D4
- TST.B MASTER_REQUEST(A6)
- BNE.S GSB_SMALL_2
- MOVE.W HERO1+X_POSITION(A5),D0
- SUB.W HERO2+X_POSITION(A5),D0
- BPL.S GSB_SMALL_1
- NEG.W D0
- GSB_SMALL_1:
- CMP.W #DR_SMALL,D0
- BCC GSB_SMALL_3
- GSB_SMALL_2:
- MOVE.B #3,STEP1(A6)
- GSB_SMALL_3:
- MOVE.W D4,BIG_X(A6)
- RTS
- GSB_TO_NORMAL:
- TST.B MASTER_REQUEST(A6)
- BNE.S GSB_TO_NORMAL_2
- MOVE.W HERO1+X_POSITION(A5),D0
- ADD.W HERO2+X_POSITION(A5),D0
- LSR.W #1,D0
- MOVE.W D0,Tx(A6)
- GSB_TO_NORMAL_2:
- MOVE.W BIG_X(A6),D4
- ADDQ.W #BIG_MOVE_N,D4
- CMP.W #100H,D4
- BLO.S GSB_TO_NORMAL_1
- MOVE.W #100H,D4
- MOVE.B #0,STEP1(A6)
- GSB_TO_NORMAL_1:
- MOVE.W D4,BIG_X(A6)
- RTS
- GET_Lxy:
- MOVE.W D4,D0
- SUB.W #128,D0
- MULS.W #(FE+FU-Hy),D0
- ASR.L #7,D0
- ADD.W #GL-FU+Hy*2,D0
- MOVE.W D0,Ly(A6)
- RTS
- SPx_MAX EQU 6
- GET_Tx:
- TST.B STEP1(A6)
- BNE.S GET_Tx_000
- TST.B MASTER_REQUEST(A6)
- BEQ.S GET_Tx_000
- MOVE.L WIN_PLAYER(A5),A0
- LEA.L HERO_OFFSET(A0),A0
- TST.B MASTER_REQUEST(A6)
- BPL.S GET_Tx_001
- MOVE.L ANOTHER_PLAYER(A0),A0
- GET_Tx_001:
- MOVE.W X_POSITION(A0),Tx(A6)
- GET_Tx_000:
- MOVE.W Tx(A6),D0
- MOVE.W D0,REG_D0(A5)
- MOVE.W Lx(A6),D1
- SUB.W D1,D0
- BEQ GET_Tx_9
- BMI GET_Tx_10
- CMP.W #SPx_MAX,D0
- BCS.S GET_Tx_1
- MOVEQ.L #SPx_MAX,D0
- GET_Tx_1:
- ADD.W D0,D1
- MOVE.W D1,REG_D0(A5)
- GET_Tx_9:
- RTS
- GET_Tx_10:
- CMP.W #-SPx_MAX,D0
- BGT.S GET_Tx_11
- MOVEQ.L #-SPx_MAX,D0
- GET_Tx_11:
- ADD.W D0,D1
- MOVE.W D1,REG_D0(A5)
- RTS
- GET_WINDOW_POSITION:
- MOVE.W REG_D0(A5),D0
- MOVE.L #Hx*256,D1
- BSR GWP_SUB
- MOVE.W D0,REG_D1(A5)
- MOVE.W Ly(A6),D0
- MOVE.L #Hy*256,D1
- BSR GWP_SUB
- MOVE.W D0,Wy(A6)
- RTS
- GWP_SUB:
- DIVU D4,D1
- SUB.W D1,D0
- RTS
- GET_SCROLL_LSPC:
- MOVE.W Wx(A6),D1
- AND.W #0FFF0H,D1
- MOVE.W Lx(A6),D0
- SUB.W D1,D0
- MULS D4,D0
- ASR.L #8,D0
- NEG.L D0
- ADD.W #Hx,D0
- MOVE.W D0,REL_X(A6)
- MOVE.W Z_POSITION(A6),D0
- MOVE.W D4,D1
- SUB.W #YLim,D1
- BPL.S GET_SCROLL_LSPC_1
- MOVEQ.L #0,D1
- GET_SCROLL_LSPC_1:
- MULS D1,D0
- DIVS #256-YLim,D0
- MOVE.W D0,Z_POSITION+2(A6)
- NEG.W D0
- ADD.W #100H,D0
- SUB.W Wy(A6),D0
- MULS D4,D0
- ASR.L #8,D0
- ADD.W #100H,D0
- MOVE.W D0,REL_Y(A6)
- RTS
- GSL_SUB:
- SUB.W D1,D0
- MULS D4,D0
- ASR.L #8,D0
- NEG.L D0
- RTS
- GET_WINDOW_WIDTH:
- TST.B D4
- BEQ.S GWW_NORMAL
- MOVE.L #Hx*2*256,D0
- DIVU D4,D0
- MOVE.W D0,WIDTH_X(A6)
- MOVE.L #Hy*2*256,D0
- DIVU D4,D0
- MOVE.W D0,WIDTH_Y(A6)
- RTS
- GWW_NORMAL:
- MOVE.W #Hx*2,WIDTH_X(A6)
- MOVE.W #Hy*2,WIDTH_Y(A6)
- RTS
- GET_WINDOW_EDGE:
- MOVE.W WIDTH_Y(A6),D0
- ; ADD.W REG_D2(A5),D0
- ADD.W Wy(A6),D0
- MOVE.W D0,WyUP(A6)
- MOVE.W REG_D1(A5),D0
- BMI.S NON_SCROLL_MI
- ADD.W WIDTH_X(A6),D0
- CMP.W #300H,D0
- BHI.S NON_SCROLL_PL
- MOVE.W REG_D0(A5),Lx(A6)
- MOVE.W D0,WxRIGHT(A6)
- MOVE.W REG_D1(A5),Wx(A6)
- TST.B MASTER_REQUEST(A6)
- BEQ TARGET_ON_2
- TST.B STEP1(A6)
- BNE TARGET_ON_2
- MOVE.L WIN_PLAYER(A5),A0
- LEA.L HERO_OFFSET(A0),A0
- TST.B MASTER_REQUEST(A6)
- BPL.S TARGET_ON_1
- MOVE.L ANOTHER_PLAYER(A0),A0
- TARGET_ON_1:
- MOVE.W X_POSITION(A0),D0
- CMP.W Lx(A6),D0
- BNE.S TARGET_ON_2
- BCLR.B #0,MASTER_REQUEST(A6)
- TARGET_ON_2:
- RTS
- NON_SCROLL_MI:
- MOVE.W D4,D0
- JSR GET_Hx_LIMIT(PC)
- MOVE.W D1,Lx(A6)
- ADD.W D1,D1
- MOVE.W D1,WxRIGHT(A6)
- MOVE.W #0,Wx(A6)
- BSR TARGET_LIMIT
- RTS
- NON_SCROLL_PL:
- MOVE.W #300H,D2
- MOVE.W D2,WxRIGHT(A6)
- MOVE.W D4,D0
- JSR GET_Hx_LIMIT(PC)
- SUB.W D1,D2
- MOVE.W D2,Lx(A6)
- SUB.W D1,D2
- MOVE.W D2,Wx(A6)
- TARGET_LIMIT:
- TST.B STEP1(A6)
- BNE TARGET_LIMIT_1
- BCLR.B #0,MASTER_REQUEST(A6)
- TARGET_LIMIT_1:
- RTS
- GET_Hx_LIMIT:
- SUB.W #BLim,D0
- ADD.W D0,D0
- MOVE.W Hx_LIMIT(PC,D0.W),D1
- RTS
- Hx_LIMIT:
- DDR SET BLim
- REPT 257-BLim
- DC.W (Hx*256)/DDR
- DDR SET DDR+1
- ENDR
- WINDOW_X_PAR_SET:
- MOVE.W BIG_X+BACK2(A5),D0
- JSR GET_Hx_LIMIT(PC)
- MOVE.W Lx+BACK2(A5),D0
- SUB.W D1,D0
- MOVE.W D0,WINDOW_LEFT+BACK2(A5)
- ADD.W #64,D0
- MOVE.W D0,DISP_LEFT+BACK2(A5)
- ADD.W #32,D0
- MOVE.W D0,TRI_LEFT+BACK2(A5)
- ADD.W Lx+BACK2(A5),D1
- MOVE.W D1,WINDOW_RIGHT+BACK2(A5)
- SUB.W #64,D1
- MOVE.W D1,DISP_RIGHT+BACK2(A5)
- SUB.W #32,D1
- MOVE.W D1,TRI_RIGHT+BACK2(A5)
- RTS
- AREA_POS_SET:
- MOVEP.W WORK_N0(A6),D0
- CLR.B D0
- MOVE.L VX(A5,D0.W),D0
- ADD.L X_POSITION(A6),D0
- SWAP D0
- MOVEQ.L #4,D3
- CMP.W DISP_LEFT+BACK2(A5),D0
- BCS.S AREA_POS_SET_1
- MOVEQ.L #2,D3
- CMP.W TRI_LEFT+BACK2(A5),D0
- BCS.S AREA_POS_SET_1
- MOVEQ.L #0,D3
- CMP.W TRI_RIGHT+BACK2(A5),D0
- BCS.S AREA_POS_SET_1
- MOVEQ.L #3,D3
- CMP.W DISP_RIGHT+BACK2(A5),D0
- BCS.S AREA_POS_SET_1
- MOVEQ.L #5,D3
- AREA_POS_SET_1:
- MOVE.B D3,AREA_POSITION(A6)
- RTS
- BEFOR_SCROLL:
- TST.B MASTER_REQUEST+BACK2(A5)
- BNE.S BEFOR_SCROLL_1
- BSR NAGE_MOVE
- BSR GET_HERO_LR
- BSR BODY_HIT
- BSR GET_SCROLL_LIMIT
- BSR PLAYER_SCROLL
- BSR GET_SCROLL_TARGET
- BEFOR_SCROLL_1:
- RTS
- NAGE_MOVE:
- LEA.L HERO1(A5),A6
- BSR NAGE_MOVE_1
- LEA.L HERO2(A5),A6
- NAGE_MOVE_1:
- BTST.B #BHSS_NAGERARE,STATE(A6)
- BEQ NAGE_MOVE_100
- BTST.B #BHS_JUMP,HERO_STATE(A6)
- BNE NAGE_MOVE_100
- MOVEP.W WORK_N0(A6),D0
- CLR.B D0
- LEA.L 0(A5,D0.W),A4
- MOVE.L VX(A4),D0
- ADD.L X_POSITION(A4),D0
- CMP.L #DE_Lim*10000H,D0
- BCC.S NAGE_MOVE_2
- SUB.L #DE_Lim*10000H,D0
- BRA NAGE_MOVE_3
- NAGE_MOVE_2:
- SUB.L #3000000H-DE_Lim*10000H,D0
- BLE.S NAGE_MOVE_100
- NAGE_MOVE_3:
- MOVE.L ANOTHER_PLAYER(A6),A0
- MOVEP.W WORK_N0(A0),D1
- CLR.B D1
- NEG.L D0
- MOVE.L D0,VX(A5,D1.W)
- NAGE_MOVE_100:
- RTS
- GET_SCROLL_TARGET:
- TST.W REG_D1(A5)
- BEQ.S GST_1
- ; TST.B ST_BACK_FLAG(A5)
- ; BNE.S GST_001
- MOVE.B #1,STEP1+BACK2(A5)
- GST_001:
- MOVE.W Lx+BACK2(A5),Tx+BACK2(A5)
- RTS
- GST_1:
- MOVE.W Lx+BACK2(A5),D0
- ADD.W REG_D0(A5),D0
- MOVE.W D0,Tx+BACK2(A5)
- RTS
- PLAYER_SCROLL:
- CLR.W REG_D0(A5)
- CLR.W REG_D1(A5)
- CLR.B LIMIT_STOP+PLAYER1(A5)
- CLR.B LIMIT_STOP+PLAYER2(A5)
- MOVEQ.L #0,D0
- MOVE.B PHASE(A5),D0
- ADD.W D0,D0
- ADD.W D0,D0
- MOVE.L PS_VECTOR(PC,D0.W),A0
- JMP (A0)
- PS_VECTOR:
- DC.L PS_1P2P
- DC.L PS_1P2P
- DC.L PS_1P2P
- DC.L PS_1P2P
- ; DC.L PS_1P2P
- ; DC.L PS_1P2C
- ; DC.L PS_1C2P
- ; DC.L PS_1P2P
- PS_1P2C:
- LEA.L HERO1(A5),A3
- LEA.L HERO2(A5),A4
- JMP PS_PC(PC)
- PS_1C2P:
- LEA.L HERO1(A5),A4
- LEA.L HERO2(A5),A3
- PS_PC:
- LEA.L (A4),A6
- BSR MAP_CHECK
- LEA.L (A3),A6
- BSR MAP_CHECK
- BSR SCR_DELTA_FREE
- LEA.L (A4),A6
- BSR SCR_DELTA_LIMIT
- RTS
- PS_1P2P:
- LEA.L HERO1(A5),A6
- BSR MAP_CHECK
- LEA.L HERO2(A5),A6
- BSR MAP_CHECK
- BSR SCR_DELTA_LIMIT
- LEA.L HERO1(A5),A6
- BSR SCR_DELTA_LIMIT
- RTS
- MAP_CHECK:
- MOVEP.W WORK_N0(A6),D0
- CLR.B D0
- LEA.L 0(A5,D0.W),A0
- MOVE.L X_POSITION(A6),D2
- MOVE.L D2,D1
- ADD.L VX(A0),D1
- CMP.L #DE_Lim*10000H,D1
- BGE.S MAP_CHECK_0
- MOVE.B #4,LIMIT_STOP+PLAYER_OFFSET(A6)
- MOVE.L #DE_Lim*10000H,D2
- MOVE.L X_POSITION(A6),D0
- BRA MAP_FLIP
- RTS
- MAP_CHECK_0:
- CMP.L #3000000H-DE_Lim*10000H,D1
- BLT.S MAP_CHECK_1
- MOVE.B #8,LIMIT_STOP+PLAYER_OFFSET(A6)
- MOVE.L #3000000H-DE_Lim*10000H,D2
- MOVE.L X_POSITION(A6),D0
- MAP_FLIP:
- SUB.L D2,D0
- NEG.L D0
- MOVE.L VX(A0),D3
- MOVE.L D0,VX(A0)
- BTST.B #BHS_DAMAGE,HERO_STATE(A6)
- BEQ.S MAP_FLIP_1
- BTST.B #BHS_JUMP,HERO_STATE(A6)
- BNE.S MAP_FLIP_1
- NEG.L D3
- ; ADD.L D3,D3
- MOVE.L ANOTHER_PLAYER(A6),A1
- MOVEP.W WORK_N0(A1),D0
- CLR.B D0
- ADD.L D3,VX(A5,D0.W)
- MAP_FLIP_1:
- MAP_CHECK_1:
- RTS
- SCR_DELTA_LIMIT:
- MOVEP.W WORK_N0(A6),D0
- CLR.B D0
- LEA.L 0(A5,D0.W),A0
- MOVE.L X_POSITION(A6),D2
- MOVE.L VX(A0),D4
- ADD.L D4,D2
- SWAP D2
- CMP.W DISP_LEFT+BACK2(A5),D2
- BLT.S SDL_LEFT
- CMP.W DISP_RIGHT+BACK2(A5),D2
- BLE.S SDL_R_5
- SUB.W DISP_RIGHT+BACK2(A5),D2
- CMP.W SL_RIGHT+BACK2(A5),D2
- BLE SDL_R_3
- TST.B STEP1+BACK2(A5)
- BEQ SDL_R_6
- TST.L D4
- BLE SDL_R_2
- MOVE.W DISP_RIGHT+BACK2(A5),D0
- SUB.W X_POSITION(A6),D0
- BGE SDL_R_1
- MOVE.B #8,LIMIT_STOP+PLAYER_OFFSET(A6)
- MOVEQ.L #0,D0
- SDL_R_1:
- SWAP D0
- CLR.W D0
- CMP.L D0,D4
- BLT.S SDL_R_2
- MOVE.L D0,VX(A0)
- SDL_R_2:
- MOVE.W SL_RIGHT+BACK2(A5),D2
- SDL_R_3:
- TST.W REG_D0(A5)
- BLT SDL_R_7
- SDL_R_4:
- ADD.W D2,REG_D0(A5)
- SUB.W D2,SL_LEFT+BACK2(A5)
- SUB.W D2,SL_RIGHT+BACK2(A5)
- SDL_R_5:
- RTS
- SDL_R_6:
- MOVE.W #1,REG_D1(A5)
- RTS
- SDL_R_7:
- TST.W VX(A0)
- BLE.S SDL_R_8
- CLR.L VX(A0)
- SDL_R_8:
- RTS
- SDL_LEFT:
- SUB.W DISP_LEFT+BACK2(A5),D2
- CMP.W SL_LEFT+BACK2(A5),D2
- BGE SDL_L_3
- TST.B STEP1+BACK2(A5)
- BEQ SDL_L_6
- TST.L D4
- BGE SDL_L_2
- MOVE.W DISP_LEFT+BACK2(A5),D0
- SUB.W X_POSITION(A6),D0
- BLE SDL_L_1
- MOVE.B #4,LIMIT_STOP+PLAYER_OFFSET(A6)
- MOVEQ.L #0,D0
- SDL_L_1:
- SWAP D0
- CLR.W D0
- CMP.L D0,D4
- BGT.S SDL_L_2
- MOVE.L D0,VX(A0)
- SDL_L_2:
- MOVE.W SL_LEFT+BACK2(A5),D2
- SDL_L_3:
- TST.W REG_D0(A5)
- BGT SDL_L_7
- SDL_L_4:
- ADD.W D2,REG_D0(A5)
- SUB.W D2,SL_LEFT+BACK2(A5)
- SUB.W D2,SL_RIGHT+BACK2(A5)
- SDL_L_5:
- RTS
- SDL_L_6:
- MOVE.W #1,REG_D1(A5)
- RTS
- SDL_L_7:
- TST.W VX(A0)
- BLE.S SDL_L_8
- CLR.L VX(A0)
- SDL_L_8:
- RTS
- SCR_DELTA_FREE:
- MOVEP.W WORK_N0(A6),D0
- CLR.B D0
- LEA.L 0(A5,D0.W),A0
- MOVE.L X_POSITION(A6),D2
- MOVE.L VX(A0),D4
- ADD.L D4,D2
- SWAP D2
- CMP.W DISP_LEFT+BACK2(A5),D2
- BLT.S SDF_LEFT
- CMP.W DISP_RIGHT+BACK2(A5),D2
- BLE.S SDF_R_3
- SUB.W DISP_RIGHT+BACK2(A5),D2
- CMP.W SL_RIGHT+BACK2(A5),D2
- BLE SDF_R_1
- TST.B STEP1+BACK2(A5)
- BEQ SDF_R_4
- SDF_R_1:
- MOVE.W D2,REG_D0(A5)
- SUB.W D2,SL_LEFT+BACK2(A5)
- SUB.W D2,SL_RIGHT+BACK2(A5)
- SDF_R_3:
- RTS
- SDF_R_4:
- MOVE.W #1,REG_D1(A5)
- RTS
- SDF_LEFT:
- SUB.W DISP_LEFT+BACK2(A5),D2
- CMP.W SL_LEFT+BACK2(A5),D2
- BGE SDF_L_1
- TST.B STEP1+BACK2(A5)
- BEQ SDF_L_4
- SDF_L_1:
- MOVE.W D2,REG_D0(A5)
- SUB.W D2,SL_LEFT+BACK2(A5)
- SUB.W D2,SL_RIGHT+BACK2(A5)
- SDF_L_3:
- RTS
- SDF_L_4:
- MOVE.W #1,REG_D1(A5)
- RTS
- GET_SCROLL_LIMIT:
- MOVE.W X_POSITION(A1),D0
- SUB.W DISP_RIGHT+BACK2(A5),D0
- BLE.S GSL_1
- MOVEQ.L #0,D0
- GSL_1:
- MOVE.W D0,SL_LEFT+BACK2(A5)
- MOVE.W X_POSITION(A0),D0
- SUB.W DISP_LEFT+BACK2(A5),D0
- BGE.S GSL_2
- MOVEQ.L #0,D0
- GSL_2:
- MOVE.W D0,SL_RIGHT+BACK2(A5)
- RTS
- BODY_HIT:
- IFNE 0
- A0 A2 A4 left hero lwork body body_hit
- A1 A3 A6 right hero lwork body body_hit
- VX result
- left right left right
- 0 0 * 0 0
- 0 + 0 RVX
- 0 - * RVX/2 RVX/2
- + 0 * LVX/2 LVX/2
- + + LVX RVX (LVX<RVX)
- RVX RVX (LVX=>RVX)
- + - LVX/2 (LVX<-RVX)
- RVX/2 (LVX=>-RVX)
- - 0 LVX 0
- - + LVX RVX
- - - LVX RVX (LVX<RVX)
- LVX LVX (LVX=>RVX)
- ENDC
- BTST.B #BHSS_NAGERARE,STATE(A0)
- BNE BODY_HIT_NON
- BTST.B #BHSS_NAGERARE,STATE(A1)
- BNE BODY_HIT_NON
- MOVEP.W WORK_N0(A0),D0
- CLR.B D0
- LEA.L 0(A5,D0.W),A2
- TST.L VZ(A2)
- BGT BODY_HIT_NON
- MOVEP.W WORK_N0(A2),D0
- CLR.B D0
- MOVE.B WORK_N1(A5,D0.W),(A5)
- MOVE.W (A5),D0
- LEA.L 0(A5,D0.W),A4
- MOVEP.W WORK_N0(A1),D0
- CLR.B D0
- LEA.L 0(A5,D0.W),A3
- TST.L VZ(A3)
- BGT BODY_HIT_NON
- MOVEP.W WORK_N0(A3),D0
- CLR.B D0
- MOVE.B WORK_N1(A5,D0.W),(A5)
- MOVE.W (A5),D0
- LEA.L 0(A5,D0.W),A6
- MOVE.W VX(A2),D2
- MOVE.W VX(A3),D3
- MOVE.W HIT_LEFT(A4),D0
- ADD.W D2,D0
- MOVE.W HIT_RIGHT(A6),D1
- ADD.W D3,D1
- CMP.W D1,D0
- BGT BODY_HIT_NON
- MOVEQ.L #0,D6
- MOVE.W HIT_RIGHT(A4),D6
- ADD.W D2,D6
- MOVE.W HIT_LEFT(A6),D1
- ADD.W D3,D1
- SUB.W D1,D6 D6 over size
- BLT BODY_HIT_NON
- MOVE.W VZ(A2),D4
- MOVE.W VZ(A3),D5
- MOVE.W HIT_UPPER(A4),D0
- ADD.W D4,D0
- MOVE.W HIT_LOWER(A6),D1
- ADD.W D5,D1
- CMP.W D1,D0
- BLT BODY_HIT_NON
- MOVE.W HIT_LOWER(A4),D0
- ADD.W D4,D0
- MOVE.W HIT_UPPER(A6),D1
- ADD.W D5,D1
- CMP.W D1,D0
- BGT BODY_HIT_NON
- BSR GET_BODY_MOVE
- BSR DAM_STOP
- MOVE.L X_POSITION(A1),D0
- ADD.L D3,D0
- SUB.L #3000000H-DE_Lim*10000H,D0
- BLE.S BODY_HIT_1
- SUB.L D0,D3
- SUB.L D0,D2
- BODY_HIT_1:
- MOVE.L X_POSITION(A0),D0
- ADD.L D2,D0
- SUB.L #DE_Lim*10000H,D0
- BGE.S BODY_HIT_2
- SUB.L D0,D3
- SUB.L D0,D2
- BODY_HIT_2:
- MOVE.L D2,VX(A2)
- MOVE.L D3,VX(A3)
- BODY_HIT_NON:
- RTS
- DAM_STOP:
- BTST.B #BHS_DAMAGE,HERO_STATE(A0)
- BEQ.S DAM_STOP_1
- TST.L VX(A2)
- BNE.S DAM_STOP_1
- SUB.L D2,D3
- MOVEQ.L #0,D2
- DAM_STOP_1:
- BTST.B #BHS_DAMAGE,HERO_STATE(A1)
- BEQ.S DAM_STOP_2
- TST.L VX(A3)
- BNE.S DAM_STOP_2
- SUB.L D3,D2
- MOVEQ.L #0,D3
- DAM_STOP_2:
- RTS
- GET_BODY_MOVE:
- MOVEQ.L #0,D0
- MOVE.L VX(A2),D2
- BEQ.S GBM_2
- BMI.S GBM_1
- MOVEQ.L #3*4,D0
- BRA.S GBM_2
- GBM_1:
- MOVEQ.L #6*4,D0
- GBM_2:
- MOVE.L VX(A3),D3
- BEQ.S GBM_4
- BMI.S GBM_3
- ADDQ.W #4,D0
- BRA.S GBM_4
- GBM_3:
- ADDQ.W #8,D0
- GBM_4:
- JMP GBM_TBL(PC,D0.W)
- GBM_TBL:
- JMP GBM_ZZ(PC)
- JMP GBM_ZP(PC)
- JMP GBM_ZM(PC)
- JMP GBM_PZ(PC)
- JMP GBM_PP(PC)
- JMP GBM_PM(PC)
- JMP GBM_MZ(PC)
- JMP GBM_MP(PC)
- JMP GBM_MM(PC)
- GBM_ZZ:
- OVER_MOVE:
- LSR.W #1,D6
- SWAP D6
- MOVE.L D6,D0
- ADD.L D6,D3
- SUB.L D6,D2
- RTS
- GBM_ZP:
- RTS
- GBM_ZM:
- ASR.L #2,D3
- MOVE.L D3,D2
- JMP OVER_MOVE(PC)
- GBM_PZ:
- ASR.L #2,D2
- MOVE.L D2,D3
- JMP OVER_MOVE(PC)
- GBM_PP:
- CMP.L D3,D2
- BGE.S GBM_PP_1
- RTS
- GBM_PP_1:
- MOVE.L D3,D2
- RTS
- GBM_PM:
- MOVE.L D2,D0
- ADD.L D3,D0
- BEQ.S GBM_PM_ZZ
- BGE.S GBM_PM_1
- ASR.L #1,D2
- MOVE.L D2,D3
- RTS
- GBM_PM_1:
- ASR.L #1,D3
- MOVE.L D3,D2
- RTS
- GBM_PM_ZZ:
- MOVEQ.L #0,D2
- MOVEQ.L #0,D3
- RTS
- GBM_MZ:
- RTS
- GBM_MP:
- RTS
- GBM_MM:
- CMP.L D3,D2
- BGE.S GBM_MM_1
- RTS
- GBM_MM_1:
- MOVE.L D2,D3
- RTS
- GET_HERO_LR:
- ; left and right hero work set
- ; out) A0:left hero
- ; A1:right hero
- LEA.L HERO1(A5),A0
- LEA.L HERO2(A5),A1
- MOVE.L X_POSITION(A0),D0
- CMP.L X_POSITION(A1),D0
- BCS.S GET_HERO_LR_1
- EXG.L A0,A1
- GET_HERO_LR_1:
- RTS
- BACK2_BUFFER_IN:
- CLR.B FLAG(A6)
- LEA.L BACK_VRAM(A5),A2
- JSR GET_S_BIG_VALUE(PC)
- MOVE.W REL_X(A6),D1
- LSL.W #7,D1
- MOVEQ.L #48-1,D7
- B2BI_1:
- MOVE.W D3,D0
- ROL.W #1,D4
- BCC.S B2BI_2
- SUB.W #100H,D0
- B2BI_2:
- MOVE.W D1,48*2(A2)
- MOVE.W D0,(A2)+
- DBRA D7,B2BI_1
- LEA.L VPOS_BUFFER(A5),A2
- MOVE.W SPRITE_POS(A6),D0
- ADD.W D0,D0
- LEA.L 0(A2,D0.W),A2
- MOVEQ.L #48,D5
- MOVE.W Wx(A6),D7
- LSR.W #4,D7
- MOVE.W D7,D6
- BEQ.S B2BI_4
- B2BI_3:
- CLR.W (A2)+
- SUBQ.W #1,D5
- SUBQ.W #1,D6
- BNE.S B2BI_3
- B2BI_4:
- MOVE.W REL_Y(A6),D1
- LSL.W #7,D1
- ADD.W #32,D1
- MOVE.W D1,(A2)+
- MOVE.W Wx(A6),D6
- ADD.W WIDTH_X(A6),D6
- LSR.W #4,D6
- SUB.W D7,D6
- B2BI_5:
- MOVE.W #40H,(A2)+
- SUBQ.W #1,D5
- BEQ.S B2BI_10
- DBRA D6,B2BI_5
- TST.W D5
- BLE.S B2BI_10
- B2BI_6:
- CLR.W (A2)+
- SUBQ.W #1,D5
- BNE.S B2BI_6
- B2BI_10:
- MOVE.B #1,FLAG(A6)
- RTS
- BACK2_SCROLL_WRITE:
- LEA.L BACK2(A5),A6
- CMP.W #SYS_BACK2,TYPE(A6)
- BNE B2SW_7
- TST.B FLAG(A6)
- BEQ B2SW_7
- LEA.L BACK_VRAM(A5),A0
- LEA.L LSPC_DATA,A2
- MOVE.W #1,2(A2)
- MOVE.W SPRITE_POS(A6),D2
- MOVE.W #SP_BIG,D0
- ADD.W D2,D0
- MOVE.W D0,-2(A2)
- REPT 48
- MOVE.W (A0)+,(A2)
- ENDR
- MOVE.W #SP_H,D0
- ADD.W D2,D0
- MOVE.W D0,-2(A2)
- REPT 48
- MOVE.W (A0)+,(A2)
- ENDR
- LEA.L VPOS_BUFFER(A5),A0
- MOVE.W SPRITE_POS(A6),D0
- ADD.W D0,D0
- LEA.L 0(A0,D0.W),A0
- MOVE.W #SP_V,D0
- ADD.W D2,D0
- MOVE.W D0,-2(A2)
- REPT 48
- MOVE.W (A0)+,(A2)
- ENDR
- CLR.B FLAG(A6)
- B2SW_7:
- RTS
- GET_S_BIG_VALUE:
- MOVE.W BIG_X(A6),D0
- SUBQ.B #1,D0
- MOVE.B D0,D1
- LSR.B #4,D1
- MOVE.B D1,(A5)
- MOVE.W (A5),D3
- MOVE.B D0,D3
- AND.W #0FH,D0
- ADD.W D0,D0
- MOVE.W S_BIG_BIT(PC,D0.W),D4
- RTS
- S_BIG_BIT:
- DC.W 1111111101111111B
- DC.W 0111111101111111B
- DC.W 0111111101110111B
- DC.W 0111011101110111B
- DC.W 0111011101010111B
- DC.W 0101011101010111B
- DC.W 0101011101010101B
- DC.W 0101010101010101B
- DC.W 0001010101010101B
- DC.W 0001010100010101B
- DC.W 0001010100010001B
- DC.W 0001000100010001B
- DC.W 0001000100000001B
- DC.W 0000000100000001B
- DC.W 0000000100000000B
- DC.W 0000000000000000B
- BACK2_INIT:
- LEA.L BACK2(A5),A6
- MOVE.W #1,SPRITE_POS(A6)
- MOVE.B #0,FLAG(A6)
- MOVE.W #SYS_BACK2,TYPE(A6)
- CLR.L Z_POSITION(A6)
- CLR.B MOVE_DIR(A6)
- CLR.B MASTER_REQUEST(A6)
- MOVE.W REG_D0(A5),Lx(A6)
- MOVE.W REG_D0(A5),Tx(A6)
- MOVE.W REG_D1(A5),BIG_X(A6)
- ; MOVE.W #180H,Lx(A6)
- ; MOVE.W #180H,Tx(A6)
- ; MOVE.W #100H,BIG_X(A6)
- JSR B2_BUFFER_WRITE(PC)
- JSR LSPC_WRITE2(PC)
- MOVE.B #0,STEP1(A6)
- MOVE.B #0,STEP2(A6)
- CMP.W #100H,BIG_X(A6)
- BEQ.S B2I_1
- MOVE.B #2,STEP1(A6)
- B2I_1:
- JSR BACK1_CLR(PC)
- BSR WINDOW_X_PAR_SET
- RTS
- BACK1_CLR:
- LEA.L BACK1_BUFFER(A5),A0
- MOVEQ.L #0,D0
- MOVE.W #(32*16*3)/(4*8)-1,D7
- BACK1_CLR_1:
- MOVE.L D0,(A0)+
- MOVE.L D0,(A0)+
- MOVE.L D0,(A0)+
- MOVE.L D0,(A0)+
- MOVE.L D0,(A0)+
- MOVE.L D0,(A0)+
- MOVE.L D0,(A0)+
- MOVE.L D0,(A0)+
- DBRA D7,BACK1_CLR_1
- RTS
- B2_BUFFER_WRITE:
- ;back pattern format
- ;
- ; type d13 d14 d15
- ;---------------------------------------
- ; 0 ch13 A4 A8
- ; 1 ch13 H A?
- ; 2 ch13 ch14 A?
- ; 3 H A4 A8
- ; 4 H V A?
- ; A? = A4 (d0=1)
- ; A8 (d0=0)
- BACK_TYPE SET 1
- MOVE.L PAL_IND_INFO(A5),A4
- MOVE.W AREA_No(A5),D0
- LEA.L GENERAL_TABLE(PC),A0
- ADD.W D0,D0
- ADD.W D0,D0
- MOVE.L -4(A0,D0.W),A2
- LEA.L BACK2_BUFFER+40H(A5),A1
- BSR B2BW_1
- LEA.L BACK2_BUFFER(A5),A1
- B2BW_1:
- MOVEQ.L #3-1,D7
- B2BW_2:
- MOVE.B (A2)+,(A5)
- MOVE.W (A5),D0
- ADD.W D0,D0
- MOVE.L BACK_INFO(A5),A3
- LEA.L 0(A3,D0.W),A3
- MOVEQ.L #16-1,D6
- B2BW_3:
- MOVEQ.L #16-1,D5
- B2BW_4:
- IFEQ BACK_TYPE-0
- MOVE.W (A3)+,D0
- MOVE.W D0,D1
- AND.W #3FFFH,D0
- ROL.W #4,D1
- AND.W #00001100B,D1
- MOVE.W D0,(A1)+
- MOVE.B 0(A4,D0.W),(A1)+
- MOVE.B D1,(A1)+
- ENDC
- IFEQ BACK_TYPE-1
- MOVEQ.L #0,D2
- MOVE.W (A3)+,D0
- MOVE.W D0,D1
- AND.W #3FFFH,D0
- ADD.W D1,D1
- ADDX.W D2,D2
- ADD.W D2,D2
- BTST.L #0,D0
- BNE.S B2BW_5
- ADD.W D2,D2
- B2BW_5:
- ADD.W D1,D1
- ADDX.W D2,D2
- MOVE.W D0,(A1)+
- MOVE.B 0(A4,D0.W),(A1)+
- MOVE.B D2,(A1)+
- ENDC
- IFEQ BACK_TYPE-2
- MOVEQ.L #0,D2
- MOVE.W (A3)+,D0
- MOVE.W D0,D1
- AND.W #7FFFH,D0
- ADD.W D1,D1
- ADDX.W D2,D2
- ADD.W D2,D2
- BTST.L #0,D0
- BNE.S B2BW_5
- ADD.W D2,D2
- B2BW_5:
- ADD.W D2,D2
- MOVE.W D0,(A1)+
- MOVE.B 0(A4,D0.W),(A1)+
- MOVE.B D2,(A1)+
- ENDC
- IFEQ BACK_TYPE-3
- MOVEQ.L #0,D2
- MOVE.W (A3)+,D0
- MOVE.W D0,D1
- AND.W #1FFFH,D0
- ADD.W D1,D1
- ADDX.W D2,D2
- ADD.W D1,D1
- ADDX.W D2,D2
- ADD.W D2,D2
- ADD.W D1,D1
- ADDX.W D2,D2
- MOVE.W D0,(A1)+
- MOVE.B 0(A4,D0.W),(A1)+
- MOVE.B D2,(A1)+
- ENDC
- IFEQ BACK_TYPE-4
- MOVEQ.L #0,D2
- MOVE.W (A3)+,D0
- MOVE.W D0,D1
- AND.W #1FFFH,D0
- ADD.W D1,D1
- ADDX.W D2,D2
- BTST.L #0,D0
- BNE.S B2BW_5
- ADD.W D2,D2
- B2BW_5:
- ADD.W D1,D1
- ADDX.W D2,D2
- ADD.W D1,D1
- ADDX.W D2,D2
- MOVE.W D0,(A1)+
- MOVE.B 0(A4,D0.W),(A1)+
- MOVE.B D0,(A1)+
- ENDC
- DBRA D5,B2BW_4
- LEA.L 40H(A1),A1
- DBRA D6,B2BW_3
- DBRA D7,B2BW_2
- RTS
- LSPC_WRITE2:
- ADDQ.B #1,LSPC_BUSY(A5)
- ADDQ.B #1,MESS_BUSY(A5)
- LEA.L LSPC_DATA,A2
- MOVE.W #1,2(A2)
- MOVE.W SPRITE_POS(A6),D0
- LSL.W #6,D0
- MOVE.W D0,-2(A2)
- LEA.L BACK2_BUFFER(A5),A0
- MOVE.W #(32*16*3*2)/8-1,D7
- LSPC_WRITE2_1:
- MOVE.W (A0)+,(A2)
- MOVE.W (A0)+,(A2)
- MOVE.W (A0)+,(A2)
- MOVE.W (A0)+,(A2)
- MOVE.W (A0)+,(A2)
- MOVE.W (A0)+,(A2)
- MOVE.W (A0)+,(A2)
- MOVE.W (A0)+,(A2)
- DBRA D7,LSPC_WRITE2_1
- SUBQ.B #1,MESS_BUSY(A5)
- SUBQ.B #1,LSPC_BUSY(A5)
- RTS
- GENERAL_TABLE:
- DC.L GEN_AREA_1
- DC.L GEN_AREA_2
- DC.L GEN_AREA_2
- DC.L GEN_AREA_3
- DC.L GEN_AREA_4
- DC.L GEN_AREA_4
- DC.L GEN_AREA_5
- DC.L GEN_AREA_6
- DC.L GEN_AREA_6
- DC.L GEN_AREA_7
- DC.L GEN_AREA_8
- DC.L GEN_AREA_8
- GEN_AREA_1:
- DC.B 0000H,0001H,0002H
- DC.B 0003H,0004H,0005H,000H,000H
- GEN_AREA_2:
- DC.B 0006H,0007H,0008H
- DC.B 0009H,000AH,000BH,000H,000H
- GEN_AREA_3:
- DC.B 000CH,000DH,000EH
- DC.B 000FH,0010H,0011H,000H,000H
- GEN_AREA_4:
- DC.B 0012H,0013H,0014H
- DC.B 0015H,0016H,0017H,000H,000H
- GEN_AREA_5:
- DC.B 0018H,0019H,001AH
- DC.B 001BH,001CH,001DH,000H,000H
- GEN_AREA_6:
- DC.B 001EH,001FH,0020H
- DC.B 0021H,0022H,0023H,000H,000H
- GEN_AREA_7:
- DC.B 0024H,0025H,0026H
- DC.B 0027H,0028H,0029H,000H,000H
- GEN_AREA_8:
- DC.B 002AH,002BH,002CH
- DC.B 002DH,002EH,002FH,000H,000H
- INCLUDE WORK.INC
|