From 49c02b24461621e21ea7f9d4ff5c146e874f32eb Mon Sep 17 00:00:00 2001 From: pkali Date: Thu, 10 Aug 2023 13:11:11 -0400 Subject: [PATCH] manual chapters wip --- Manuals/MANUAL_EN.md | 2 +- Manuals/MANUAL_PL_A800.bin | Bin 29588 -> 29620 bytes Manuals/MANUAL_PL_A800.md | 2 +- Manuals/manual.asm | 60 +++++++++++++++++++++++++++++++++++-- Manuals/manual_conv.py | 7 +++-- Manuals/manual_pl.xex | Bin 35185 -> 35385 bytes 6 files changed, 63 insertions(+), 8 deletions(-) diff --git a/Manuals/MANUAL_EN.md b/Manuals/MANUAL_EN.md index bfccfe7..326872e 100644 --- a/Manuals/MANUAL_EN.md +++ b/Manuals/MANUAL_EN.md @@ -1,6 +1,6 @@ # Basic instruction manual: -You can play using the keyboard (all functionality) or the joystick in the first port (all functionality necessary for gameplay). +You can play using the keyboard (all functionality) or the joystick in any port (all functionality necessary for gameplay). ## 1. Game Option Selection. diff --git a/Manuals/MANUAL_PL_A800.bin b/Manuals/MANUAL_PL_A800.bin index ddbcfd847b7cc2ca11aed3babbe6599e3ce304a7..61ef3f7b86e83af25fb4b671e5664a31155458a7 100644 GIT binary patch delta 155 zcmbR8oN>!@M#g^=8g$DUQu535bMh*484B`?k~32oILeEwDvL|9GgJRFq?P7nCuim7 zCFbPiha_iCoGr!pZ{xP9JdFP~d-G0Y0aAAa&w;2_VtaUjRGLaG(Adp~Rd<1?TJ;!a qAazqK708=xr{fRg^y)}}q?YQQ=Lb?Hwyd&1sxs;nNYFVZP#gg51wjb_ delta 110 zcmV-!0FnQ+=K+-G0g(ZK8whuEdUvwb980khjBx&gD6CtL%w^D1QllUXcJv#Bf?0kgs_&kwVb QJp~=Jm|DsKvtwLQ7bxy74gdfE diff --git a/Manuals/MANUAL_PL_A800.md b/Manuals/MANUAL_PL_A800.md index c90deea..193b0df 100644 --- a/Manuals/MANUAL_PL_A800.md +++ b/Manuals/MANUAL_PL_A800.md @@ -1,6 +1,6 @@ # Podstawowa instrukcja: -Grać można przy użyciu klawiatury (wszystkie funkcjonalności) lub joysticka (wszystkie funkcjonalności niezbędne w rozgrywce). +Grać można przy użyciu klawiatury (wszystkie funkcjonalności) lub joysticka w dowolnym porcie (wszystkie funkcjonalności niezbędne w rozgrywce). ## 1. Wybór opcji gry. diff --git a/Manuals/manual.asm b/Manuals/manual.asm index 0aa5f8b..0c81ee4 100644 --- a/Manuals/manual.asm +++ b/Manuals/manual.asm @@ -36,12 +36,12 @@ start jsr RASTERMUSICTRACKER ;Init ;second POKEY init lda #0 - sta $d218 + sta AUDCTL+$10 ldy #3 - sty $d21f + sty SKCTL+$10 ldy #8 @ - sta $d210,y + sta POKEY+$10,y dey bpl @- @@ -66,6 +66,18 @@ main_loop ; EXIT THIS WAY ---> jsr FadeOut VMAIN XITVBV,7 ; jsr SetVBL (off user proc) + lda #0 ; stereo silence + sta AUDCTL + sta AUDCTL+$10 + ldy #3 + sty SKCTL + sty SKCTL+$10 + ldy #8 +@ + sta POKEY,y + sta POKEY+$10,y + dey + bpl @- LDA #%01000000 ; DLI off STA NMIEN lda #0 ; screen off @@ -84,6 +96,10 @@ NoEscape beq scroll_down cmp #@kbcode._up beq scroll_up + cmp #@kbcode._left + beq prev_chapter + cmp #@kbcode._right + jeq next_chapter jmp main_loop scroll_down @@ -127,6 +143,44 @@ scroll_up scs:mwa #man_text top_src jmp main_loop +prev_chapter + ; find first $fe above the screen + sbw top_src #screen_width temp ; start a bit above the current screen + ldy #0 +prev_letter + lda (temp),y + cmp #$fe ; $fe - chapter marker + beq prev_chapter_found + dew temp + cpw temp #man_text + bcs @+ + mwa #man_text top_src + jmp main_loop +@ + jmp prev_letter +prev_chapter_found + mwa temp top_src + + jmp main_loop + +next_chapter + ; find first $fe below the top of the screen + adw top_src #screen_width temp ; start ~1 line below the current screen top + ldy #0 +next_letter + lda (temp),y + cmp #$fe + beq next_chapter_found + inw temp + cpw temp #man_text_end-screen_width*4 + bcc @+ + mwa start_address top_src + jmp main_loop +@ + jmp next_letter +next_chapter_found + mwa temp top_src + jmp main_loop ;-------------------------------------------------- .proc MakeScreenCopy mwa top_src src diff --git a/Manuals/manual_conv.py b/Manuals/manual_conv.py index 6407583..dded4da 100644 --- a/Manuals/manual_conv.py +++ b/Manuals/manual_conv.py @@ -53,9 +53,9 @@ with open(sys.argv[1], 'r') as f: out = '' for line in md: line = line.replace('ó', 'ɠ') # this is a dirty trick to avoid tripping 'ó' which is a legit LATIN-1 char - if line.startswith('#'): + if line.startswith('#'): # header line = remove_wierd(line) - out += line + out += '←' + line # header marker out += '-' * len(line) + '\n' else: line = remove_wierd(line) @@ -181,6 +181,7 @@ utf_to_internal = { 'Ź': 89, 'ź': 90, '↓': 93, + '←': 0xfe, # header marker # INVERSE chr(ord(' ')+128): 128+0, chr(ord('!')+128): 128+1, @@ -305,7 +306,7 @@ for line in out2.split('\n'): try: bin_out.append(utf_to_internal[c]) except KeyError: - print('-'*100, 'ERROR:', c) + print('-'*70, 'ERROR:', ord(c), c) bin_out.append(0) if len(line) < 40: # bin_out += bytes(40-len(line)) diff --git a/Manuals/manual_pl.xex b/Manuals/manual_pl.xex index 96813b78ae9fb19ca8f6f1ab9569d019c6acbaeb..d640d9022560129bcfc45cd8f262979a0a3599ec 100644 GIT binary patch delta 506 zcmex3iD~B)CW-(51w`(Ntz_ucXIjKO_b}5bfnN$o#T3p=lrX8Ewn%IxyF$zpg>9lM zm4FIB61-wMe&zyJ3JPKik`_GyO9M4?T=wtb1wC zNpqmm?vv3QxK~EEwyZR7Z3P+r%#*C&yN5wh>J|ryQUwf441M|6~z;Kyd#c0XYA+~ud zV*?|T!0OHB%+V~2|0YjjZ_q7gNXakH&&jLIWhlrmO3qAW;3zMysw^(a&P@H!kXD+P zot%}Qmza~6ACjCoS(ihK@!w_-j;TCA>aNH{pedX4B+r2;8@WBaK4E6xSf&O>rVpzo zKV%l${FT|2WwJF#!{iAZQZoM;@-kDalH5}AQW?q_it?+{iz>^LQ#twm|Np<4nR6=7 z=9!`sSvG4+onzVjOKuPE=IuJMjGIOEb}??gpdZ7$S=Ts~aq?sn|ILq0Bp5gUF+I<} U`HU;8?B+{Jrx-WSO_`$#01c3VX8-^I