mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-05-30 15:41:32 +00:00
keen: sort of have level load working again
This commit is contained in:
parent
0652503fbc
commit
1c6eec35b4
|
@ -65,7 +65,7 @@ mars.o: mars.s zp.inc hardware.inc game_over.s \
|
||||||
LEVEL1: level1.o
|
LEVEL1: level1.o
|
||||||
ld65 -o LEVEL1 level1.o -C ../../linker_scripts/apple2_6000.inc
|
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
|
maps/level1_map.zx02
|
||||||
ca65 -o level1.o level1.s -l level1.lst
|
ca65 -o level1.o level1.s -l level1.lst
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ level1.o: level1.s \
|
||||||
LEVEL2: level2.o
|
LEVEL2: level2.o
|
||||||
ld65 -o LEVEL2 level2.o -C ../../linker_scripts/apple2_6000.inc
|
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
|
maps/level2_map.zx02
|
||||||
ca65 -o level2.o level2.s -l level2.lst
|
ca65 -o level2.o level2.s -l level2.lst
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ level2.o: level2.s \
|
||||||
LEVEL3: level3.o
|
LEVEL3: level3.o
|
||||||
ld65 -o LEVEL3 level3.o -C ../../linker_scripts/apple2_6000.inc
|
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
|
maps/level3_map.zx02
|
||||||
ca65 -o level3.o level3.s -l level3.lst
|
ca65 -o level3.o level3.s -l level3.lst
|
||||||
|
|
||||||
|
|
10
games/keen/enemies.inc
Normal file
10
games/keen/enemies.inc
Normal 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
|
|
@ -7,6 +7,8 @@
|
||||||
.include "hardware.inc"
|
.include "hardware.inc"
|
||||||
.include "common_defines.inc"
|
.include "common_defines.inc"
|
||||||
|
|
||||||
|
.include "enemies.inc"
|
||||||
|
|
||||||
; .include "level1_data.inc"
|
; .include "level1_data.inc"
|
||||||
|
|
||||||
level_data = $6000
|
level_data = $6000
|
||||||
|
@ -19,10 +21,18 @@ level_data = $6000
|
||||||
num_enemies = level_data+6
|
num_enemies = level_data+6
|
||||||
hardtop_tiles = level_data+7
|
hardtop_tiles = level_data+7
|
||||||
allhard_tiles = level_data+8
|
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
|
oracle_message = $6200
|
||||||
level_data_zx02 = $6300
|
level_data_zx02 = $6300
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
; Level 1 (Border Town)
|
; Level 1 (Border Town)
|
||||||
|
|
||||||
|
.include "enemies.inc"
|
||||||
|
|
||||||
; at $6000
|
; at $6000
|
||||||
|
|
||||||
level1_data:
|
level1_data:
|
||||||
|
@ -22,11 +24,21 @@ level1_data:
|
||||||
|
|
||||||
; at $6100
|
; at $6100
|
||||||
enemy_data:
|
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
|
.align $100
|
||||||
|
|
||||||
; at $6200\
|
; at $6200
|
||||||
oracle_message:
|
oracle_message:
|
||||||
.byte $0
|
.byte $0
|
||||||
|
|
||||||
|
@ -35,3 +47,6 @@ oracle_message:
|
||||||
; at $6300
|
; at $6300
|
||||||
level1_data_zx02:
|
level1_data_zx02:
|
||||||
.incbin "maps/level1_map.zx02"
|
.incbin "maps/level1_map.zx02"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -393,27 +393,27 @@ enemy_explosion_sprite3:
|
||||||
.byte $7A,$5A
|
.byte $7A,$5A
|
||||||
.byte $A5,$A7
|
.byte $A5,$A7
|
||||||
|
|
||||||
YORP = 0
|
;YORP = 0
|
||||||
|
|
||||||
YORP_WALK = 0
|
;YORP_WALK = 0
|
||||||
YORP_JUMP = 1
|
;YORP_JUMP = 1
|
||||||
YORP_SEARCH = 2
|
;YORP_SEARCH = 2
|
||||||
YORP_WALK2 = 3
|
;YORP_WALK2 = 3
|
||||||
YORP_STUNNED= 4
|
;YORP_STUNNED= 4
|
||||||
|
|
||||||
LEFT = $FF
|
;LEFT = $FF
|
||||||
RIGHT = $1
|
;RIGHT = $1
|
||||||
|
|
||||||
enemy_data_out: .byte 1, 0, 0, 0, 0, 0, 0, 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_exploding: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
enemy_data_type: .byte YORP, YORP, YORP, YORP, YORP, YORP,YORP,YORP
|
;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_direction: .byte RIGHT, LEFT, LEFT, LEFT, LEFT, RIGHT,RIGHT,LEFT
|
||||||
enemy_data_tilex: .byte 19, 38, 45, 69, 81, 89, 92, 100
|
;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_tiley: .byte 13, 4, 4, 13, 4, 4, 13, 10
|
||||||
enemy_data_x: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
;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_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
|
||||||
|
|
||||||
; question: when do they activate? When do they move when offscreen?
|
; question: when do they activate? When do they move when offscreen?
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
level3_data:
|
level3_data:
|
||||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
.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 1 ;START_KEEN_TILEX = 1
|
||||||
.byte 13 ;START_KEEN_TILEY = 13
|
.byte 13 ;START_KEEN_TILEY = 13
|
||||||
|
@ -12,7 +12,7 @@ level3_data:
|
||||||
.byte 0 ;START_TILEMAP_X = 0
|
.byte 0 ;START_TILEMAP_X = 0
|
||||||
.byte 5 ;START_TILEMAP_Y = 5
|
.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 32 ;HARDTOP_TILES = 32 ; start at 32
|
||||||
.byte 40 ;ALLHARD_TILES = 40 ; start at 40
|
.byte 40 ;ALLHARD_TILES = 40 ; start at 40
|
||||||
|
|
|
@ -200,6 +200,7 @@ filenames:
|
||||||
.word mars_filename
|
.word mars_filename
|
||||||
.word keen1_filename
|
.word keen1_filename
|
||||||
.word keen2_filename
|
.word keen2_filename
|
||||||
|
.word keen3_filename
|
||||||
|
|
||||||
engine_filename:
|
engine_filename:
|
||||||
.byte "ENGINE",0
|
.byte "ENGINE",0
|
||||||
|
|
|
@ -42,6 +42,8 @@ plenty_of_keens:
|
||||||
sta FRAMEL
|
sta FRAMEL
|
||||||
sta FRAMEH
|
sta FRAMEH
|
||||||
|
|
||||||
|
sta NUM_ENEMIES
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user