keen: sort of have level load working again

This commit is contained in:
Vince Weaver 2024-04-20 00:43:31 -04:00
parent 0652503fbc
commit 1c6eec35b4
8 changed files with 66 additions and 28 deletions

View File

@ -65,7 +65,7 @@ mars.o: mars.s zp.inc hardware.inc game_over.s \
LEVEL1: level1.o
ld65 -o LEVEL1 level1.o -C ../../linker_scripts/apple2_6000.inc
level1.o: level1.s \
level1.o: level1.s enemies.inc \
maps/level1_map.zx02
ca65 -o level1.o level1.s -l level1.lst
@ -74,7 +74,7 @@ level1.o: level1.s \
LEVEL2: level2.o
ld65 -o LEVEL2 level2.o -C ../../linker_scripts/apple2_6000.inc
level2.o: level2.s \
level2.o: level2.s enemies.inc \
maps/level2_map.zx02
ca65 -o level2.o level2.s -l level2.lst
@ -83,7 +83,7 @@ level2.o: level2.s \
LEVEL3: level3.o
ld65 -o LEVEL3 level3.o -C ../../linker_scripts/apple2_6000.inc
level3.o: level3.s \
level3.o: level3.s enemies.inc \
maps/level3_map.zx02
ca65 -o level3.o level3.s -l level3.lst

10
games/keen/enemies.inc Normal file
View File

@ -0,0 +1,10 @@
YORP = 0
YORP_WALK = 0
YORP_JUMP = 1
YORP_SEARCH = 2
YORP_WALK2 = 3
YORP_STUNNED= 4
LEFT = $FF
RIGHT = $1

View File

@ -7,6 +7,8 @@
.include "hardware.inc"
.include "common_defines.inc"
.include "enemies.inc"
; .include "level1_data.inc"
level_data = $6000
@ -19,10 +21,18 @@ level_data = $6000
num_enemies = level_data+6
hardtop_tiles = level_data+7
allhard_tiles = level_data+8
enemy_data = $6100
enemy_data_out = enemy_data+0
enemy_data_exploding = enemy_data+8
enemy_data_type = enemy_data+16
enemy_data_direction = enemy_data+24
enemy_data_tilex = enemy_data+32
enemy_data_tiley = enemy_data+40
enemy_data_x = enemy_data+48
enemy_data_y = enemy_data+56
enemy_data_state = enemy_data+64
enemy_data_count = enemy_data+72
;enemy_data = $6100
oracle_message = $6200
level_data_zx02 = $6300

View File

@ -1,5 +1,7 @@
; Level 1 (Border Town)
.include "enemies.inc"
; at $6000
level1_data:
@ -22,11 +24,21 @@ level1_data:
; at $6100
enemy_data:
.byte $0
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, LEFT, LEFT, RIGHT,RIGHT,LEFT
enemy_data_tilex: .byte 19, 38, 45, 69, 81, 89, 92, 100
enemy_data_tiley: .byte 13, 4, 4, 13, 4, 4, 13, 10
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
.align $100
; at $6200\
; at $6200
oracle_message:
.byte $0
@ -35,3 +47,6 @@ oracle_message:
; at $6300
level1_data_zx02:
.incbin "maps/level1_map.zx02"

View File

@ -393,27 +393,27 @@ enemy_explosion_sprite3:
.byte $7A,$5A
.byte $A5,$A7
YORP = 0
;YORP = 0
YORP_WALK = 0
YORP_JUMP = 1
YORP_SEARCH = 2
YORP_WALK2 = 3
YORP_STUNNED= 4
;YORP_WALK = 0
;YORP_JUMP = 1
;YORP_SEARCH = 2
;YORP_WALK2 = 3
;YORP_STUNNED= 4
LEFT = $FF
RIGHT = $1
;LEFT = $FF
;RIGHT = $1
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, LEFT, LEFT, RIGHT,RIGHT,LEFT
enemy_data_tilex: .byte 19, 38, 45, 69, 81, 89, 92, 100
enemy_data_tiley: .byte 13, 4, 4, 13, 4, 4, 13, 10
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
;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, LEFT, LEFT, RIGHT,RIGHT,LEFT
;enemy_data_tilex: .byte 19, 38, 45, 69, 81, 89, 92, 100
;enemy_data_tiley: .byte 13, 4, 4, 13, 4, 4, 13, 10
;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
; question: when do they activate? When do they move when offscreen?

View File

@ -4,7 +4,7 @@
level3_data:
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
.byte 16 ;MAX_TILE_Y = 16 ; 16 tall
.byte 44 ;MAX_TILE_Y = 16 ; 16 tall
.byte 1 ;START_KEEN_TILEX = 1
.byte 13 ;START_KEEN_TILEY = 13
@ -12,7 +12,7 @@ level3_data:
.byte 0 ;START_TILEMAP_X = 0
.byte 5 ;START_TILEMAP_Y = 5
.byte 8 ;NUM_ENEMIES = 8
.byte 0 ;NUM_ENEMIES = 8
.byte 32 ;HARDTOP_TILES = 32 ; start at 32
.byte 40 ;ALLHARD_TILES = 40 ; start at 40

View File

@ -200,6 +200,7 @@ filenames:
.word mars_filename
.word keen1_filename
.word keen2_filename
.word keen3_filename
engine_filename:
.byte "ENGINE",0

View File

@ -42,6 +42,8 @@ plenty_of_keens:
sta FRAMEL
sta FRAMEH
sta NUM_ENEMIES
lda #4
sta DRAW_PAGE