-
Notifications
You must be signed in to change notification settings - Fork 4
/
config.dasm16
60 lines (50 loc) · 1.57 KB
/
config.dasm16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
; DCPU-16 CBM BASIC
; configuration
;
; I've mostly separated this out so I don't have to commit all
; my debugging whims to github, so just about everything I use
; to debug this program will be moved here over time.
;
; 0 = start in uppercase
; 1 = start in lowercase
.DEFINE STARTLOWER 0
; 1 = copy BASIC memory to top line of screen.
.DEFINE DEBUGPROGMEM 0
; set this to 11 to get a peek at whatever blocks of
; memory I was trying to examine last time I worked on this
.DEFINE HW_ROWS 12
; probably can't be changed, but if fancy hardware support
; ever comes out...
.DEFINE HW_COLS 32
; determines the amount of memory to set aside
; for parsing typed lines of BASIC.
; when I'm feeling more adventurous I might increase the
; rows_in_line to 3 or 4.
.DEFINE BASIC_BUFFER_LENGTH 144
.DEFINE ROWS_IN_LINE 2
.DEFINE BLINK_FRAMES 20
.DEFINE REPEAT_FRAMES_A 16
.DEFINE REPEAT_FRAMES_B 4
.DEFINE KEYBOARD_BUFFER_SIZE 80
; set this to 1 to enable more specific messages
; before ?SYNTAX ERROR.
.DEFINE DEBUG_SNERR 0
; you can define an automatic test program here
; as long as it's smaller than the keyboard buffer above
; terminate in 0. Lowercase characters will be printed
; as shifted characters, so you can abbreviate commands.
:BASIC_TEST_STRING
DAT 0
:RUN_TEST_STRING
SET I, BASIC_TEST_STRING
SET J, KEYD
:TEST_STRING_LOOP
STI [J], [I]
IFN [J-1], 0
JMP TEST_STRING_LOOP
SUB J, KEYD
SET [NDX], J
RTS
; if the target is a DAT dump where ASCII strings are allowed,
; set this to 0x20 to compress into spaces. otherwise set it to 0
.DEFINE BLANK 0x20