; ----------------------------------------------------------- ; win.asm - the escape screen: big ESCAPED with the gold ; wash; fire returns to the main menu ; ----------------------------------------------------------- win_init: jsr clear_screen +prbig 3, 6, YELLOW, txt_escaped, 7 +prtext 11, 15, WHITE, txt_welldone, txt_welldonee-txt_welldone +prtext 13, 10, LGREY, txt_beaten, txt_beatene-txt_beaten lda #0 sta washphase +setupd win_update rts win_update: ; the border celebrates along on the same gold ramp lda framectr lsr lsr and #15 tax lda washtbl,x sta borbase ; the gold wash rolls down the big letters (rows 3-7) inc washphase lda #0 sta rtmp2 wu_row: lda #3 clc adc rtmp2 tax jsr row_ptr lda washphase lsr clc adc rtmp2 and #15 tax lda washtbl,x sta rtmp ldy #32 ; the letters span columns 6-32 wu_col: lda (scrlo),y cmp #$a0 bne wu_skip lda rtmp sta (collo),y wu_skip: dey cpy #5 bne wu_col inc rtmp2 lda rtmp2 cmp #5 bne wu_row ; blink the prompt lda framectr and #32 bne wu_hide +prtext 20, 14, YELLOW, txt_firemenu, txt_firemenue-txt_firemenu jmp wu_input wu_hide: +prtext 20, 14, YELLOW, txt_blank, txt_firemenue-txt_firemenu wu_input: jsr start_edge beq wu_stay +fadeto menu_init ; a win leads back to the main screen wu_stay: rts ; ---- win texts ---- txt_escaped: !scr "escaped" txt_welldone: !scr "well done!" txt_welldonee: txt_beaten: !scr "you beat labyrintwo" txt_beatene: txt_firemenu: !scr "fire = menu" txt_firemenue: