Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ecdc58d

Browse files
committed
cleanup
1 parent 3c270ed commit ecdc58d

7 files changed

Lines changed: 83 additions & 66 deletions

File tree

defines_apple.s

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ CBM_APPLE := 1
77
KIM_APPLE := 1
88
CONFIG_SCRTCH_ORDER := 1
99
CONFIG_PRINT_CR := 1 ; print CR when line end reached
10+
CONFIG_IO_MSB := 1 ; IO is 7 bit, MSB may be randomly set
1011
; INPUTBUFFER > $0100
1112

1213
ZP_START = $55

defines_cbm.s

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ CBM1_APPLE := 1
55
CBM_APPLE := 1
66
CONFIG_DATAFLAG := 1
77
CONFIG_BUG_GET_ERROR := 1; treat GET error like READ error
8+
CONFIG_PRINTNULLS := 1; whether PRINTNULLS does anything
9+
; minor: just code order
10+
CONFIG_INPUTBUFFER_ORDER := 1 ; ldx/ldy or ldy/ldx
811
.else
912
CONFIG_CBM_ALL := 1
1013
CONFIG_11 := 1
@@ -20,7 +23,7 @@ CONFIG_DATAFLAG := 1
2023

2124
; common:
2225
CONFIG_FILE := 1; support PRINT#, INPUT#, GET#, CMD
23-
26+
CONFIG_NO_CR := 1; terminal doesn't need explicit CRs on line ends
2427

2528
.ifdef CBM1
2629
ZP_START = $65

defines_osi.s

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
CONFIG_SMALL := 1
2-
CONFIG_SCRTCH_ORDER := 1
32
CONFIG_NULL := 1
43
CONFIG_PRINT_CR := 1 ; print CR when line end reached
54
CONFIG_DATAFLAG := 1
65

6+
; minor: just code order
7+
CONFIG_SCRTCH_ORDER := 1
8+
79
ZP_START = $65
810

911
JMPADRS = DSCLEN + 1

init.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ L4098:
125125
sta Z03
126126
.endif
127127
sta LASTPT+1
128-
.if .defined(CONFIG_NULL) || .defined(CBM1)
128+
.if .defined(CONFIG_NULL) || .defined(CONFIG_PRINTNULLS)
129129
sta Z15
130130
.endif
131131
.ifndef CONFIG_11

input.s

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ L2A67:
2929
SYNERR4:
3030
jmp SYNERR
3131
RESPERR:
32-
.ifdef CONFIG_CBM_ALL
32+
.ifdef CONFIG_FILE
3333
lda Z03
3434
beq LCA8F
3535
ldx #ERR_BADDATA
@@ -43,7 +43,7 @@ LCA8F:
4343
ldy OLDTEXT+1
4444
sta TXTPTR
4545
sty TXTPTR+1
46-
LE920:
46+
RTS20:
4747
rts
4848

4949
; ----------------------------------------------------------------------------
@@ -128,10 +128,8 @@ LCAF8:
128128
.endif
129129
.ifdef KBD
130130
bmi L2ABE
131-
.endif
132-
133-
.ifndef KBD
134-
.ifdef CONFIG_FILE
131+
.else
132+
.ifdef CONFIG_FILE
135133
lda Z03
136134
beq LCB0C
137135
lda Z96
@@ -140,38 +138,41 @@ LCAF8:
140138
jsr LCAD6
141139
jmp DATA
142140
LCB0C:
143-
.endif
141+
.endif
144142
lda INPUTBUFFER
145143
bne L2ABE
146-
.ifdef CONFIG_FILE
144+
.ifdef CONFIG_FILE
147145
lda Z03
148146
bne LCAF8
149-
.endif
150-
.ifdef CONFIG_CBM1_PATCHES
147+
.endif
148+
.ifdef CONFIG_CBM1_PATCHES
151149
jmp PATCH1
152-
.else
150+
.else
153151
clc
154152
jmp CONTROL_C_TYPED
155-
.endif
153+
.endif
156154
.endif
157155

