2021-09-07 04:55:37 +00:00
|
|
|
; Peasant's Quest Ending
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
; The credits scenes
|
2021-09-07 04:55:37 +00:00
|
|
|
|
|
|
|
; by Vince `deater` Weaver vince@deater.net
|
|
|
|
|
|
|
|
.include "hardware.inc"
|
|
|
|
.include "zp.inc"
|
|
|
|
|
|
|
|
.include "qload.inc"
|
|
|
|
|
|
|
|
ending:
|
2021-09-11 03:18:21 +00:00
|
|
|
; lda #0
|
|
|
|
; sta GAME_OVER
|
2021-09-07 04:55:37 +00:00
|
|
|
|
|
|
|
jsr hgr_make_tables
|
|
|
|
|
|
|
|
jsr HGR2 ; Hi-res graphics, no text at bottom
|
|
|
|
; Y=0, A=0 after this called
|
|
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
sta FRAME
|
|
|
|
|
|
|
|
; update score
|
|
|
|
|
|
|
|
jsr update_score
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
|
|
|
|
;=====================
|
|
|
|
; re-start music
|
|
|
|
;=====================
|
|
|
|
; need to un-do any patching
|
|
|
|
; reset to beginning of song
|
|
|
|
; and start interrupts
|
|
|
|
|
|
|
|
; FIXME: only if mockingboard enabled
|
|
|
|
|
|
|
|
cli
|
2021-09-07 04:55:37 +00:00
|
|
|
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
;=====================
|
|
|
|
;=====================
|
|
|
|
; boat scene
|
|
|
|
;=====================
|
|
|
|
;=====================
|
2021-09-08 03:31:37 +00:00
|
|
|
boat:
|
|
|
|
|
|
|
|
lda #<lake_e_boat_lzsa
|
|
|
|
sta getsrc_smc+1
|
|
|
|
lda #>lake_e_boat_lzsa
|
|
|
|
sta getsrc_smc+2
|
|
|
|
|
|
|
|
lda #$40
|
|
|
|
|
|
|
|
jsr decompress_lzsa2_fast
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
jsr update_top
|
|
|
|
|
|
|
|
; draw rectangle
|
|
|
|
|
|
|
|
lda #$80 ; color is black2
|
|
|
|
sta VGI_RCOLOR
|
|
|
|
|
|
|
|
lda #12
|
|
|
|
sta VGI_RX1
|
|
|
|
lda #38
|
|
|
|
sta VGI_RY1
|
|
|
|
lda #202
|
|
|
|
sta VGI_RXRUN
|
|
|
|
lda #20
|
|
|
|
sta VGI_RYRUN
|
|
|
|
jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
lda #214
|
|
|
|
sta VGI_RX1
|
|
|
|
lda #38
|
|
|
|
sta VGI_RY1
|
|
|
|
lda #45
|
|
|
|
sta VGI_RXRUN
|
|
|
|
lda #20
|
|
|
|
sta VGI_RYRUN
|
|
|
|
jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
|
|
|
|
lda #<boat_string
|
|
|
|
sta OUTL
|
|
|
|
lda #>boat_string
|
|
|
|
sta OUTH
|
|
|
|
|
|
|
|
jsr disp_put_string
|
|
|
|
|
|
|
|
|
|
|
|
;======================
|
|
|
|
; animate catching fish
|
|
|
|
|
|
|
|
|
2021-09-08 03:31:37 +00:00
|
|
|
jsr wait_until_keypress
|
|
|
|
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
;=======================
|
|
|
|
;=======================
|
|
|
|
; waterfall
|
|
|
|
;=======================
|
|
|
|
;=======================
|
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
waterfall:
|
|
|
|
|
|
|
|
lda #<waterfall_lzsa
|
|
|
|
sta getsrc_smc+1
|
|
|
|
lda #>waterfall_lzsa
|
|
|
|
sta getsrc_smc+2
|
|
|
|
|
|
|
|
lda #$40
|
|
|
|
|
|
|
|
jsr decompress_lzsa2_fast
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
jsr update_top
|
|
|
|
|
|
|
|
; draw rectangle
|
|
|
|
|
|
|
|
lda #$80 ; color is black2
|
|
|
|
sta VGI_RCOLOR
|
|
|
|
|
|
|
|
lda #44
|
|
|
|
sta VGI_RX1
|
|
|
|
lda #48
|
|
|
|
sta VGI_RY1
|
|
|
|
lda #192
|
|
|
|
sta VGI_RXRUN
|
|
|
|
lda #20
|
|
|
|
sta VGI_RYRUN
|
|
|
|
jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
lda #<waterfall_string
|
|
|
|
sta OUTL
|
|
|
|
lda #>waterfall_string
|
|
|
|
sta OUTH
|
|
|
|
|
|
|
|
jsr disp_put_string
|
|
|
|
|
|
|
|
;=========================
|
|
|
|
; animate baby
|
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
jsr wait_until_keypress
|
|
|
|
|
2021-09-11 03:40:04 +00:00
|
|
|
|
|
|
|
;=========================
|
|
|
|
;=========================
|
|
|
|
; jhonka
|
|
|
|
;=========================
|
|
|
|
;=========================
|
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
jhonka:
|
|
|
|
|
|
|
|
lda #<jhonka_lzsa
|
|
|
|
sta getsrc_smc+1
|
|
|
|
lda #>jhonka_lzsa
|
|
|
|
sta getsrc_smc+2
|
|
|
|
|
|
|
|
lda #$40
|
|
|
|
|
|
|
|
jsr decompress_lzsa2_fast
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
jsr update_top
|
|
|
|
|
|
|
|
; draw rectangle
|
|
|
|
|
|
|
|
lda #$80 ; color is black2
|
|
|
|
sta VGI_RCOLOR
|
|
|
|
|
2021-09-11 03:40:04 +00:00
|
|
|
lda #44
|
2021-09-11 03:18:21 +00:00
|
|
|
sta VGI_RX1
|
|
|
|
lda #58
|
|
|
|
sta VGI_RY1
|
2021-09-11 03:40:04 +00:00
|
|
|
lda #180
|
2021-09-11 03:18:21 +00:00
|
|
|
sta VGI_RXRUN
|
|
|
|
lda #12
|
|
|
|
sta VGI_RYRUN
|
|
|
|
jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
; lda #214
|
|
|
|
; sta VGI_RX1
|
|
|
|
; lda #58
|
|
|
|
; sta VGI_RY1
|
|
|
|
; lda #8
|
|
|
|
; sta VGI_RXRUN
|
|
|
|
; lda #20
|
|
|
|
; sta VGI_RYRUN
|
|
|
|
; jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
|
|
|
|
lda #<jhonka_string
|
|
|
|
sta OUTL
|
|
|
|
lda #>jhonka_string
|
|
|
|
sta OUTH
|
|
|
|
|
|
|
|
jsr disp_put_string
|
|
|
|
|
|
|
|
;=================
|
|
|
|
; animate jhonka
|
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
jsr wait_until_keypress
|
|
|
|
|
2021-09-11 03:40:04 +00:00
|
|
|
;========================
|
|
|
|
;========================
|
|
|
|
; cottage
|
|
|
|
;========================
|
|
|
|
;========================
|
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
cottage:
|
|
|
|
|
|
|
|
lda #<cottage_lzsa
|
|
|
|
sta getsrc_smc+1
|
|
|
|
lda #>cottage_lzsa
|
|
|
|
sta getsrc_smc+2
|
|
|
|
|
|
|
|
lda #$40
|
|
|
|
|
|
|
|
jsr decompress_lzsa2_fast
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
jsr update_top
|
|
|
|
|
|
|
|
|
|
|
|
; draw rectangle
|
|
|
|
|
|
|
|
lda #$80 ; color is black2
|
|
|
|
sta VGI_RCOLOR
|
|
|
|
|
|
|
|
lda #40
|
|
|
|
sta VGI_RX1
|
|
|
|
lda #48
|
|
|
|
sta VGI_RY1
|
|
|
|
lda #192
|
|
|
|
sta VGI_RXRUN
|
|
|
|
lda #32
|
|
|
|
sta VGI_RYRUN
|
|
|
|
jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
|
|
|
|
lda #<cottage_string
|
|
|
|
sta OUTL
|
|
|
|
lda #>cottage_string
|
|
|
|
sta OUTH
|
|
|
|
|
|
|
|
jsr disp_put_string
|
|
|
|
|
2021-09-11 03:40:04 +00:00
|
|
|
lda #42
|
|
|
|
jsr wait_a_bit
|
|
|
|
|
|
|
|
;====================
|
|
|
|
; second message
|
2021-09-07 04:55:37 +00:00
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
lda #11
|
|
|
|
sta VGI_RX1
|
|
|
|
lda #48
|
|
|
|
sta VGI_RY1
|
|
|
|
lda #192
|
|
|
|
sta VGI_RXRUN
|
|
|
|
lda #32
|
|
|
|
sta VGI_RYRUN
|
|
|
|
jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
lda #203
|
|
|
|
sta VGI_RX1
|
|
|
|
lda #48
|
|
|
|
sta VGI_RY1
|
|
|
|
lda #60
|
|
|
|
sta VGI_RXRUN
|
|
|
|
lda #32
|
|
|
|
sta VGI_RYRUN
|
|
|
|
jsr vgi_simple_rectangle
|
|
|
|
|
|
|
|
|
|
|
|
lda #<cottage_string2
|
|
|
|
sta OUTL
|
|
|
|
lda #>cottage_string2
|
|
|
|
sta OUTH
|
|
|
|
|
|
|
|
jsr disp_put_string
|
2021-09-07 04:55:37 +00:00
|
|
|
|
2021-09-11 03:40:04 +00:00
|
|
|
lda #42
|
|
|
|
jsr wait_a_bit
|
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
;========================
|
|
|
|
;========================
|
|
|
|
; final screen
|
|
|
|
;========================
|
|
|
|
;========================
|
2021-09-07 04:55:37 +00:00
|
|
|
final_screen:
|
|
|
|
|
|
|
|
lda #<the_end_lzsa
|
|
|
|
sta getsrc_smc+1
|
|
|
|
lda #>the_end_lzsa
|
|
|
|
sta getsrc_smc+2
|
|
|
|
|
|
|
|
lda #$40
|
|
|
|
|
|
|
|
jsr decompress_lzsa2_fast
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
jsr update_top
|
|
|
|
|
2021-09-09 12:13:42 +00:00
|
|
|
jsr wait_until_keypress
|
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
game_over:
|
|
|
|
|
2021-09-11 03:40:04 +00:00
|
|
|
jmp boat
|
2021-09-07 04:55:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
peasant_text:
|
|
|
|
.byte 25,2,"Peasant's Quest",0
|
|
|
|
|
|
|
|
|
|
|
|
.include "decompress_fast_v2.s"
|
|
|
|
.include "wait_keypress.s"
|
|
|
|
|
|
|
|
.include "hgr_font.s"
|
|
|
|
.include "draw_box.s"
|
|
|
|
.include "hgr_rectangle.s"
|
2021-09-11 03:40:04 +00:00
|
|
|
|
2021-09-07 04:55:37 +00:00
|
|
|
.include "hgr_1x5_sprite.s"
|
|
|
|
.include "hgr_partial_save.s"
|
|
|
|
.include "hgr_input.s"
|
|
|
|
.include "hgr_tables.s"
|
|
|
|
.include "hgr_text_box.s"
|
|
|
|
|
2021-09-11 03:40:04 +00:00
|
|
|
;.include "draw_peasant.s"
|
|
|
|
;.include "hgr_save_restore.s"
|
|
|
|
;.include "hgr_7x28_sprite_mask.s"
|
|
|
|
;.include "clear_bottom.s"
|
|
|
|
;.include "gr_offsets.s"
|
|
|
|
;.include "gr_copy.s"
|
|
|
|
;.include "version.inc"
|
2021-09-07 04:55:37 +00:00
|
|
|
|
|
|
|
.include "score.s"
|
|
|
|
|
|
|
|
.include "wait_a_bit.s"
|
|
|
|
|
|
|
|
.include "graphics_end/ending_graphics.inc"
|
2021-09-09 12:13:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
boat_string:
|
2021-09-11 03:18:21 +00:00
|
|
|
.byte 2,40
|
2021-09-09 12:13:42 +00:00
|
|
|
.byte " Peasant's Quest",13
|
|
|
|
.byte "Written by Matt, Jonathan, and Mike",0
|
|
|
|
|
|
|
|
waterfall_string:
|
2021-09-11 03:18:21 +00:00
|
|
|
.byte 7,50
|
2021-09-09 12:13:42 +00:00
|
|
|
.byte " Programmed by Jonathan",13
|
|
|
|
.byte "Apple ][ support by Deater",0
|
|
|
|
|
|
|
|
jhonka_string:
|
2021-09-11 03:18:21 +00:00
|
|
|
.byte 7,60
|
|
|
|
.byte "Graphics by Mike and Matt",0
|
2021-09-09 12:13:42 +00:00
|
|
|
|
|
|
|
cottage_string:
|
2021-09-11 03:18:21 +00:00
|
|
|
.byte 6,50
|
2021-09-09 12:13:42 +00:00
|
|
|
.byte " Quality Assurance Types:",13
|
|
|
|
.byte " Neal Stamper,",13
|
|
|
|
.byte "Don Chapman, and John Radle",0
|
|
|
|
|
|
|
|
cottage_string2:
|
2021-09-11 03:18:21 +00:00
|
|
|
.byte 2,58
|
2021-09-09 12:13:42 +00:00
|
|
|
.byte "Nice work on winning and everything.",0
|
|
|
|
|
2021-09-11 03:18:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
update_top:
|
|
|
|
; put peasant text
|
|
|
|
|
|
|
|
lda #<peasant_text
|
|
|
|
sta OUTL
|
|
|
|
lda #>peasant_text
|
|
|
|
sta OUTH
|
|
|
|
|
|
|
|
jsr hgr_put_string
|
|
|
|
|
|
|
|
; put score
|
|
|
|
|
|
|
|
jsr print_score
|
|
|
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|