-
Notifications
You must be signed in to change notification settings - Fork 85
/
Copy patheditor.3
202 lines (202 loc) · 4.95 KB
/
editor.3
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
.PAG 'KEYBOARD TABLES'
KEYCOD ;KEYBOARD MODE 'DISPATCH'
.WORD MODE1
.WORD MODE2
.WORD MODE3
.WORD CONTRL ;CONTROL KEYS
;
; COTTACONNA MODE
;
;.WORD MODE1 ;PET MODE1
;.WORD MODE2 ;PET MODE2
;.WORD CCTTA3 ;DUMMY WORD
;.WORD CONTRL
;
; EXTENDED KATAKANA MODE
;
;.WORD CCTTA2 ;KATAKANA CHARACTERS
;.WORD CCTTA3 ;LIMITED GRAPHICS
;.WORD CCTTA3 ;DUMMY
;.WORD CONTRL
.SKI 5
.PAG 'EDITOR.3'
MODE1
;DEL,3,5,7,9,+,YEN SIGN,1
.BYT $14,$0D,$1D,$88,$85,$86,$87,$11
;RETURN,W,R,Y,I,P,*,LEFT ARROW
.BYT $33,$57,$41,$34,$5A,$53,$45,$01
;RT CRSR,A,D,G,J,L,;,CTRL
.BYT $35,$52,$44,$36,$43,$46,$54,$58
;F4,4,6,8,0,-,HOME,2
.BYT $37,$59,$47,$38,$42,$48,$55,$56
;F1,Z,C,B,M,.,R.SHIFTT,SPACE
.BYT $39,$49,$4A,$30,$4D,$4B,$4F,$4E
;F2,S,F,H,K,:,=,COM.KEY
.BYT $2B,$50,$4C,$2D,$2E,$3A,$40,$2C
;F3,E,T,U,O,@,EXP,Q
.BYT $5C,$2A,$3B,$13,$01,$3D,$5E,$2F
;CRSR DWN,L.SHIFT,X,V,N,,,/,STOP
.BYT $31,$5F,$04,$32,$20,$02,$51,$03
.BYT $FF ;END OF TABLE NULL
.SKI3
MODE2 ;SHIFT
;INS,%,',),+,YEN,!
.BYT $94,$8D,$9D,$8C,$89,$8A,$8B,$91
;SRETURN,W,R,Y,I,P,*,SLEFT ARROW
.BYT $23,$D7,$C1,$24,$DA,$D3,$C5,$01
;LF.CRSR,A,D,G,J,L,;,CTRL
.BYT $25,$D2,$C4,$26,$C3,$C6,$D4,$D8
;,$,&,(, ,"
.BYT $27,$D9,$C7,$28,$C2,$C8,$D5,$D6
;F5,Z,C,B,M,.,R.SHIFT,SSPACE
.BYT $29,$C9,$CA,$30,$CD,$CB,$CF,$CE
;F6,S,F,H,K,:,=,SCOM.KEY
.BYT $DB,$D0,$CC,$DD,$3E,$5B,$BA,$3C
;F7,E,T,U,O,@,PI,G
.BYT $A9,$C0,$5D,$93,$01,$3D,$DE,$3F
;CRSR DWN,L.SHIFT,X,V,N,,,/,RUN
.BYT $21,$5F,$04,$22,$A0,$02,$D1,$83
.BYT $FF ;END OF TABLE NULL
;
MODE3 ;LEFT WINDOW GRAHPICS
;INS,C10,C12,C14,9,+,POUND SIGN,C8
.BYT $94,$8D,$9D,$8C,$89,$8A,$8B,$91
;RETURN,W,R,Y,I,P,*,LFT.ARROW
.BYT $96,$B3,$B0,$97,$AD,$AE,$B1,$01
;LF.CRSR,A,D,G,J,L,;,CTRL
.BYT $98,$B2,$AC,$99,$BC,$BB,$A3,$BD
;F8,C11,C13,C15,0,-,HOME,C9
.BYT $9A,$B7,$A5,$9B,$BF,$B4,$B8,$BE
;F2,Z,C,B,M,.,R.SHIFT,SPACE
.BYT $29,$A2,$B5,$30,$A7,$A1,$B9,$AA
;F4,S,F,H,K,:,=,COM.KEY
.BYT $A6,$AF,$B6,$DC,$3E,$5B,$A4,$3C
;F6,E,T,U,O,@,PI,Q
.BYT $A8,$DF,$5D,$93,$01,$3D,$DE,$3F
;CRSR.UP,L.SHIFT,X,V,N,,,/,STOP
.BYT $81,$5F,$04,$95,$A0,$02,$AB,$83
.BYT $FF ;END OF TABLE NULL
;CCTTA2 ;WAS CCTTA2 IN JAPANESE VERSION
LOWER
CMP #$0E ;DOES HE WANT LOWER CASE?
BNE UPPER ;BRANCH IF NOT
LDA VICREG+24 ;ELSE SET VIC TO POINT TO LOWER CASE
ORA #$02
BNE ULSET ;JMP
.SKI
UPPER
CMP #$8E ;DOES HE WANT UPPER CASE
BNE LOCK ;BRANCH IF NOT
LDA VICREG+24 ;MAKE SURE VIC POINT TO UPPER/PET SET
AND #$FF-$02
ULSET STA VICREG+24
OUTHRE JMP LOOP2
.SKI
LOCK
CMP #8 ;DOES HE WANT TO LOCK IN THIS MODE?
BNE UNLOCK ;BRANCH IF NOT
LDA #$80 ;ELSE SET LOCK SWITCH ON
ORA MODE ;DON'T HURT ANYTHING - JUST IN CASE
BMI LEXIT
.SKI
UNLOCK
CMP #9 ;DOES HE WANT TO UNLOCK THE KEYBOARD?
BNE OUTHRE ;BRANCH IF NOT
LDA #$7F ;CLEAR THE LOCK SWITCH
AND MODE ;DONT HURT ANYTHING
LEXIT STA MODE
JMP LOOP2 ;GET OUT
;CCTTA3
;.BYT $04,$FF,$FF,$FF,$FF,$FF,$E2,$9D
;RUN-K24-K31
;.BYT $83,$01,$FF,$FF,$FF,$FF,$FF,$91
;K32-K39.F5
;.BYT $A0,$FF,$FF,$FF,$FF,$EE,$01,$89
;CO.KEY,K40-K47.F6
;.BYT $02,$FF,$FF,$FF,$FF,$E1,$FD,$8A
;K48-K55
;.BYT $FF,$FF,$FF,$FF,$FF,$B0,$E0,$8B
;K56-K63
;.BYT $F2,$F4,$F6,$FF,$F0,$ED,$93,$8C
;.BYT $FF ;END OF TABLE NULL
.SKI3
CONTRL
;NULL,RED,PURPLE,BLUE,RVS ,NULL,NULL,BLACK
.BYT $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
;NULL, W ,REVERSE, Y , I , P ,NULL,MUSIC
.BYT $1C,$17,$01,$9F,$1A,$13,$05,$FF
.BYT $9C,$12,$04,$1E,$03,$06,$14,$18
;NULL,CYAN,GREEN,YELLOW,RVS OFF,NULL,NULL,WHITE
.BYT $1F,$19,$07,$9E,$02,$08,$15,$16
.BYT $12,$09,$0A,$92,$0D,$0B,$0F,$0E
.BYT $FF,$10,$0C,$FF,$FF,$1B,$00,$FF
.BYT $1C,$FF,$1D,$FF,$FF,$1F,$1E,$FF
.BYT $90,$06,$FF,$05,$FF,$FF,$11,$FF
.BYT $FF ;END OF TABLE NULL
TVIC
.BYT 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;SPRITES (0-16)
.BYT $9B,55,0,0,0,$08,0,$14,$0F,0,0,0,0,0,0 ;DATA (17-31) RC=311
.BYT 14,6,1,2,3,4,0,1,2,3,4,5,6,7 ;32-46
;
RUNTB .BYT 'LOAD',$D,'RUN',$D
;
LINZ0 = VICSCN
LINZ1 = LINZ0+LLEN
LINZ2 = LINZ1+LLEN
LINZ3 = LINZ2+LLEN
LINZ4 = LINZ3+LLEN
LINZ5 = LINZ4+LLEN
LINZ6 = LINZ5+LLEN
LINZ7 = LINZ6+LLEN
LINZ8 = LINZ7+LLEN
LINZ9 = LINZ8+LLEN
LINZ10 = LINZ9+LLEN
LINZ11 = LINZ10+LLEN
LINZ12 = LINZ11+LLEN
LINZ13 = LINZ12+LLEN
LINZ14 = LINZ13+LLEN
LINZ15 = LINZ14+LLEN
LINZ16 = LINZ15+LLEN
LINZ17 = LINZ16+LLEN
LINZ18 = LINZ17+LLEN
LINZ19 = LINZ18+LLEN
LINZ20 = LINZ19+LLEN
LINZ21 = LINZ20+LLEN
LINZ22 = LINZ21+LLEN
LINZ23 = LINZ22+LLEN
LINZ24 = LINZ23+LLEN
.SKIP 3
;****** SCREEN LINES LO BYTE TABLE ******
;
LDTB2
.BYTE <LINZ0
.BYTE <LINZ1
.BYTE <LINZ2
.BYTE <LINZ3
.BYTE <LINZ4
.BYTE <LINZ5
.BYTE <LINZ6
.BYTE <LINZ7
.BYTE <LINZ8
.BYTE <LINZ9
.BYTE <LINZ10
.BYTE <LINZ11
.BYTE <LINZ12
.BYTE <LINZ13
.BYTE <LINZ14
.BYTE <LINZ15
.BYTE <LINZ16
.BYTE <LINZ17
.BYTE <LINZ18
.BYTE <LINZ19
.BYTE <LINZ20
.BYTE <LINZ21
.BYTE <LINZ22
.BYTE <LINZ23
.BYTE <LINZ24
.END
; RSR 12/08/81 MODIFY FOR VIC-40 KEYSCAN
; RSR 2/17/81 MODIFY FOR THE STINKING 6526R2 CHIP
; RSR 3/11/82 MODIFY FOR COMMODORE 64
; RSR 3/28/82 MODIFY FOR NEW PLA
; RSR 6/22/82 ADD 311 PLA RASTER COMPARE