158156
NXIN:
159157
.ifdef KBD
160158
jsr LFDDA
161-
bmi LE920
159+
bmi RTS20
162160
pla
163161
jmp LE86C
164-
.endif
165-
.ifndef KBD
166-
.ifdef CONFIG_FILE
162+
.else
163+
.ifdef CONFIG_FILE
167164
lda Z03
168165
bne LCB21
169-
.endif
170-
jsr OUTQUES
166+
.endif
167+
jsr OUTQUES ; '?'
171168
jsr OUTSP
172169
LCB21:
173170
jmp INLIN
174-
.endif /* KBD */
171+
.endif
172+
173+
; ----------------------------------------------------------------------------
174+
; "GETC" STATEMENT
175+
; ----------------------------------------------------------------------------
175176
.ifdef KBD
176177
GETC:
177178
jsr CONINT
@@ -223,25 +224,25 @@ PROCESS_INPUT_ITEM:
223224
jsr CHRGOT
224225
bne INSTART
225226
bit INPUTFLG
226-
.ifndef CONFIG_SMALL
227+
.ifndef CONFIG_SMALL ; GET
227228
bvc L2AF0
228229
jsr MONRDKEY
229-
.ifdef APPLE
230+
.ifdef CONFIG_IO_MSB
230231
and #$7F
231-
.endif
232+
.endif
232233
sta INPUTBUFFER
233-
.ifdef CBM1
234+
.ifdef CONFIG_INPUTBUFFER_ORDER
234235
ldy #>(INPUTBUFFER-1)
235236
ldx #<(INPUTBUFFER-1)
236-
.else
237+
.else
237238
ldx #<(INPUTBUFFER-1)
238239
ldy #>(INPUTBUFFER-1)
239-
.endif
240+
.endif
240241
bne L2AF8
241242
L2AF0:
242243
.endif
243244
bmi FINDATA
244-
.ifdef CONFIG_CBM_ALL
245+
.ifdef CONFIG_FILE
245246
lda Z03
246247
bne LCB64
247248
.endif
@@ -261,20 +262,20 @@ INSTART:
261262
jsr CHRGET
262263
bit VALTYP
263264
bpl L2B34
264-
.ifndef CONFIG_SMALL
265+
.ifndef CONFIG_SMALL ; GET
265266
bit INPUTFLG
266267
bvc L2B10
267-
.ifdef CONFIG_CBM1_PATCHES
268+
.ifdef CONFIG_CBM1_PATCHES
268269
lda #$00
269270
jsr PATCH4
270271
nop
271-
.else
272+
.else
272273
inx
273274
stx TXTPTR
274275
lda #$00
275276
sta CHARAC
276277
beq L2B1C
277-
.endif
278+
.endif
278279
L2B10:
279280
.endif
280281
sta CHARAC
@@ -359,17 +360,17 @@ INPDONE:
359360
lda INPTR
360361
ldy INPTR+1
361362
ldx INPUTFLG
362-
.ifdef OSI
363-
beq L2B94
363+
.ifdef OSI ; CONFIG_SMALL && !CONFIG_11
364+
beq L2B94 ; INPUT
364365
.else
365-
bpl L2B94
366+
bpl L2B94; INPUT or GET
366367
.endif
367368
jmp SETDA
368369
L2B94:
369370
ldy #$00
370371
lda (INPTR),y
371372
beq L2BA1
372-
.ifdef CONFIG_CBM_ALL
373+
.ifdef CONFIG_FILE
373374
lda Z03
374375
bne L2BA1
375376
.endif

