keen: fix problem with MAX_ENEMIES count
also start hooking up more levels
This commit is contained in:
parent
c19d21c26f
commit
beba8e05e9
|
@ -12,7 +12,7 @@ EMPTY_DISK = ../../empty_disk/empty.dsk
|
||||||
all: keen1_lores.dsk
|
all: keen1_lores.dsk
|
||||||
|
|
||||||
keen1_lores.dsk: HELLO LOADER TITLE ENGINE MARS \
|
keen1_lores.dsk: HELLO LOADER TITLE ENGINE MARS \
|
||||||
LEVEL1 LEVEL2 LEVEL3 LEVEL4
|
LEVEL1 LEVEL2 LEVEL3 LEVEL4 LEVEL5
|
||||||
cp $(EMPTY_DISK) keen1_lores.dsk
|
cp $(EMPTY_DISK) keen1_lores.dsk
|
||||||
$(DOS33) -y keen1_lores.dsk SAVE A HELLO
|
$(DOS33) -y keen1_lores.dsk SAVE A HELLO
|
||||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x1000 LOADER
|
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x1000 LOADER
|
||||||
|
@ -23,6 +23,7 @@ keen1_lores.dsk: HELLO LOADER TITLE ENGINE MARS \
|
||||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL2
|
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL2
|
||||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL3
|
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL3
|
||||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL4
|
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL4
|
||||||
|
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL5
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -97,6 +98,16 @@ level4.o: level4.s enemies.inc \
|
||||||
maps/level4_map.zx02
|
maps/level4_map.zx02
|
||||||
ca65 -o level4.o level4.s -l level4.lst
|
ca65 -o level4.o level4.s -l level4.lst
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
LEVEL5: level5.o
|
||||||
|
ld65 -o LEVEL5 level5.o -C ../../linker_scripts/apple2_6000.inc
|
||||||
|
|
||||||
|
level5.o: level5.s enemies.inc \
|
||||||
|
maps/level5_map.zx02
|
||||||
|
ca65 -o level5.o level5.s -l level5.lst
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -122,6 +122,8 @@ laser_enemies:
|
||||||
|
|
||||||
ldy #0 ; which enemy
|
ldy #0 ; which enemy
|
||||||
laser_enemies_loop:
|
laser_enemies_loop:
|
||||||
|
cpy NUM_ENEMIES
|
||||||
|
beq done_laser_enemies_loop
|
||||||
|
|
||||||
; see if out
|
; see if out
|
||||||
|
|
||||||
|
@ -164,9 +166,11 @@ hit_something:
|
||||||
jmp exit_laser_enemy
|
jmp exit_laser_enemy
|
||||||
|
|
||||||
done_laser_enemy:
|
done_laser_enemy:
|
||||||
iny
|
; iny
|
||||||
cpy NUM_ENEMIES
|
; cpy NUM_ENEMIES
|
||||||
bne laser_enemies_loop
|
jmp laser_enemies_loop
|
||||||
|
|
||||||
|
done_laser_enemies_loop:
|
||||||
|
|
||||||
exit_laser_enemy:
|
exit_laser_enemy:
|
||||||
rts
|
rts
|
||||||
|
|
|
@ -8,6 +8,11 @@ move_enemies:
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
move_enemies_loop:
|
move_enemies_loop:
|
||||||
|
cpx NUM_ENEMIES
|
||||||
|
bne keep_on_moving
|
||||||
|
|
||||||
|
jmp done_move_enemies_loop
|
||||||
|
keep_on_moving:
|
||||||
|
|
||||||
; only move if out
|
; only move if out
|
||||||
|
|
||||||
|
@ -242,10 +247,12 @@ move_left_noflo:
|
||||||
done_move_enemy:
|
done_move_enemy:
|
||||||
|
|
||||||
inx
|
inx
|
||||||
cpx NUM_ENEMIES
|
; cpx NUM_ENEMIES
|
||||||
beq totally_done_move_enemies
|
; beq totally_done_move_enemies
|
||||||
|
|
||||||
jmp move_enemies_loop
|
jmp move_enemies_loop
|
||||||
|
|
||||||
|
done_move_enemies_loop:
|
||||||
totally_done_move_enemies:
|
totally_done_move_enemies:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -258,6 +265,8 @@ draw_enemies:
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
draw_enemies_loop:
|
draw_enemies_loop:
|
||||||
|
cpy NUM_ENEMIES
|
||||||
|
beq done_draw_enemies
|
||||||
|
|
||||||
; see if out
|
; see if out
|
||||||
|
|
||||||
|
@ -365,10 +374,11 @@ draw_enemy:
|
||||||
|
|
||||||
done_draw_enemy:
|
done_draw_enemy:
|
||||||
iny
|
iny
|
||||||
cpy NUM_ENEMIES
|
; cpy NUM_ENEMIES
|
||||||
beq exit_draw_enemy
|
; beq exit_draw_enemy
|
||||||
jmp draw_enemies_loop
|
jmp draw_enemies_loop
|
||||||
|
|
||||||
|
done_draw_enemies:
|
||||||
exit_draw_enemy:
|
exit_draw_enemy:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
; at $6000
|
; at $6000
|
||||||
|
|
||||||
level3_data:
|
level4_data:
|
||||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
||||||
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ enemy_data_y: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
enemy_data_state: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
enemy_data_state: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
enemy_data_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
enemy_data_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
||||||
|
|
||||||
|
; FIXME: this is not correct
|
||||||
; enemy1: yorp @16,9, right
|
; enemy1: yorp @16,9, right
|
||||||
; enemy2: yorp @19,9 left
|
; enemy2: yorp @19,9 left
|
||||||
; enemy3: yorp @23,9 left
|
; enemy3: yorp @23,9 left
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
; Level 5 (Pogo Shrine)
|
||||||
|
|
||||||
|
; at $6000
|
||||||
|
|
||||||
|
level2_data:
|
||||||
|
.byte 20 ;MAX_TILE_X = 116 ; 116 wide
|
||||||
|
.byte 26 ;MAX_TILE_Y = 16 ; 16 tall
|
||||||
|
|
||||||
|
.byte 1 ;START_KEEN_TILEX = 1
|
||||||
|
.byte 13 ;START_KEEN_TILEY = 13
|
||||||
|
|
||||||
|
.byte 0 ;START_TILEMAP_X = 0
|
||||||
|
.byte 5 ;START_TILEMAP_Y = 5
|
||||||
|
|
||||||
|
.byte 0 ;NUM_ENEMIES = 8
|
||||||
|
|
||||||
|
.byte 32 ;HARDTOP_TILES = 32 ; start at 32
|
||||||
|
.byte 40 ;ALLHARD_TILES = 40 ; start at 40
|
||||||
|
|
||||||
|
|
||||||
|
.align $100
|
||||||
|
|
||||||
|
; at $6100
|
||||||
|
enemy_data:
|
||||||
|
.byte $0
|
||||||
|
|
||||||
|
.align $100
|
||||||
|
|
||||||
|
; at $6200
|
||||||
|
oracle_message:
|
||||||
|
; 012345678901234567890123456789012345678
|
||||||
|
.byte 2,21,"YOU HEAR IN YOUR MIND:",0
|
||||||
|
.byte 2,22,"IT IS TOO BAD THAT YOU CANNOT READ",0
|
||||||
|
.byte 2,23,"THE STANDARD GALACTIC ALPHABET, HUMAN",0
|
||||||
|
|
||||||
|
.align $100
|
||||||
|
|
||||||
|
; at $6300
|
||||||
|
level5_data_zx02:
|
||||||
|
.incbin "maps/level5_map.zx02"
|
|
@ -195,6 +195,8 @@ copy_filename_done:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
; FIXME: probably smaler to build the level filename on the fly?
|
||||||
|
|
||||||
filenames:
|
filenames:
|
||||||
.word title_filename
|
.word title_filename
|
||||||
.word mars_filename
|
.word mars_filename
|
||||||
|
@ -202,6 +204,18 @@ filenames:
|
||||||
.word keen2_filename
|
.word keen2_filename
|
||||||
.word keen3_filename
|
.word keen3_filename
|
||||||
.word keen4_filename
|
.word keen4_filename
|
||||||
|
.word keen5_filename
|
||||||
|
.word keen6_filename
|
||||||
|
.word keen7_filename
|
||||||
|
.word keen8_filename
|
||||||
|
.word keen9_filename
|
||||||
|
.word keen10_filename
|
||||||
|
.word keen11_filename
|
||||||
|
.word keen12_filename
|
||||||
|
.word keen13_filename
|
||||||
|
.word keen14_filename
|
||||||
|
.word keen15_filename
|
||||||
|
.word keen16_filename
|
||||||
|
|
||||||
engine_filename:
|
engine_filename:
|
||||||
.byte "ENGINE",0
|
.byte "ENGINE",0
|
||||||
|
@ -217,6 +231,31 @@ keen3_filename:
|
||||||
.byte "LEVEL3",0
|
.byte "LEVEL3",0
|
||||||
keen4_filename:
|
keen4_filename:
|
||||||
.byte "LEVEL4",0
|
.byte "LEVEL4",0
|
||||||
|
keen5_filename:
|
||||||
|
.byte "LEVEL5",0
|
||||||
|
keen6_filename:
|
||||||
|
.byte "LEVEL6",0
|
||||||
|
keen7_filename:
|
||||||
|
.byte "LEVEL7",0
|
||||||
|
keen8_filename:
|
||||||
|
.byte "LEVEL8",0
|
||||||
|
keen9_filename:
|
||||||
|
.byte "LEVEL9",0
|
||||||
|
keen10_filename:
|
||||||
|
.byte "LEVEL10",0
|
||||||
|
keen11_filename:
|
||||||
|
.byte "LEVEL11",0
|
||||||
|
keen12_filename:
|
||||||
|
.byte "LEVEL12",0
|
||||||
|
keen13_filename:
|
||||||
|
.byte "LEVEL13",0
|
||||||
|
keen14_filename:
|
||||||
|
.byte "LEVEL14",0
|
||||||
|
keen15_filename:
|
||||||
|
.byte "LEVEL15",0
|
||||||
|
keen16_filename:
|
||||||
|
.byte "LEVEL16",0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;===================================================
|
;===================================================
|
||||||
|
|
|
@ -8,6 +8,7 @@ PNG2GR = ../../../utils/gr-utils/png2gr
|
||||||
all: png2map \
|
all: png2map \
|
||||||
level1_map.zx02 level2_map.zx02 \
|
level1_map.zx02 level2_map.zx02 \
|
||||||
level3_map.zx02 level4_map.zx02 \
|
level3_map.zx02 level4_map.zx02 \
|
||||||
|
level5_map.zx02 \
|
||||||
mars_map.zx02
|
mars_map.zx02
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -42,6 +43,14 @@ level4_map.zx02: level4_map.inc
|
||||||
level4_map.inc: level4_map.png png2map
|
level4_map.inc: level4_map.png png2map
|
||||||
./png2map level4_map.png level4_map.inc
|
./png2map level4_map.png level4_map.inc
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
level5_map.zx02: level5_map.inc
|
||||||
|
$(ZX02) level5_map.inc level5_map.zx02
|
||||||
|
|
||||||
|
level5_map.inc: level5_map.png png2map
|
||||||
|
./png2map level5_map.png level5_map.inc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
|
@ -618,25 +618,25 @@ location_size:
|
||||||
|
|
||||||
location_actions_low:
|
location_actions_low:
|
||||||
.byte <(enter_level-1),<(enter_level-1) ; level1, level2
|
.byte <(enter_level-1),<(enter_level-1) ; level1, level2
|
||||||
.byte <(enter_level-1),<(dummy_action-1) ; level3, level4
|
.byte <(enter_level-1),<(enter_level-1) ; level3, level4
|
||||||
.byte <(dummy_action-1),<(dummy_action-1)
|
.byte <(enter_level-1),<(enter_level-1) ; level4, level6
|
||||||
.byte <(dummy_action-1),<(dummy_action-1)
|
.byte <(enter_level-1),<(enter_level-1) ; level7, level8
|
||||||
.byte <(dummy_action-1),<(dummy_action-1)
|
.byte <(enter_level-1),<(enter_level-1) ; level9, level10
|
||||||
.byte <(dummy_action-1),<(dummy_action-1)
|
.byte <(enter_level-1),<(enter_level-1) ; level11, level12
|
||||||
.byte <(dummy_action-1),<(dummy_action-1)
|
.byte <(enter_level-1),<(enter_level-1) ; level13, level14
|
||||||
.byte <(dummy_action-1),<(dummy_action-1)
|
.byte <(enter_level-1),<(enter_level-1) ; level15, level16
|
||||||
.byte <(do_parts-1),<(transport_right-1) ; ship, l transport
|
.byte <(do_parts-1),<(transport_right-1) ; ship, l transport
|
||||||
.byte <(transport_left-1),<(transport_secret-1) ; r trans, secret
|
.byte <(transport_left-1),<(transport_secret-1) ; r trans, secret
|
||||||
|
|
||||||
location_actions_high:
|
location_actions_high:
|
||||||
.byte >(enter_level-1),>(enter_level-1) ; level1, level2
|
.byte >(enter_level-1),>(enter_level-1) ; level1, level2
|
||||||
.byte >(enter_level-1),>(dummy_action-1) ; level3, level4
|
.byte >(enter_level-1),>(enter_level-1) ; level3, level4
|
||||||
.byte >(dummy_action-1),>(dummy_action-1)
|
.byte >(enter_level-1),>(enter_level-1) ; level5, level6
|
||||||
.byte >(dummy_action-1),>(dummy_action-1)
|
.byte >(enter_level-1),>(enter_level-1) ; level7, level8
|
||||||
.byte >(dummy_action-1),>(dummy_action-1)
|
.byte >(enter_level-1),>(enter_level-1) ; level9, level10
|
||||||
.byte >(dummy_action-1),>(dummy_action-1)
|
.byte >(enter_level-1),>(enter_level-1) ; level11, level12
|
||||||
.byte >(dummy_action-1),>(dummy_action-1)
|
.byte >(enter_level-1),>(enter_level-1) ; level13, level14
|
||||||
.byte >(dummy_action-1),>(dummy_action-1)
|
.byte >(enter_level-1),>(enter_level-1) ; level15, level16
|
||||||
.byte >(do_parts-1),>(transport_right-1) ; ship, l transport
|
.byte >(do_parts-1),>(transport_right-1) ; ship, l transport
|
||||||
.byte >(transport_left-1),>(transport_secret-1) ; r trans, secret
|
.byte >(transport_left-1),>(transport_secret-1) ; r trans, secret
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue