From ff59ce3205ce31f4bcc0454f1fc5690a6424b5c9 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 19 Jun 2023 20:03:28 +0200 Subject: [PATCH] Preparing for the manual --- Atari/Manual/manual.asm | 113 +++++++++++++++++++++++++++++++++++ artwork/splash_v2/splash.asm | 57 +++++++++++++++++- scorch.asm | 1 + scorch.xex | Bin 56613 -> 58214 bytes 4 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 Atari/Manual/manual.asm diff --git a/Atari/Manual/manual.asm b/Atari/Manual/manual.asm new file mode 100644 index 0000000..b61dfee --- /dev/null +++ b/Atari/Manual/manual.asm @@ -0,0 +1,113 @@ + + +* --- MAIN PROGRAM + org $2000 +FontManual + ins '../../artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt' + +StartManual +; jsr init_song + + lda >FontManual + sta chbase + sta chbas + lda #$00 + sta colbak + lda #$00 + sta colpf0 + lda #$02 + sta colpf1 + lda #$08 + sta colpf2 + lda #$00 + sta colpf3 + lda #$03 + + ; and now display manual language selection screen + mva ManualDL dlptrs+1 + mva #%00111110 dmactls ;set new screen width + +@checkkey + lda trig0 ; FIRE #0 + beq game + + lda trig1 ; FIRE #1 + beq game + + lda consol ; START + and #1 + beq game + + lda skctl ; ANY KEY + and #$04 + bne @checkkey + +game + ; silent + lda #0 + ldx #8 +@ sta POKEY,x + sta POKEY2,x ; stereo + dex + bpl @- + + ;no glitching please (issue #67) + lda #0 + sta $D400 ;dmactl + sta $022F ;dmactls + + + mva #$ff portb ;ROM switch on + mva #$40 nmien ;only NMI interrupts, DLI disabled + cli ;IRQ enabled + + ; and now display manual language selection screen + mva lngDL dlptrs+1 + mva #%00111110 dmactls ;set new screen width + rts ;return to ... DOS + + +InitEnglish + lda ManualLangFlag + cmp #1 ; english + jeq StartManual + rts + +InitPolish + lda ManualLangFlag + cmp #2 ; polish + jeq StartManual + rts + +//-------------------- +ManualDL + .byte $70 + .byte $47 + .word ManTitle + .byte $70,$70 + .byte $42 + .word ManText + .byte $02 + .byte $41 + .word ManualDL +; ------------------------------------------------ +ManualTexts +ManTitle + dta d" manual "* +ManText + dta d" English Manual " + dta d" English Manual " +;--- + ini InitEnglish +;--- + + org ManualTexts + dta d" instrukcja "* + dta d" Polska instrukcja " + dta d" Polska instrukcja " +;--- + ini InitPolish +;--- + \ No newline at end of file diff --git a/artwork/splash_v2/splash.asm b/artwork/splash_v2/splash.asm index 93accb2..4cee4bb 100644 --- a/artwork/splash_v2/splash.asm +++ b/artwork/splash_v2/splash.asm @@ -30,6 +30,9 @@ byt2 .ds 1 zc .ds ZCOLORS + org $600 +ManualLangFlag .ds 1 + * --- BASIC switch OFF org $2000\ mva #$ff portb\ rts\ ini $2000 @@ -67,6 +70,7 @@ mother icl "lzss_player.asm" ; player (and data) for splash music main + mva #00 ManualLangFlag ; no manual page jsr init_song * --- init PMG @@ -173,7 +177,10 @@ s0 lda #$03 lda skctl ; ANY KEY and #$04 bne skp - + lda kbcode + cmp #$25 ; "M" key + bne stop + mva #01 ManualLangFlag ; english manual page stop mva #$00 pmcntl ;PMG disabled tax sta:rne hposp0,x+ @@ -196,6 +203,37 @@ stop mva #$00 pmcntl ;PMG disabled mva #$40 nmien ;only NMI interrupts, DLI disabled cli ;IRQ enabled + lda ManualLangFlag + beq waitkey2release + ; and now display manual language selection screen + mva lngDL dlptrs+1 + mva #%00111110 dmactls ;set new screen width + + ; wait for key +waitkey2 + lda skctl ; ANY KEY + and #$04 + bne waitkey2 + lda kbcode + cmp #$2A ; "E" key + bne notEng + mva #01 ManualLangFlag ; english manual page + bne endsplash +notEng + cmp #$0A ; "P" key + bne waitkey2 + mva #02 ManualLangFlag ; polish manual page +endsplash + ;no glitching please (issue #67) + lda #0 + sta $D400 ;dmactl + sta $022F ;dmactls +waitkey2release + lda skctl ; ANY KEY + and #$04 + beq waitkey2release + rts ;return to ... DOS skp @@ -223,6 +261,23 @@ byt3 brk ;--- +lngDL + .byte $70,$70,$70,$70,$70 + .byte $47 + .word LngTitle + .byte $70,$70 + .byte $42 + .word LngList + .byte $50,$02 + .byte $41 + .word lngDL +LngTitle + dta d" select language "* +LngList + dta d" E - English Manual " + dta d" P - Polska instrukcja " + +;--- .MACRO ANTIC_PROGRAM dta $70,$70 :+8 dta $4e,a(:1+$0000+#*40) diff --git a/scorch.asm b/scorch.asm index 9044095..a3e6eed 100644 --- a/scorch.asm +++ b/scorch.asm @@ -160,6 +160,7 @@ FirstZpageVariable = $54 icl 'Atari/lib/ATARISYS.ASM' icl 'Atari/lib/MACRO.ASM' icl 'artwork/splash_v2/splash.asm' ; splash screen and musix + icl 'Atari/Manual/manual.asm' ; manuals display .ELIF TARGET = 5200 OPT h-f+ ; no headers, single block --> cart bin file icl 'Atari/lib/5200SYS.ASM' diff --git a/scorch.xex b/scorch.xex index fbaaff44cdf8c6172d2c0e4a5d0b6665f45cb0db..3af5b1238545da2f994bcf82a3070078db15caf7 100644 GIT binary patch delta 591 zcmZ3wi}~3x<_&Td?Bx?zGW0UAO;)gwXJno1U@?u8Vd7cFi5?jW?>FDKFjY~IUn_Xw zgVb923!01{gxB(4(qy?%wU+bJN!1IiD;YsLHDYz@*D|nuFkQ*iYrwQ}Vy_|7O1oZt zCWzXfAhlW-*uiQqaGvD4@EoX)femEq6_~0IKNA%GXZdtwKjV7F^^S4kD2m047JKi46^(pT2qe_)Ei^hwq+$efa!ogKR?s0}QA#@G_|8rRQW8 zXE5j{=9MPqOg^Y6rfC2aHptH@&Q4^=%quP_D$P#LN`&cQV0gszm?H1oL73kFacdDbpc3-T>v^-{K86(UI`Fa^1@2yl@ma|Re||-vOugj3eZm*RhS$ns5C&p+lTMIK70e^ARGr|q4{W`l2jm)0sxYX6&3gIn^OsLwUq62J5X?nViV-4{7b=OXV~8T@0Ebko3WLLc=gs?7 M8Cf=0Ca$Rl036HH^Z)<= delta 108 zcmV-y0F(db#sj6g1F#-A0h7;sWCWVru|E O|3jldUIeqbXRUjf0xu!}