print.s

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ PRINT2:
1616
beq L29F5
1717
cmp #TOKEN_SPC
1818
.ifdef CBM2_KBD
19-
clc
19+
clc ; also AppleSoft II
2020
.endif
2121
beq L29F5
2222
cmp #','
23+
; Pre-KIM had no CLC. KIM added the CLC
24+
; here. Post-KIM moved the CLC up...
2325
.ifdef KIM
2426
clc
2527
.endif
@@ -31,23 +33,25 @@ PRINT2:
3133
bmi PRSTRING
3234
jsr FOUT
3335
jsr STRLIT
34-
.ifndef CONFIG_CBM_ALL
36+
.ifndef CONFIG_NO_CR
3537
ldy #$00
3638
lda (FAC_LAST-1),y
3739
clc
3840
adc Z16
39-
.ifdef KBD
41+
.ifdef KBD
4042
cmp #$28
41-
.else
43+
.else
4244
cmp Z17
43-
.endif
45+
.endif
4446
bcc L29B1
4547
jsr CRDO
4648
L29B1:
4749
.endif
4850
jsr STRPRT
4951
.ifdef KBD
5052
jmp L297E
53+
54+
; PATCHES
5155
LE86C:
5256
pla
5357
jmp CONTROL_C_TYPED
@@ -74,47 +78,53 @@ PRINTNULLS:
7478
jsr OUTSP
7579
bne L297E
7680
L29B9:
77-
.ifdef CBM2
81+
.ifdef CBM2
7882
lda #$00
7983
sta INPUTBUFFER,x
8084
ldx #<(INPUTBUFFER-1)
8185
ldy #>(INPUTBUFFER-1)
82-
.else
83-
.ifndef APPLE
86+
.else
87+
.ifndef APPLE
8488
ldy #$00
8589
sty INPUTBUFFER,x
8690
ldx #LINNUM+1
87-
.endif
88-
.endif
89-
.ifdef CONFIG_CBM_ALL
91+
.endif
92+
.endif
93+
.ifdef CONFIG_CBM_ALL
9094
lda Z03
9195
bne L29DD
9296
LC9D2:
93-
.endif
97+
.endif
9498
CRDO:
95-
.ifdef CBM1
99+
.ifdef CBM1
96100
lda Z03
97101
bne LC9D8
98102
sta $05
99103
LC9D8:
100-
.endif
104+
.endif
101105
lda #$0D
102-
.ifndef CONFIG_CBM_ALL
106+
.ifndef CONFIG_CBM_ALL
103107
sta Z16
104-
.endif
108+
.endif
105109
jsr OUTDO
106-
.ifdef APPLE
110+
.ifdef APPLE
107111
lda #$80
108-
.else
112+
.else
109113
lda #$0A
110-
.endif
114+
.endif
111115
jsr OUTDO
116+
.endif
117+
.ifndef KBD
112118
PRINTNULLS:
113-
.ifdef CBM1
119+
.if .def(CONFIG_NULL) || .def(CONFIG_PRINTNULLS)
120+
.ifdef CONFIG_FILE
121+
; Although there is no statement for it,
122+
; CBM1 had NULL support and ignores
123+
; it when not targeting the screem,
124+
; CBM2 dropped it completely.
114125
lda Z03
115126
bne L29DD
116-
.endif
117-
.if .def(CONFIG_NULL) || .def(CBM1)
127+
.endif
118128
txa
119129
pha
120130
ldx Z15
@@ -128,13 +138,13 @@ L29D9:
128138
stx Z16
129139
pla
130140
tax
131-
.else
132-
.ifdef APPLE
141+
.else
142+
.ifdef APPLE
133143
lda #$00
134144
sta $50
135-
.endif
145+
.endif
136146
eor #$FF
137-
.endif
147+
.endif
138148
.endif
139149
L29DD:
140150
rts

token.s

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
keyword_rts "FOR", FOR
55
keyword_rts "NEXT", NEXT
66
keyword_rts "DATA", DATA
7-
.ifdef CONFIG_CBM_ALL
7+
.ifdef CONFIG_FILE
88
keyword_rts "INPUT#", INPUTH
99
.endif
1010
keyword_rts "INPUT", INPUT
@@ -50,7 +50,7 @@
5050
.else
5151
keyword_rts "POKE", POKE
5252
.endif
53-
.ifdef CONFIG_CBM_ALL
53+
.ifdef CONFIG_FILE
5454
keyword_rts "PRINT#", PRINTH
5555
.endif
5656
keyword_rts "PRINT", PRINT, TOKEN_PRINT
@@ -61,7 +61,7 @@
6161
.else
6262
keyword_rts "CLEAR", CLEAR
6363
.endif
64-
.ifdef CONFIG_CBM_ALL
64+
.ifdef CONFIG_FILE
6565
keyword_rts "CMD", CMD
6666
keyword_rts "SYS", SYS
6767
keyword_rts "OPEN", OPEN

0 commit comments

Comments
 (0)