-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Moved main routines of beeb tracker into separate module so we can bu…
…ild different volumes
- Loading branch information
Showing
3 changed files
with
1,690 additions
and
1,659 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
\ ****************************************************************** | ||
\\ Beeb Tracker | ||
\ ****************************************************************** | ||
|
||
|
||
|
||
\ ****************************************************************** | ||
\ * Define app constants | ||
\ ****************************************************************** | ||
|
||
|
||
\\ VU & beat bar FX | ||
|
||
FX_chr_x = 4 | ||
FX_chr_y = 8 | ||
FX_chr_w = 32 | ||
FX_chr_h = 5 | ||
FX_address = MODE7_base_addr + FX_chr_y*40 + FX_chr_x | ||
FX_address_row0 = FX_address | ||
FX_address_row1 = FX_address_row0 + 40 | ||
FX_address_row2 = FX_address_row1 + 40 | ||
FX_address_row3 = FX_address_row2 + 40 | ||
FX_address_row4 = FX_address_row3 + 40 | ||
|
||
\\ Channel beat bar locations - beat bars are 3 chrs high | ||
FX_address_beat = MODE7_base_addr + 40*14 | ||
FX_ch0_x = 10 | ||
FX_ch1_x = 17 | ||
FX_ch2_x = 24 | ||
FX_ch3_x = 31 | ||
|
||
\\ Playtime bar locations | ||
FX_playtime_address = MODE7_base_addr + 40*6 + 8 | ||
FX_playtime_chrs = 24 | ||
FX_playtime_width = (FX_playtime_chrs*2)-1 ; SM: rounding hack. 48 really. 8bit precision is fun. | ||
|
||
\\ Tracker screen setup | ||
TRACKER_lineno_field_xpos = 4 | ||
TRACKER_ch3_field_xpos = 12 | ||
TRACKER_ch2_field_xpos = 19 | ||
TRACKER_ch1_field_xpos = 26 | ||
TRACKER_noise_field_xpos = 33 | ||
|
||
TRACKER_top_line_ypos = 14 | ||
TRACKER_active_line_ypos = 17 | ||
TRACKER_dupe_line_ypos = 18 | ||
TRACKER_bottom_line_ypos = 21 | ||
|
||
\\ Menu screen setup | ||
MENU_entry_xpos = 3 | ||
MENU_entry_width = 32 ; if this changes from 32 then need to change code! | ||
MENU_top_line_ypos = 16 | ||
MENU_bottom_line_ypos = 21 | ||
MENU_overlay_ypos = 14 | ||
MENU_overlay_size = 9 * MODE7_char_width ; 9 lines of 40 chars for our menu | ||
MENU_overlay_dst_addr = MODE7_base_addr + MENU_overlay_ypos * MODE7_char_width | ||
|
||
\\ Menu key config | ||
MENU_key_toggle = IKN_esc | ||
MENU_key_up = IKN_up | ||
MENU_key_down = IKN_down | ||
MENU_key_select = IKN_return | ||
|
||
META_title_addr = MODE7_base_addr + 3 * MODE7_char_width + 9 ; title displayed at (9, 3) | ||
META_author_addr = MODE7_base_addr + 4 * MODE7_char_width + 9 ; auther dispayed at (9, 4) | ||
META_max_width = 30 ; 30 chars available | ||
META_scroll_start_delay = 100 ; 2 seconds - time before meta data strings scroll | ||
META_scroll_update_delay = 10 ; 0.2 seconds - scroll speed of meta data strings | ||
|
||
META_clock_addr = MODE7_base_addr + 6 * MODE7_char_width + 3 ; clock displayed at (3, 6) | ||
META_duration_addr = MODE7_base_addr + 6 * MODE7_char_width + 33 ; duration displayed at (33, 6) | ||
|
||
|
||
|
||
\\ Params block for osfile command | ||
.osfile_params SKIP 18 | ||
|
||
|
||
|
||
\\ Temporary vars | ||
.tmp_var ; SHARED ; free for any function to use but not preserved across subroutines | ||
.tmp_erase SKIP 1 ; used when erasing rows or pixels | ||
|
||
.tmp_col_mask ; SHARED ; scr_init only - used to rotate font glyph data | ||
.tmp_cur_col ; SHARED ; poll_scr only - current column into font | ||
.tmp_fx_y SKIP 1 ; poll_fx only - current y value being plotted | ||
|
||
.tmp_row_bit ; SHARED ; scr_init only - used to rotate font glyph data | ||
.tmp_font_byte SKIP 1 ; poll_scr only - current byte of font data | ||
|
||
.tmp_msg_idx SKIP 1 ; current index into scr_message - only used during poll_scr | ||
|
||
\\ Generic vars | ||
.writeptr SKIP 2 ; generic write ptr | ||
.readptr SKIP 2 ; generic read ptr | ||
|
||
\\ Scroll text vars | ||
.scr_msg_idx SKIP 1 ; index into scr_message | ||
.scr_col SKIP 1 ; current column in first character to be displayed | ||
.scr_y SKIP 1 ; y coordinate of scroll text | ||
|
||
\\ App state vars | ||
.file_no SKIP 1 ; index into our file table | ||
.menu_old_file SKIP 1 | ||
.menu_key_held SKIP 1 | ||
|
||
\\ System vars | ||
.old_eventv SKIP 2 | ||
|
||
\\ Meta vars | ||
.meta_timer SKIP 1 ; countdown timer before updating meta strings | ||
.meta_idx SKIP 1 ; index into our meta strings | ||
.meta_poll_count SKIP 1 ; count polls to update clock | ||
.meta_clock_mins SKIP 1 | ||
.meta_clock_secs SKIP 1 | ||
|
||
\\ Playback timer vars | ||
.playtime_interval SKIP 2 ; number of audio frames before playtime bar advances by 1 pixel | ||
.playtime_counter SKIP 2 | ||
.playtime_index SKIP 1 ; current X offset of playtime bar (0-47) | ||
|
||
|
||
\ ****************************************************************** | ||
\ * Space hijacked from OS for runtime buffers not preinitialised | ||
\ ****************************************************************** | ||
|
||
|
||
|
||
|
||
|
Oops, something went wrong.