From 204deef9f0c1f0dace67d497c06cece391cdcf5f Mon Sep 17 00:00:00 2001 From: Christian Johannesen Date: Fri, 16 Oct 2026 02:43:53 +0200 Subject: [PATCH] Add Aquarium splash screen --- README.md | 2 ++ petscii-aquarium/petscii-aquarium.asm | 40 ++++++++++++++++++++++---- petscii-aquarium/petscii-aquarium.prg | Bin 1026 -> 1233 bytes 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6a2763d..9448b15 100644 --- a/README.md +++ b/README.md @@ -77,4 +77,6 @@ Each program directory contains a loadable `.prg` and its readable source: - BASIC programs use line-numbered, uppercase `.bas` files compatible with stock Commodore BASIC V2. Their PRGs are tokenized at the normal `$0801` BASIC load address. - Machine-code programs use commented ACME `.asm` files. Their PRGs also load at `$0801`, where a short BASIC line starts the 6502 code with `SYS`. +New programs must open with an English splash screen containing the program title, a short description, `c64.p20.dev`, the release date, and a prompt to continue with Space. Gameplay instructions belong on the splash screen rather than occupying permanent rows in the running program. + All programs are self-contained and designed for ordinary PAL and NTSC C64 hardware as well as VICE-compatible emulators. diff --git a/petscii-aquarium/petscii-aquarium.asm b/petscii-aquarium/petscii-aquarium.asm index 8e92920..f363c04 100644 --- a/petscii-aquarium/petscii-aquarium.asm +++ b/petscii-aquarium/petscii-aquarium.asm @@ -26,16 +26,31 @@ start: sta $d020 lda #6 sta $d021 - lda #147 - jsr CHROUT + jsr show_splash ldx #0 print_title: - lda title,x + lda runtime_title,x beq initialize jsr CHROUT inx bne print_title +show_splash: + ldx #0 +print_splash: + lda splash_text,x + beq wait_for_space + jsr CHROUT + inx + bne print_splash +wait_for_space: + jsr GETIN + cmp #32 + bne wait_for_space + lda #147 + jsr CHROUT + rts + initialize: lda #3 sta animation_speed @@ -435,8 +450,23 @@ exit: jsr CHROUT rts -title: !byte 147 -!text "PETSCII AQUARIUM F FEED 1-3 SPEED Q QUIT" +splash_text: +!byte 147,13,13,13 +!text " PETSCII AQUARIUM" +!byte 13,13 +!text " A LIVELY WORLD OF FISH AND BUBBLES" +!byte 13,13 +!text " F FEEDS 1-3 SPEED Q QUITS" +!byte 13,13,13 +!text " C64.P20.DEV" +!byte 13,13 +!text " RELEASED 16 OCTOBER 2026" +!byte 13,13,13 +!text " PRESS SPACE TO START" +!byte 0 + +runtime_title: !byte 147 +!text " PETSCII AQUARIUM" !byte 0 fish_x: !byte 4,28,12,33,7,23 diff --git a/petscii-aquarium/petscii-aquarium.prg b/petscii-aquarium/petscii-aquarium.prg index 4b4cb66c2d06e9c6afa0547449f31db733483ae9..dce1119ffb57f13552754ef6ef6c8ada8d219f99 100644 GIT binary patch literal 1233 zcmZ`(OK1~O6rChZGMU`Aep*{Z;l?Vq3rm_x3*s+Lrx+ZaBs2B1P_p#15nQM{H{FOM zkuG#o2?4Gc4uqX-F zV$q&1K@d#j#tfJdZp;E}Fp#r=5#iV^7KGwjs31OHDD$th(885~yTDHi7V__Gn3h@Q zGsb`k#yA)gU`)dGg7FCOoP?)C7?7y7qFQP0Q{rK3fVY{Gz;`hZ^_deONv+3&*2bLo zbHsQIL^K7;1JUZ@B6%2d;uyuYfSvE=ewrL3h3Q97xlS^3<6w@%^cdu>I1cc=sGJmW zUc|d0j7f77fLlWNDujC%?PR5FLAW#x*ciGs4dqgRf5{em!LXpX1B@rYFdx7b;W=wD za@#NLn}7}vj}{XUZJF-{8nHIzB5dPGFR+D?1Sls$@7%Qaj>Non+C%B8M$u)d6}p!M zn`|}PS(WRc428<=5Nofdw!5h+$^9yc>bTWw+&T?@{vk_eN-j4Qgm*d=b+CMQnppD) z#VWKO50hi>=M5t&ZQIY^{>^4jdn$&HSTtyT!w{Q`T&gAIbZvHbc?TrO3@ycQ>0gp2EdvaPtX_9)+PF zqi0~~=S|w^Q@H%YPUc|f*C>Obd6Swfxcn9 zMNN-qbYXaD3y6PiLa18@kzk8o3^%N7@+{b2P!j9Cje&;d^=+%5NnGKFrgd#Xd+Ka{ vs?xgqSnh5~j2=3FgMY(4r>;J%bK!Roa1pfe--(wlUO9N};*AaZZ`I&8g=EC2 literal 1026 zcmZ`&QAkr!7{0snZg=-zTDdt1gR@k056M*Mp`wyf987Yl5Ja)w=1cV8L-e$ly-3$4 zKG@4*3?vVD!^eac`BZzb4!u-HGAd%ejM1E%PPhJZ@0Nq=KQABO`Ty_x&N&>D46-6T z9q^v(7X(2gOs#_EW~yMP%_?EkqPiJfARnp;A$b9E7DO3Vpk_4>R8V(7Er42trG&Z* z3>p8#$$93qYJUvTh@T z^*EzSFd@uUfE4BD709G5>{l=u0(Bpf_dqQJC2(uXf-wi{u{O}gBDj6DstL{bj>4as5BbAd=|AhB;jyi-isoe;Jnkc>deyy~FN7~(LrPxHj$_L*21k1esUf2;9n zG1o)`Or(8rGlr-Me+=TYeAob`>C>>g)RZBYqdp$Pxz?u*MP$1U+AkRSSiEWV~CX3mLYPmf(Jc-`7$ThA#%9336YA1P5Ur^ z7}TnOA3_uC^&b&j7$2UTxa#wfp}^G84d2ulAtPjDc=#G2{bvWs#JCOvBrxTh6q-8h zZmUa@q4|WvROQR6$j8JMOSAKI=SjOmJ}%iE9i2k&_=EV{T>F(!^hH|s-V86Z5*fY! e