added help text for head align tool
This commit is contained in:
1 parent
cefa6ec1fb
commit
d8248db843
3 files changed
+145
-9
No files matched your search
@@ -46,10 +46,10 @@
|
|||||||
// I/O devices
|
// I/O devices
|
||||||
|
|
||||||
#define CONFIG_IEC
|
#define CONFIG_IEC
|
||||||
#define CONFIG_IEC_DOLPHINDOS
|
//#define CONFIG_IEC_DOLPHINDOS
|
||||||
#define CONFIG_IEC_DOLPHINDOS_FAST
|
//#define CONFIG_IEC_DOLPHINDOS_FAST
|
||||||
#define CONFIG_IEC_JIFFYDOS
|
//#define CONFIG_IEC_JIFFYDOS
|
||||||
#define CONFIG_IEC_JIFFYDOS_BLANK
|
//#define CONFIG_IEC_JIFFYDOS_BLANK
|
||||||
// #define CONFIG_IEC_BURST_CIA1 // please keep disabled for now
|
// #define CONFIG_IEC_BURST_CIA1 // please keep disabled for now
|
||||||
// #define CONFIG_IEC_BURST_CIA2 // please keep disabled for now
|
// #define CONFIG_IEC_BURST_CIA2 // please keep disabled for now
|
||||||
// #define CONFIG_IEC_BURST_SOFT // please keep disabled for now
|
// #define CONFIG_IEC_BURST_SOFT // please keep disabled for now
|
||||||
|
|||||||
@@ -13,14 +13,13 @@
|
|||||||
// 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 add some text explaining what tool it is ('head align chart', or something similar)
|
|
||||||
// XXX make tape wedge (and this tool) available also without tape turbo support
|
// XXX make tape wedge (and this tool) available also without tape turbo support
|
||||||
// XXX create separate configuration for tape users
|
// 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
|
||||||
|
|
||||||
|
|
||||||
.label __ha_start = 11 // starting row of the chart
|
.label __ha_start = 12 // starting row of the chart
|
||||||
.label __ha_rows = 10 // number of rows for scrolling
|
.label __ha_rows = 10 // number of rows for scrolling
|
||||||
|
|
||||||
// Helper tables
|
// Helper tables
|
||||||
@@ -34,7 +33,7 @@
|
|||||||
.label __ha_sta_addr = $1202; // 2 bytes, for code generator
|
.label __ha_sta_addr = $1202; // 2 bytes, for code generator
|
||||||
.label __ha_pulses = $1204; // 64 bytes
|
.label __ha_pulses = $1204; // 64 bytes
|
||||||
.label __ha_gfxflag = $1244; // 1 byte
|
.label __ha_gfxflag = $1244; // 1 byte
|
||||||
.label __ha_loopcnt = $1245; // 1 byte
|
.label __ha_storage = $1245; // 1 byte
|
||||||
|
|
||||||
|
|
||||||
// Generated code location
|
// Generated code location
|
||||||
@@ -98,6 +97,10 @@ tape_head_align:
|
|||||||
cpx #$40
|
cpx #$40
|
||||||
bne !-
|
bne !-
|
||||||
|
|
||||||
|
// Print help message
|
||||||
|
|
||||||
|
jsr tape_head_align_print_help
|
||||||
|
|
||||||
// Make sure the row where the chart is being created is not visible
|
// Make sure the row where the chart is being created is not visible
|
||||||
|
|
||||||
lda #(CONFIG_COLOR_TXT * $10 + CONFIG_COLOR_TXT)
|
lda #(CONFIG_COLOR_TXT * $10 + CONFIG_COLOR_TXT)
|
||||||
@@ -225,7 +228,7 @@ tape_head_align_loop_2:
|
|||||||
|
|
||||||
ldx #$00
|
ldx #$00
|
||||||
!:
|
!:
|
||||||
stx __ha_loopcnt
|
stx __ha_storage
|
||||||
|
|
||||||
lda __ha_pulses, x
|
lda __ha_pulses, x
|
||||||
cmp #$FF
|
cmp #$FF
|
||||||
@@ -233,7 +236,7 @@ tape_head_align_loop_2:
|
|||||||
|
|
||||||
jsr tape_head_align_draw_pulse
|
jsr tape_head_align_draw_pulse
|
||||||
|
|
||||||
ldx __ha_loopcnt
|
ldx __ha_storage
|
||||||
inx
|
inx
|
||||||
cpx #$40
|
cpx #$40
|
||||||
bne !-
|
bne !-
|
||||||
|
|||||||
@@ -0,0 +1,133 @@
|
|||||||
|
// #LAYOUT# STD * #TAKE
|
||||||
|
// #LAYOUT# M65 KERNAL_1 #TAKE
|
||||||
|
// #LAYOUT# * * #IGNORE
|
||||||
|
|
||||||
|
//
|
||||||
|
// Tape head alignemnt tool - prints out a help message on screen
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#if CONFIG_TAPE_HEAD_ALIGN
|
||||||
|
|
||||||
|
|
||||||
|
tape_head_align_print_help:
|
||||||
|
|
||||||
|
// Make screen font visible
|
||||||
|
|
||||||
|
lda CPU_R6510
|
||||||
|
pha
|
||||||
|
and #%11111011
|
||||||
|
sta CPU_R6510
|
||||||
|
|
||||||
|
// Print help message
|
||||||
|
|
||||||
|
ldy #$00
|
||||||
|
|
||||||
|
// Retrieve address
|
||||||
|
!:
|
||||||
|
lda tape_head_align_help_text, y
|
||||||
|
iny
|
||||||
|
cmp #$FF
|
||||||
|
beq tape_head_align_print_end
|
||||||
|
sta EAL+0
|
||||||
|
|
||||||
|
lda tape_head_align_help_text, y
|
||||||
|
iny
|
||||||
|
sta EAL+1
|
||||||
|
!:
|
||||||
|
// Retrieve and print character
|
||||||
|
|
||||||
|
lda tape_head_align_help_text, y
|
||||||
|
iny
|
||||||
|
cmp #$FF
|
||||||
|
beq !--
|
||||||
|
|
||||||
|
sty __ha_storage
|
||||||
|
jsr tape_head_align_print_char
|
||||||
|
ldy __ha_storage
|
||||||
|
|
||||||
|
bne !- // branch alwats
|
||||||
|
|
||||||
|
|
||||||
|
tape_head_align_print_end:
|
||||||
|
|
||||||
|
// Restore normal memory configuration and quit
|
||||||
|
|
||||||
|
pla
|
||||||
|
sta CPU_R6510
|
||||||
|
rts
|
||||||
|
|
||||||
|
tape_head_align_print_string:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
tape_head_align_print_char:
|
||||||
|
|
||||||
|
// Calculate start address of character in .A
|
||||||
|
|
||||||
|
sta SAL+0
|
||||||
|
lda #$00
|
||||||
|
sta SAL+1
|
||||||
|
|
||||||
|
asl SAL+0
|
||||||
|
rol SAL+1
|
||||||
|
asl SAL+0
|
||||||
|
rol SAL+1
|
||||||
|
asl SAL+0
|
||||||
|
rol SAL+1
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda SAL+1
|
||||||
|
adc #$D0
|
||||||
|
sta SAL+1
|
||||||
|
|
||||||
|
// Print out the character
|
||||||
|
|
||||||
|
ldy #$07
|
||||||
|
!:
|
||||||
|
lda (SAL), y
|
||||||
|
sta (EAL), y
|
||||||
|
dey
|
||||||
|
bpl !-
|
||||||
|
|
||||||
|
// Prepare EAL for the next character
|
||||||
|
|
||||||
|
lda EAL+0
|
||||||
|
clc
|
||||||
|
adc #$08
|
||||||
|
sta EAL+0
|
||||||
|
bne !+
|
||||||
|
inc EAL+1
|
||||||
|
!:
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Strings to print
|
||||||
|
//
|
||||||
|
|
||||||
|
.encoding "screencode_upper"
|
||||||
|
|
||||||
|
|
||||||
|
tape_head_align_help_text:
|
||||||
|
|
||||||
|
.word $2000 + (40 * 8) * 1 + 8 * 2
|
||||||
|
.text "ADJUST HEAD FOR MINIMUM SIGNAL NOISE"
|
||||||
|
.byte $FF
|
||||||
|
|
||||||
|
.word $2000 + (40 * 8) * 5 + 8 * 2
|
||||||
|
.text "IF THE DECK HAS A PITCH (SPEED) KNOB"
|
||||||
|
.byte $FF
|
||||||
|
|
||||||
|
.word $2000 + (40 * 8) * 6 + 8 * 6
|
||||||
|
.text "USE IT TO PLACE DOTTED LINES"
|
||||||
|
.byte $FF
|
||||||
|
|
||||||
|
.word $2000 + (40 * 8) * 7 + 8 * 3
|
||||||
|
.text "EXACTLY HALF A WAY BETWEEN SIGNALS"
|
||||||
|
.byte $FF
|
||||||
|
|
||||||
|
.byte $FF
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in new issue
Block a user