head align tool minor improvements

This commit is contained in:
FeralChild64 committed 2020-06-04 20:53:02 +02:00
1 parent 2277942bb9
commit 405789cdfe
12 files changed
+35 -30

No files matched your search

+2 -2
View File
@@ -283,9 +283,9 @@ Feature needs about 330 bytes in BASIC segment. If unsure - enable.
### `CONFIG_TAPE_WEDGE` ### `CONFIG_TAPE_WEDGE`
If enabled, a simple DOS wedge is available from the direct mode for turbo tape loading - supports `←L` only If enabled, a simple DOS wedge is available from the direct mode for tape loading - supports `←L` only.
Feature needs about 5 bytes in BASIC segment. If unsure - enable. Feature needs few bytes in BASIC segment. If unsure - enable.
### `CONFIG_BCD_SAFE_INTERRUPTS` ### `CONFIG_BCD_SAFE_INTERRUPTS`
+1 -1
View File
@@ -124,7 +124,7 @@
#define CONFIG_PANIC_SCREEN #define CONFIG_PANIC_SCREEN
#define CONFIG_DOS_WEDGE #define CONFIG_DOS_WEDGE
#define CONFIG_TAPE_WEDGE #define CONFIG_TAPE_WEDGE
#define CONFIG_TAPE_HEAD_ALIGN // XXX work in progress #define CONFIG_TAPE_HEAD_ALIGN
#define CONFIG_BCD_SAFE_INTERRUPTS #define CONFIG_BCD_SAFE_INTERRUPTS
+1 -1
View File
@@ -117,7 +117,7 @@
// #define CONFIG_PANIC_SCREEN // #define CONFIG_PANIC_SCREEN
// #define CONFIG_DOS_WEDGE // #define CONFIG_DOS_WEDGE
// #define CONFIG_TAPE_WEDGE // #define CONFIG_TAPE_WEDGE
// #define CONFIG_TAPE_HEAD_ALIGN // XXX work in progress // #define CONFIG_TAPE_HEAD_ALIGN
#define CONFIG_BCD_SAFE_INTERRUPTS #define CONFIG_BCD_SAFE_INTERRUPTS
+1 -1
View File
@@ -115,7 +115,7 @@
#define CONFIG_PANIC_SCREEN #define CONFIG_PANIC_SCREEN
#define CONFIG_DOS_WEDGE #define CONFIG_DOS_WEDGE
#define CONFIG_TAPE_WEDGE #define CONFIG_TAPE_WEDGE
// #define CONFIG_TAPE_HEAD_ALIGN // XXX work in progress // #define CONFIG_TAPE_HEAD_ALIGN
#define CONFIG_BCD_SAFE_INTERRUPTS #define CONFIG_BCD_SAFE_INTERRUPTS
+1 -1
View File
@@ -115,7 +115,7 @@
#define CONFIG_PANIC_SCREEN #define CONFIG_PANIC_SCREEN
#define CONFIG_DOS_WEDGE #define CONFIG_DOS_WEDGE
#define CONFIG_TAPE_WEDGE #define CONFIG_TAPE_WEDGE
// #define CONFIG_TAPE_HEAD_ALIGN // XXX work in progress // #define CONFIG_TAPE_HEAD_ALIGN
#define CONFIG_BCD_SAFE_INTERRUPTS #define CONFIG_BCD_SAFE_INTERRUPTS
+1 -1
View File
@@ -115,7 +115,7 @@
#define CONFIG_PANIC_SCREEN #define CONFIG_PANIC_SCREEN
#define CONFIG_DOS_WEDGE #define CONFIG_DOS_WEDGE
#define CONFIG_TAPE_WEDGE #define CONFIG_TAPE_WEDGE
// #define CONFIG_TAPE_HEAD_ALIGN // XXX work in progress // #define CONFIG_TAPE_HEAD_ALIGN
#define CONFIG_BCD_SAFE_INTERRUPTS #define CONFIG_BCD_SAFE_INTERRUPTS
+1 -1
View File
@@ -115,7 +115,7 @@
#define CONFIG_PANIC_SCREEN #define CONFIG_PANIC_SCREEN
#define CONFIG_DOS_WEDGE #define CONFIG_DOS_WEDGE
#define CONFIG_TAPE_WEDGE #define CONFIG_TAPE_WEDGE
// #define CONFIG_TAPE_HEAD_ALIGN // XXX work in progress // #define CONFIG_TAPE_HEAD_ALIGN
#define CONFIG_BCD_SAFE_INTERRUPTS #define CONFIG_BCD_SAFE_INTERRUPTS
+2 -2
View File
@@ -295,8 +295,8 @@
// Check that features are configured correctly // Check that features are configured correctly
{ {
#if CONFIG_TAPE_WEDGE && !CONFIG_TAPE_TURBO #if CONFIG_TAPE_WEDGE && !CONFIG_TAPE_TURBO && !CONFIG_TAPE_NORMAL
.error "CONFIG_TAPE_WEDGE requires CONFIG_TAPE_TURBO" .error "CONFIG_TAPE_WEDGE requires CONFIG_TAPE_TURBO or CONFIG_TAPE_NORMAL"
#endif #endif
#if !CONFIG_TAPE_WEDGE && CONFIG_TAPE_HEAD_ALIGN #if !CONFIG_TAPE_WEDGE && CONFIG_TAPE_HEAD_ALIGN
.error "CONFIG_TAPE_HEAD_ALIGN requires CONFIG_TAPE_WEDGE" .error "CONFIG_TAPE_HEAD_ALIGN requires CONFIG_TAPE_WEDGE"
+5
View File
@@ -38,7 +38,12 @@ wedge_arrow_L:
sta FNLEN sta FNLEN
ldy #$01 ldy #$01
#if CONFIG_TAPE_TURBO
ldx #$07 // turbo tape device ldx #$07 // turbo tape device
#else
tdx #$01 // normal tape device
#endif
jsr JSETFLS jsr JSETFLS
ldy TXTTAB+1 ldy TXTTAB+1
+1 -2
View File
@@ -13,8 +13,7 @@
// XXX for Mega65 it can be done more easily, by just disabling the badlines // XXX for Mega65 it can be done more easily, by just disabling the badlines
// XXX consider "PRESS PLAY ON TAPE" before start, with option to stop // XXX consider "PRESS PLAY ON TAPE" before start, with option to stop
// XXX make tape wedge (and this tool) available also without tape turbo support // XXX document CONFIG_TAPE_HEAD_ALIGN option
// XXX create separate configuration for tape users
// XXX block NMIs // XXX block NMIs
// XXX fix Mega65 build compilation issues // XXX fix Mega65 build compilation issues
+2 -10
View File
@@ -40,15 +40,7 @@ tape_head_align_apply_gfx:
and #%00000010 and #%00000010
beq !+ beq !+
lda #%00010000 // For 'normal'
ora __ha_chart + 7 + 8 * 1
sta __ha_chart + 7 + 8 * 1
lda #%00001000
ora __ha_chart + 7 + 8 * 30
sta __ha_chart + 7 + 8 * 30
// For normal
lda #%00000001 lda #%00000001
ora __ha_chart + 7 + 8 * 6 ora __ha_chart + 7 + 8 * 6
@@ -58,7 +50,7 @@ tape_head_align_apply_gfx:
ora __ha_chart + 7 + 8 * 13 ora __ha_chart + 7 + 8 * 13
sta __ha_chart + 7 + 8 * 13 sta __ha_chart + 7 + 8 * 13
// For turbo // For 'turbo'
lda #%00010000 lda #%00010000
ora __ha_chart + 7 + 8 * 21 ora __ha_chart + 7 + 8 * 21
+17 -8
View File
@@ -111,23 +111,32 @@ tape_head_align_print_char:
tape_head_align_help_text: tape_head_align_help_text:
.word $2000 + (40 * 8) * 0 + 8 * 2 // Each string consists of:
.text "ADJUST HEAD FOR MINIMUM SIGNAL NOISE" // - destination (start byte) address
// - text in screencodes
/ - $FF to mark end
.word $2000 + (40 * 8) * 0 + 8 * 1
.text "COMPUTER HAS TO TELL THE SIGNALS APART"
.byte $FF .byte $FF
.word $2000 + (40 * 8) * 4 + 8 * 2 .word $2000 + (40 * 8) * 3 + 8 * 6
.text "ALIGN HEAD FOR MINIMUM NOISE"
.byte $FF
.word $2000 + (40 * 8) * 6 + 8 * 2
.text "IF THE DECK HAS A PITCH (TAPE SPEED)" .text "IF THE DECK HAS A PITCH (TAPE SPEED)"
.byte $FF .byte $FF
.word $2000 + (40 * 8) * 5 + 8 * 1 .word $2000 + (40 * 8) * 7 + 8 * 1
.text "CONTROL - USE IT TO PLACE DOTTED LINES" .text "CONTROL, TWEAK IT SO THAT DOTTED LINES"
.byte $FF .byte $FF
.word $2000 + (40 * 8) * 6 + 8 * 3 .word $2000 + (40 * 8) * 8 + 8 * 5
.text "EXACTLY HALF A WAY BETWEEN SIGNALS" .text "ARE HALF A WAY BETWEEN SIGNALS"
.byte $FF .byte $FF
.byte $FF .byte $FF // end of strings
#endif #endif