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 ddbcfd8..61ef3f7 100644 Binary files a/Manuals/MANUAL_PL_A800.bin and b/Manuals/MANUAL_PL_A800.bin differ 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 96813b7..d640d90 100644 Binary files a/Manuals/manual_pl.xex and b/Manuals/manual_pl.xex differ