|
|
This page contains no introduction. |
Source Code Fragments#
Some source code fragments were strewn throughout, particularly for the cheerleaders' animations. They can be seen at the hex addresses seen below in the .dsk dump of the game.
1818D:
ld e,a
ret nc
inc d
ret
$Move_Up_2 call $Move_Up_1
$Move_Up_1 push bc
ld bc,-8
call $Move_Pos
pop bc
ld a,d
sub 8
ld d,a
cp 0c0h
ret nc
add a,64
ld d,a
ld a,e
sub 050h
ld e,a
ret nc
dec d
ret
$Move_Pos push hl
ld l,(iy+Girl_Buffer+Lb)
ld h,(iy+Girl_Buffer+Hb)
add hl,bc
ld (iy+Girl_Buffer+Lb),l
ld (iy+Girl_Buffer+Hb),h
pop hl
ret
; Show all the sprites on the screen.
$Show_Girls FlyB
push hl
ld b,No_of_Girls
ld iy,Girl_Base ; base of data
$Show_Loop_0 push bc
call Disp_Sprite ; display sprite
ld bc,6
add iy,bc
pop bc
djnz $Show_Loop_0 ; loop for all girls!
pop hl
ret
; grab background into buffer
Grab_Back ld hl,0d104h-2*050h+0800h
ld de,Back_Buff1
call $Grab_Screen
ld hl,0d114h-2*050h+0800h
ld de,Back_Buff2
call $Grab_Screen
ld hl,0d124h-2*050h+0800h
ld de,Back_Buff3
$Grab_Screen ld b,86 ;56+3*Girl_Speed
$Grab_Loop push hl
ld c,8+1
repeat 8
ldi
pop hl
call Pix_Down_B
djnz $Grab_Loop
ret
; Display a 32x56 masked sprite on the screen.
Disp_Sprite ld l,(iy+Girl_Sprite+Lb)
ld h,(iy+Girl_Sprite+Hb)
push ix,hl
pop ix
exx
ld l,(iy+Girl_Buffer+Lb)
ld h,(iy+Girl_Buffer+Hb) ; orig data
exx
ld l,(iy+Girl_ScrPos+Lb)
ld h,(iy+Girl_ScrPos+Hb) ; screen pos
ld b,56 ; number of lines
ld d,<Mask_Table_J
$Line_Loop push hl
ld c,8
$James ld e,(ix+0)
ld a,(de)
ld e,a
exx
ld a,(hl)
inc hl
exx
and e
or (ix+0)
ld (hl),a
inc hl
inc ix
dec c
jp nz,$James
pop hl
M_Pix_Down1 h,l
djnz $Line_Loop ; loop for all 56 lines.
pop ix
ret
; Base table for each sprite.
Girl_ScrPos equ 0
Girl_Buffer equ Word
Girl_Sprite equ 2*Word
Girl_BufPos equ 30*8 ;4*(Girl_Speed*3)
Girl_Base dw 0c9b4h-16,Back_Buff1+Girl_BufPos,Girl_Jump_0
dw 0c9b4h+0,Back_Buff2+Girl_BufPos,Girl_Jump_0
dw 0c9b4h+16,Back_Buff3+Girl_BufPos,Girl_Jump_0
; Background buffers for sprites.
Back_Buff1 ds 86*8,0 ;4*(56+Girl_Speed*3),0
Back_Buff2 ds 86*8,0 ;4*(56+Girl_Speed*3),0
Back_Buff3 ds 86*8,0 ;4*(56+Girl_Speed*3),0 ; background buffers
; 'FIGHT FIGHT' Seq data.
Girl_SEQ_Rep equ 0
Girl_SEQ_List equ Byte
Girl_SEQ_0 Girl_S 1,Stop
Girl_S 6,Pon_Pon
Girl_S 2,Shake
Girl_S 2,Foot_UP
Girl_S 1,Jump
Girl_S 2,Foot_UP
Girl_S 1,Jump
Girl_S 2,Shake
Girl_S 2,Leg_UP
Girl_S 1,Jump
Girl_S 4,Pon_Pon
Girl_S 3,Stop
Girl_S End
Girl_SEQ_1 Girl_S 1,Stop
Girl_S 1,Jump
Girl_S 3,Foot_UP
Girl_S 2,Shake
Girl_S 2,Jump
Girl_S 2,Shake
Girl_S 3,Stop
Girl_S End
Girl_DATA_OX equ 0
Girl_DATA_OY equ Byte
Girl_DATA_Spr equ 2*Byte
Girl_Stop Girl_D 0,0,Stand_1
Girl_D End
Girl_Pon_Pon Girl_D 0,0,Stand_1
Girl_D 0,0,Stand_2
Girl_D 0,0,Stand_1
Girl_D 0,0,Stand_3
Girl_D End
Girl_Leg_UP Girl_D 0,0,Stand_1
Girl_D 0,0,Leg_LD
Girl_D 0,0,Stand_1
Girl_D 0,0,Leg_LU
Girl_D 0,0,Stand_1
Girl_D 0,0,Leg_RD
Girl_D 0,0,Stand_1
Girl_D 0,0,Leg_RU
Girl_D End
Girl_Foot_UP Girl_D 0,0,Stand_1
Girl_D 0,0,Leg_LM
Girl_D 0,0,Stand_1
Girl_D 0,0,Leg_RM
Girl_D End
Girl_Shake Girl_D 0,0,Stand_1
Girl_D 0,0,Sit_l
Girl_D 0,0,Stand_1
Girl_D 0,0,Sit_R
Girl_D End
Girl_Jump Girl_D 0,0,Stand_1
Girl_D 0,0,Floor
Girl_D 0,4,Jump_0
Girl_D 0,3,Jump_1
Girl_D 0,2,Jump_1
Girl_D 0,1,Jump_0
Girl_D 0,0,Floor
Girl_D 0,0,Stand_1
Girl_D End
Girl_Sprites
Girl_LEG_RD HEX 0000000000000000
HEX 0000000000000000
HEX 0000000000000000
HEX 0000000000000000
HEX 0000000000000000
HEX 0000000204000000
HEX 000000254A000000
HEX 0000003469000000
HEX 0000005AA5000000
HEX 000001871E080000
HEX 0000013FCF000000
HEX 0000125FAF000000
HEX 000003B76F000000
HEX 0000343FCE000000
HEX 000025A74F080000
HEX 0000031F8F840000
HEX 0000344F2FC20000
HEX 000078A75EE10000
HEX 0001F0D3BC960E00
HEX 000178E1782DA500
HEX 0001ADF0F05A0E00
HEX 00011EF0F02DA500
HEX 00030FE1781E0E00
HEX 0012691E87258600
HEX 003469B4C2344A00
HEX 0012873CC2038400
HEX 00014B870E000800
HEX 001269A52D000000
HEX 00015A5A3C080000
HEX 0000075A5A840000
HEX 000003D22D860000
HEX 000027B45A6F0000
HEX 0000370F0FFF0800
HEX 000037DEB7FF8C00
HEX 000037EF1BFFCE00
HEX 000013EF01FFCE00
HEX 000013EF003FEF00
HEX 000013EF0013EF00
HEX 000001EF00016F00
HEX 000001EF0001EF00
HEX 000001EF0001CE00
HEX 0000006F0013CE00
HEX 0000006F00138C00
HEX 0000006F00370800
HEX 0000006F00370800
HEX 0000006F002F0000
HEX 0000006F01860000
HEX 0000002701840000
HEX 0000002701840000
HEX 0000002700080000
HEX 0000000700000000
HEX 0000006900000000
HEX 000001C200000000
HEX 0000000C00000000
HEX 0000000000000000
HEX 0000000000000000
Girl_LEG_RU HEX 0000000000000200
HEX 0000000000002D00
HEX 000000000001E100
HEX 0000000000121E08
HEX 0000000000012D08
HEX 000000020401D208
HEX 000000254A002D00
HEX 0000003469014B08
HEX 0000005AA501A508
HEX 000001871E095A08
HEX 0000013FCF010F00
HEX 0000125FAF138C00
HEX 000003B76F138C00
HEX 0000343FCE370800
HEX 000025A74E370800
HEX 0000071F8F6F0008
HEX 0000074F2F6F0184
HEX 000034A75E4E0184
HEX 000078D3BC840184
HEX 00003CE17884010C
HEX 0001CFF0F0080184
HEX 00012D78E1001308
HEX 00015A6969003708
HEX 00120F1E86006F00
HEX 0003A5B48401EF00
HEX 00122D3C8413CE00
HEX 00034BC30C37CE00
HEX 00012D5A4A7F8C00
HEX 0001D269A5FF8C00
HEX 00002D69D3FF0800
HEX 000003F05BEF0000
HEX 000027B4B7CE0000
HEX 0000370F3F8C0000
HEX 000037DEA7080000
HEX 000037EF0E000000
HEX 000013EF00000000
HEX 000013EF00000000
HEX 000013EF00000000
HEX 000001EF00000000
HEX 000001EF00000000
HEX 000001EF00000000
HEX 0000006F00000000
HEX 0000006F00000000
HEX 0000006F00000000
HEX 0000006F00000000
HEX 0
1A100:
000006F00000000
HEX 0000006F00000000
HEX 0000002700000000
HEX 0000002700000000
HEX 0000002700000000
HEX 0000000700000000
HEX 0000006900000000
HEX 000001C200000000
HEX 0000000C00000000
HEX 0000000000000000
HEX 0000000000000000
Girl_LEG_LD HEX 0000000000000000
HEX 0000000000000000
HEX 0000000000000000
HEX 0000000000000000
HEX 0000000000000000
HEX 0000000204000000
HEX 000000254A000000
HEX 0000003469000000
HEX 0000005AA5000000
HEX 000001871E080000
HEX 0000013FCF000000
HEX 0000125FAF000000
HEX 000003B76F000000
HEX 0000343FCE000000
HEX 000025A74F080000
HEX 0000071F8F840000
HEX 0000344F2FC20000
HEX 000078A75EE10000
HEX 000796D3BCF00800
HEX 00784BE178E10800
HEX 000FA5F0F05B0800
HEX 004B4BF0F0870800
HEX 000787E1780F0800
HEX 00164A1E874B8400
HEX 0025C234D22DC200
HEX 00120C34C31E8400
HEX 000100071E2D0800
HEX 0000004B5A698400
HEX 000001C3A5A50800
HEX 000012A5A50E0000
HEX 0000164BB40C0000
HEX 00006FA5D24E0000
HEX 0001FF0F0FCE0000
HEX 0013FFDEB7CE0000
HEX 0037FF8D7FCE0000
HEX 0037FF087F8C0000
HEX 007FCF007F8C0000
HEX 007F8C007F8C0000
HEX 006F08007F080000
HEX 007F08007F080000
HEX 003708007F080000
HEX 00378C006F000000
HEX 00138C006F000000
HEX 0001CE006F000000
HEX 0001CE006F000000
HEX 00004F006F000000
HEX 000016086F000000
HEX 000012084E000000
HEX 000012084E000000
HEX 000001004E000000
HEX 000000000E000000
HEX 0000000069000000
HEX 0000000034080000
HEX 0000000003000000
HEX 0000000000000000
HEX 0000000000000000
Girl_LEG_LU HEX 0007080000000000
HEX 002D0C0000000000
1A990:
2D0E00
HEX 0001FFADB45A8400
HEX 00007
HEX 000037DE78870400
HEX 000013EFE1A70000
HEX 000001