keen: hook up all 16 levels
most aren't even remotely playable yet
@ -12,7 +12,10 @@ EMPTY_DISK = ../../empty_disk/empty.dsk
|
||||
all: keen1_lores.dsk
|
||||
|
||||
keen1_lores.dsk: HELLO LOADER TITLE ENGINE MARS \
|
||||
LEVEL1 LEVEL2 LEVEL3 LEVEL4 LEVEL5
|
||||
LEVEL1 LEVEL2 LEVEL3 LEVEL4 \
|
||||
LEVEL5 LEVEL6 LEVEL7 LEVEL8 \
|
||||
LEVEL9 LEVEL10 LEVEL11 LEVEL12 \
|
||||
LEVEL13 LEVEL14 LEVEL15 LEVEL16
|
||||
cp $(EMPTY_DISK) keen1_lores.dsk
|
||||
$(DOS33) -y keen1_lores.dsk SAVE A HELLO
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x1000 LOADER
|
||||
@ -24,7 +27,17 @@ keen1_lores.dsk: HELLO LOADER TITLE ENGINE MARS \
|
||||
$(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 LEVEL5
|
||||
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL6
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL7
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL8
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL9
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL10
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL11
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL12
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL13
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL14
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL15
|
||||
$(DOS33) -y keen1_lores.dsk BSAVE -a 0x6000 LEVEL16
|
||||
|
||||
###
|
||||
|
||||
@ -107,9 +120,104 @@ level5.o: level5.s enemies.inc \
|
||||
maps/level5_map.zx02
|
||||
ca65 -o level5.o level5.s -l level5.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL6: level6.o
|
||||
ld65 -o LEVEL6 level6.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level6.o: level6.s enemies.inc \
|
||||
maps/level6_map.zx02
|
||||
ca65 -o level6.o level6.s -l level6.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL7: level7.o
|
||||
ld65 -o LEVEL7 level7.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level7.o: level7.s enemies.inc \
|
||||
maps/level7_map.zx02
|
||||
ca65 -o level7.o level7.s -l level7.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL8: level8.o
|
||||
ld65 -o LEVEL8 level8.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level8.o: level8.s enemies.inc \
|
||||
maps/level8_map.zx02
|
||||
ca65 -o level8.o level8.s -l level8.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL9: level9.o
|
||||
ld65 -o LEVEL9 level9.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level9.o: level9.s enemies.inc \
|
||||
maps/level9_map.zx02
|
||||
ca65 -o level9.o level9.s -l level9.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL10: level10.o
|
||||
ld65 -o LEVEL10 level10.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level10.o: level10.s enemies.inc \
|
||||
maps/level10_map.zx02
|
||||
ca65 -o level10.o level10.s -l level10.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL11: level11.o
|
||||
ld65 -o LEVEL11 level11.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level11.o: level11.s enemies.inc \
|
||||
maps/level11_map.zx02
|
||||
ca65 -o level11.o level11.s -l level11.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL12: level12.o
|
||||
ld65 -o LEVEL12 level12.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level12.o: level12.s enemies.inc \
|
||||
maps/level12_map.zx02
|
||||
ca65 -o level12.o level12.s -l level12.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL13: level13.o
|
||||
ld65 -o LEVEL13 level13.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level13.o: level13.s enemies.inc \
|
||||
maps/level13_map.zx02
|
||||
ca65 -o level13.o level13.s -l level13.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL14: level14.o
|
||||
ld65 -o LEVEL14 level14.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level14.o: level14.s enemies.inc \
|
||||
maps/level14_map.zx02
|
||||
ca65 -o level14.o level14.s -l level14.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL15: level15.o
|
||||
ld65 -o LEVEL15 level15.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level15.o: level15.s enemies.inc \
|
||||
maps/level15_map.zx02
|
||||
ca65 -o level15.o level15.s -l level15.lst
|
||||
|
||||
####
|
||||
|
||||
LEVEL16: level16.o
|
||||
ld65 -o LEVEL16 level16.o -C ../../linker_scripts/apple2_6000.inc
|
||||
|
||||
level16.o: level16.s enemies.inc \
|
||||
maps/level16_map.zx02
|
||||
ca65 -o level16.o level16.s -l level16.lst
|
||||
|
||||
####
|
||||
|
||||
|
40
games/keen/level10.s
Normal file
@ -0,0 +1,40 @@
|
||||
; Level 10 (Ice Shrine 1)
|
||||
|
||||
; at $6000
|
||||
|
||||
level10_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
|
||||
level10_data_zx02:
|
||||
.incbin "maps/level10_map.zx02"
|
40
games/keen/level11.s
Normal file
@ -0,0 +1,40 @@
|
||||
; Level 11 (Fourth Shrine)
|
||||
|
||||
; at $6000
|
||||
|
||||
level11_data:
|
||||
.byte 20 ;MAX_TILE_X = 20 ; 20 wide
|
||||
.byte 26 ;MAX_TILE_Y = 26 ; 26 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
|
||||
level11_data_zx02:
|
||||
.incbin "maps/level11_map.zx02"
|
40
games/keen/level12.s
Normal file
@ -0,0 +1,40 @@
|
||||
; Level 12 (Fifth Shrine)
|
||||
|
||||
; at $6000
|
||||
|
||||
level12_data:
|
||||
.byte 20 ;MAX_TILE_X = 20 ; 20 wide
|
||||
.byte 26 ;MAX_TILE_Y = 26 ; 26 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
|
||||
level12_data_zx02:
|
||||
.incbin "maps/level12_map.zx02"
|
65
games/keen/level13.s
Normal file
@ -0,0 +1,65 @@
|
||||
; Level 13 (Red Maze City)
|
||||
|
||||
.include "enemies.inc"
|
||||
|
||||
; at $6000
|
||||
|
||||
level13_data:
|
||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
||||
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
||||
|
||||
.byte 4 ;START_KEEN_TILEX = 4
|
||||
.byte 16 ;START_KEEN_TILEY = 16
|
||||
|
||||
.byte 0 ;START_TILEMAP_X = 0
|
||||
.byte 8 ;START_TILEMAP_Y = 8
|
||||
|
||||
.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:
|
||||
|
||||
enemy_data_out: .byte 1, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_exploding: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_type: .byte YORP, YORP, YORP, YORP, YORP, YORP,YORP,YORP
|
||||
enemy_data_direction: .byte RIGHT, LEFT, LEFT, RIGHT, LEFT, RIGHT,LEFT,LEFT
|
||||
enemy_data_tilex: .byte 16, 19, 23, 14, 14, 16, 42, 70
|
||||
enemy_data_tiley: .byte 9, 9, 9, 45, 38, 43, 44, 34
|
||||
enemy_data_x: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
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_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
||||
|
||||
; FIXME: this is not correct
|
||||
; enemy1: yorp @16,9, right
|
||||
; enemy2: yorp @19,9 left
|
||||
; enemy3: yorp @23,9 left
|
||||
; enemy4: yorp @14,45 right
|
||||
; enemy5: yorp @14,38 left
|
||||
; enemy6: yorp @16,43 right
|
||||
; enemy7: yorp @42,44 left
|
||||
; enemy8: yorp @70,34 left
|
||||
|
||||
; enemy9: garg @50,31 right
|
||||
; enemy10: garg @63,45 right
|
||||
|
||||
; enemy?: butler robot@27,7 left
|
||||
; enemy?: vorticon @53,8 right
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6200
|
||||
oracle_message:
|
||||
.byte $0
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6300
|
||||
level13_data_zx02:
|
||||
.incbin "maps/level13_map.zx02"
|
65
games/keen/level14.s
Normal file
@ -0,0 +1,65 @@
|
||||
; Level 14 (Secret City)
|
||||
|
||||
.include "enemies.inc"
|
||||
|
||||
; at $6000
|
||||
|
||||
level14_data:
|
||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
||||
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
||||
|
||||
.byte 4 ;START_KEEN_TILEX = 4
|
||||
.byte 16 ;START_KEEN_TILEY = 16
|
||||
|
||||
.byte 0 ;START_TILEMAP_X = 0
|
||||
.byte 8 ;START_TILEMAP_Y = 8
|
||||
|
||||
.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:
|
||||
|
||||
enemy_data_out: .byte 1, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_exploding: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_type: .byte YORP, YORP, YORP, YORP, YORP, YORP,YORP,YORP
|
||||
enemy_data_direction: .byte RIGHT, LEFT, LEFT, RIGHT, LEFT, RIGHT,LEFT,LEFT
|
||||
enemy_data_tilex: .byte 16, 19, 23, 14, 14, 16, 42, 70
|
||||
enemy_data_tiley: .byte 9, 9, 9, 45, 38, 43, 44, 34
|
||||
enemy_data_x: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
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_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
||||
|
||||
; FIXME: this is not correct
|
||||
; enemy1: yorp @16,9, right
|
||||
; enemy2: yorp @19,9 left
|
||||
; enemy3: yorp @23,9 left
|
||||
; enemy4: yorp @14,45 right
|
||||
; enemy5: yorp @14,38 left
|
||||
; enemy6: yorp @16,43 right
|
||||
; enemy7: yorp @42,44 left
|
||||
; enemy8: yorp @70,34 left
|
||||
|
||||
; enemy9: garg @50,31 right
|
||||
; enemy10: garg @63,45 right
|
||||
|
||||
; enemy?: butler robot@27,7 left
|
||||
; enemy?: vorticon @53,8 right
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6200
|
||||
oracle_message:
|
||||
.byte $0
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6300
|
||||
level14_data_zx02:
|
||||
.incbin "maps/level14_map.zx02"
|
40
games/keen/level15.s
Normal file
@ -0,0 +1,40 @@
|
||||
; Level 15 (Ice Shrine 2)
|
||||
|
||||
; at $6000
|
||||
|
||||
level15_data:
|
||||
.byte 20 ;MAX_TILE_X = 20 ; 20 wide
|
||||
.byte 26 ;MAX_TILE_Y = 26 ; 26 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
|
||||
level15_data_zx02:
|
||||
.incbin "maps/level15_map.zx02"
|
65
games/keen/level16.s
Normal file
@ -0,0 +1,65 @@
|
||||
; Level 16 (Vorticon Castle)
|
||||
|
||||
.include "enemies.inc"
|
||||
|
||||
; at $6000
|
||||
|
||||
level16_data:
|
||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
||||
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
||||
|
||||
.byte 4 ;START_KEEN_TILEX = 4
|
||||
.byte 16 ;START_KEEN_TILEY = 16
|
||||
|
||||
.byte 0 ;START_TILEMAP_X = 0
|
||||
.byte 8 ;START_TILEMAP_Y = 8
|
||||
|
||||
.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:
|
||||
|
||||
enemy_data_out: .byte 1, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_exploding: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_type: .byte YORP, YORP, YORP, YORP, YORP, YORP,YORP,YORP
|
||||
enemy_data_direction: .byte RIGHT, LEFT, LEFT, RIGHT, LEFT, RIGHT,LEFT,LEFT
|
||||
enemy_data_tilex: .byte 16, 19, 23, 14, 14, 16, 42, 70
|
||||
enemy_data_tiley: .byte 9, 9, 9, 45, 38, 43, 44, 34
|
||||
enemy_data_x: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
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_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
||||
|
||||
; FIXME: this is not correct
|
||||
; enemy1: yorp @16,9, right
|
||||
; enemy2: yorp @19,9 left
|
||||
; enemy3: yorp @23,9 left
|
||||
; enemy4: yorp @14,45 right
|
||||
; enemy5: yorp @14,38 left
|
||||
; enemy6: yorp @16,43 right
|
||||
; enemy7: yorp @42,44 left
|
||||
; enemy8: yorp @70,34 left
|
||||
|
||||
; enemy9: garg @50,31 right
|
||||
; enemy10: garg @63,45 right
|
||||
|
||||
; enemy?: butler robot@27,7 left
|
||||
; enemy?: vorticon @53,8 right
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6200
|
||||
oracle_message:
|
||||
.byte $0
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6300
|
||||
level16_data_zx02:
|
||||
.incbin "maps/level16_map.zx02"
|
40
games/keen/level6.s
Normal file
@ -0,0 +1,40 @@
|
||||
; Level 6 (Second Shrine)
|
||||
|
||||
; at $6000
|
||||
|
||||
level6_data:
|
||||
.byte 20 ;MAX_TILE_X = 20 ; 20 wide
|
||||
.byte 26 ;MAX_TILE_Y = 26 ; 26 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
|
||||
level6_data_zx02:
|
||||
.incbin "maps/level6_map.zx02"
|
65
games/keen/level7.s
Normal file
@ -0,0 +1,65 @@
|
||||
; Level 7 (Emerald City)
|
||||
|
||||
.include "enemies.inc"
|
||||
|
||||
; at $6000
|
||||
|
||||
level7_data:
|
||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
||||
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
||||
|
||||
.byte 4 ;START_KEEN_TILEX = 4
|
||||
.byte 16 ;START_KEEN_TILEY = 16
|
||||
|
||||
.byte 0 ;START_TILEMAP_X = 0
|
||||
.byte 8 ;START_TILEMAP_Y = 8
|
||||
|
||||
.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:
|
||||
|
||||
enemy_data_out: .byte 1, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_exploding: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_type: .byte YORP, YORP, YORP, YORP, YORP, YORP,YORP,YORP
|
||||
enemy_data_direction: .byte RIGHT, LEFT, LEFT, RIGHT, LEFT, RIGHT,LEFT,LEFT
|
||||
enemy_data_tilex: .byte 16, 19, 23, 14, 14, 16, 42, 70
|
||||
enemy_data_tiley: .byte 9, 9, 9, 45, 38, 43, 44, 34
|
||||
enemy_data_x: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
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_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
||||
|
||||
; FIXME: this is not correct
|
||||
; enemy1: yorp @16,9, right
|
||||
; enemy2: yorp @19,9 left
|
||||
; enemy3: yorp @23,9 left
|
||||
; enemy4: yorp @14,45 right
|
||||
; enemy5: yorp @14,38 left
|
||||
; enemy6: yorp @16,43 right
|
||||
; enemy7: yorp @42,44 left
|
||||
; enemy8: yorp @70,34 left
|
||||
|
||||
; enemy9: garg @50,31 right
|
||||
; enemy10: garg @63,45 right
|
||||
|
||||
; enemy?: butler robot@27,7 left
|
||||
; enemy?: vorticon @53,8 right
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6200
|
||||
oracle_message:
|
||||
.byte $0
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6300
|
||||
level7_data_zx02:
|
||||
.incbin "maps/level7_map.zx02"
|
65
games/keen/level8.s
Normal file
@ -0,0 +1,65 @@
|
||||
; Level 8 (Ice City)
|
||||
|
||||
.include "enemies.inc"
|
||||
|
||||
; at $6000
|
||||
|
||||
level8_data:
|
||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
||||
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
||||
|
||||
.byte 4 ;START_KEEN_TILEX = 4
|
||||
.byte 16 ;START_KEEN_TILEY = 16
|
||||
|
||||
.byte 0 ;START_TILEMAP_X = 0
|
||||
.byte 8 ;START_TILEMAP_Y = 8
|
||||
|
||||
.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:
|
||||
|
||||
enemy_data_out: .byte 1, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_exploding: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_type: .byte YORP, YORP, YORP, YORP, YORP, YORP,YORP,YORP
|
||||
enemy_data_direction: .byte RIGHT, LEFT, LEFT, RIGHT, LEFT, RIGHT,LEFT,LEFT
|
||||
enemy_data_tilex: .byte 16, 19, 23, 14, 14, 16, 42, 70
|
||||
enemy_data_tiley: .byte 9, 9, 9, 45, 38, 43, 44, 34
|
||||
enemy_data_x: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
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_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
||||
|
||||
; FIXME: this is not correct
|
||||
; enemy1: yorp @16,9, right
|
||||
; enemy2: yorp @19,9 left
|
||||
; enemy3: yorp @23,9 left
|
||||
; enemy4: yorp @14,45 right
|
||||
; enemy5: yorp @14,38 left
|
||||
; enemy6: yorp @16,43 right
|
||||
; enemy7: yorp @42,44 left
|
||||
; enemy8: yorp @70,34 left
|
||||
|
||||
; enemy9: garg @50,31 right
|
||||
; enemy10: garg @63,45 right
|
||||
|
||||
; enemy?: butler robot@27,7 left
|
||||
; enemy?: vorticon @53,8 right
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6200
|
||||
oracle_message:
|
||||
.byte $0
|
||||
|
||||
.align $100
|
||||
|
||||
; at $6300
|
||||
level8_data_zx02:
|
||||
.incbin "maps/level8_map.zx02"
|
40
games/keen/level9.s
Normal file
@ -0,0 +1,40 @@
|
||||
; Level 9 (Third Shrine)
|
||||
|
||||
; at $6000
|
||||
|
||||
level9_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
|
||||
level9_data_zx02:
|
||||
.incbin "maps/level9_map.zx02"
|
@ -8,7 +8,12 @@ PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
all: png2map \
|
||||
level1_map.zx02 level2_map.zx02 \
|
||||
level3_map.zx02 level4_map.zx02 \
|
||||
level5_map.zx02 \
|
||||
level5_map.zx02 level6_map.zx02 \
|
||||
level7_map.zx02 level8_map.zx02 \
|
||||
level9_map.zx02 level10_map.zx02 \
|
||||
level11_map.zx02 level12_map.zx02 \
|
||||
level13_map.zx02 level14_map.zx02 \
|
||||
level15_map.zx02 level16_map.zx02 \
|
||||
mars_map.zx02
|
||||
|
||||
###
|
||||
@ -51,6 +56,93 @@ level5_map.zx02: level5_map.inc
|
||||
level5_map.inc: level5_map.png png2map
|
||||
./png2map level5_map.png level5_map.inc
|
||||
|
||||
###
|
||||
|
||||
level6_map.zx02: level6_map.inc
|
||||
$(ZX02) level6_map.inc level6_map.zx02
|
||||
|
||||
level6_map.inc: level6_map.png png2map
|
||||
./png2map level6_map.png level6_map.inc
|
||||
|
||||
###
|
||||
|
||||
level7_map.zx02: level7_map.inc
|
||||
$(ZX02) level7_map.inc level7_map.zx02
|
||||
|
||||
level7_map.inc: level7_map.png png2map
|
||||
./png2map level7_map.png level7_map.inc
|
||||
|
||||
###
|
||||
|
||||
level8_map.zx02: level8_map.inc
|
||||
$(ZX02) level8_map.inc level8_map.zx02
|
||||
|
||||
level8_map.inc: level8_map.png png2map
|
||||
./png2map level8_map.png level8_map.inc
|
||||
|
||||
###
|
||||
|
||||
level9_map.zx02: level9_map.inc
|
||||
$(ZX02) level9_map.inc level9_map.zx02
|
||||
|
||||
level9_map.inc: level9_map.png png2map
|
||||
./png2map level9_map.png level9_map.inc
|
||||
|
||||
###
|
||||
|
||||
level10_map.zx02: level10_map.inc
|
||||
$(ZX02) level10_map.inc level10_map.zx02
|
||||
|
||||
level10_map.inc: level10_map.png png2map
|
||||
./png2map level10_map.png level10_map.inc
|
||||
|
||||
###
|
||||
|
||||
level11_map.zx02: level11_map.inc
|
||||
$(ZX02) level11_map.inc level11_map.zx02
|
||||
|
||||
level11_map.inc: level11_map.png png2map
|
||||
./png2map level11_map.png level11_map.inc
|
||||
|
||||
###
|
||||
|
||||
level12_map.zx02: level12_map.inc
|
||||
$(ZX02) level12_map.inc level12_map.zx02
|
||||
|
||||
level12_map.inc: level12_map.png png2map
|
||||
./png2map level12_map.png level12_map.inc
|
||||
|
||||
###
|
||||
|
||||
level13_map.zx02: level13_map.inc
|
||||
$(ZX02) level13_map.inc level13_map.zx02
|
||||
|
||||
level13_map.inc: level13_map.png png2map
|
||||
./png2map level13_map.png level13_map.inc
|
||||
|
||||
###
|
||||
|
||||
level14_map.zx02: level14_map.inc
|
||||
$(ZX02) level14_map.inc level14_map.zx02
|
||||
|
||||
level14_map.inc: level14_map.png png2map
|
||||
./png2map level14_map.png level14_map.inc
|
||||
|
||||
###
|
||||
|
||||
level15_map.zx02: level15_map.inc
|
||||
$(ZX02) level15_map.inc level15_map.zx02
|
||||
|
||||
level15_map.inc: level15_map.png png2map
|
||||
./png2map level15_map.png level15_map.inc
|
||||
|
||||
###
|
||||
|
||||
level16_map.zx02: level16_map.inc
|
||||
$(ZX02) level16_map.inc level16_map.zx02
|
||||
|
||||
level16_map.inc: level16_map.png png2map
|
||||
./png2map level16_map.png level16_map.inc
|
||||
|
||||
|
||||
###
|
||||
|
BIN
games/keen/maps/level10_map.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
games/keen/maps/level11_map.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
games/keen/maps/level12_map.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
games/keen/maps/level13_map.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
games/keen/maps/level14_map.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
games/keen/maps/level15_map.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
games/keen/maps/level16_map.png
Normal file
After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
BIN
games/keen/maps/level6_map.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
games/keen/maps/level7_map.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
games/keen/maps/level8_map.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
games/keen/maps/level9_map.png
Normal file
After Width: | Height: | Size: 11 KiB |