Skip to content

Commit dff3acd

Browse files
committed
Wip
1 parent 0c2f71a commit dff3acd

1 file changed

Lines changed: 87 additions & 0 deletions

File tree

E000.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,38 @@ title: $E000-$FFFF - Kernal Rom, Standard Commodore Jump Table
1212

1313
<span class="badge badge-info">Has a jump table entry at [$FF53](#FF53)</span>
1414

15+
<a name="FF47"></a>
16+
17+
## 65351 $FF47 JSPIN_SPOUT
18+
19+
<span class="badge badge-info">Entry point for the SPIN_SPOUT routine, currently at [$E5FB](#E5FB)</span>
20+
21+
Sets up the serial bus for fast communications mode.
22+
23+
### Input
24+
25+
* Carry bit
26+
* clear to establish fast serial input
27+
* set to establish fast serial output
28+
29+
<a name="FF4A"></a>
30+
31+
## 65354 $FF4A JCLOSE_ALL
32+
33+
<span class="badge badge-info">Entry point for the CLOSE_ALL routine, currently at [$F23D](#F23D)</span>
34+
35+
Closes all files currently opened to a specified device.
36+
37+
### Input
38+
39+
* .A must contain the device number
40+
41+
### Output
42+
43+
* Carry bit
44+
* clear if all files have been successfully closed
45+
* set in case of error
46+
1547
<a name="FF4D"></a>
1648

1749
## 65357 $FF4D JC64_MODE
@@ -166,6 +198,40 @@ Jumps to a routine in a specified bank with no return to calling bank.
166198
* Location $07 must contain the .X register value when the target routine is reached
167199
* Location $08 must contain the .Y register value when the target routine is reached
168200

201+
### Output
202+
203+
* Status register filled with location $05
204+
* .A filled with location $06
205+
* .X filled with location $07
206+
* .Y filled with location $08
207+
208+
### Example
209+
210+
``` Assembly
211+
STA $06 // .A, .X and .Y
212+
STX $07 // should be already filled
213+
STY $08
214+
PHP // Push status register to stack
215+
PLA // Pull status register from stack to .A
216+
STA $05 // Store status register to $05
217+
218+
LDA #1 // Suppose to call $2000 in bank 1
219+
STA $02
220+
LDX #$00
221+
STX $04
222+
LDY #$20
223+
STY $03
224+
225+
JSR $FF6E // JJMPFAR
226+
227+
LDA $05 // Restore status and registers
228+
PHA
229+
LDA $06
230+
LDX $07
231+
LDY $08
232+
PLP
233+
```
234+
169235
<a name="FFBA"></a>
170236

171237
## 65466 $FFBA JSETLFS
@@ -222,6 +288,27 @@ Loads or verifies a program file from tape or disk into a specified area of memo
222288
* set in case of error or if RUN/STOP has been pressed and .A contains error code
223289
* .A could be 4 (file not found), 8 (no name specified), 9 (illegal device number specificied), 16 (load extended over address $FEFF).
224290

291+
292+
### Example
293+
294+
``` Assembly
295+
LDA #FileNameLength
296+
LDX #FileName
297+
JSR $FFBD // JSETNAM
298+
LDA #00
299+
TAX
300+
JSR $FF68 // JSETBNK
301+
LDA #00
302+
LDX #08
303+
LDY #01
304+
JSR $FFBA // JSETLFS
305+
LDA #00
306+
JSR $FFD5 // JLOAD
307+
308+
FileName: .text "FILENAME"
309+
.label FileNameLength = 8
310+
```
311+
225312
<a name="FFD8"></a>
226313

227314
## 65496 $FFD8 JSAVE

0 commit comments

Comments
 (0)