You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: E000.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Routine needs parameter to be set:
25
25
26
26
If the specified drive is not present or turned off, or the disk does not contain valid boot sectors, the routine will return carry bit set.
27
27
28
-
BOOT_CALL routine at [$F890](#F890)which attempts to load and execute the boot sector from an auto-boot disk in the given drive and device. The BOOT protocol is as follows:
28
+
BOOT_CALL routine at [$F890](#F890) attempts to load and execute the boot sector from an auto-boot disk in the given drive and device. The BOOT protocol is as follows:
29
29
30
30
* Close all open files on boot device.
31
31
* Read track 1 sector 0 into TBUFFR ($B00).
@@ -51,14 +51,14 @@ The following examples illustrate the flexibility of this layout. This loads and
51
51
<pre>
52
52
$00 -> "CBM"
53
53
$03 -> $00, $00, $00, $00 // no other BOOT sector
54
-
$07 -> "NAME",$00 // message "NAME"
55
-
$0C -> $00 // no filename
54
+
$07 -> "NAME",$00 // message "NAME" (+ terminator A)
55
+
$0C -> $00 // no filename (only terminator B)
56
56
$0D -> // code
57
57
$A2, $13, // LDX #$13
58
58
$A0, $0B, // LDY #$0B
59
59
$4C, $A5, $AF // JMP $AFA5 (J_EXECUTE_A_LINE)
60
-
$14 -> RUN"PROGRAM" // data (BASIC statement)
61
-
$20 -> $00
60
+
$14 -> RUN"PROGRAM" // BASIC statement
61
+
$20 -> $00 // empty code (C)
62
62
</pre>
63
63
64
64
This results in the message Booting NAME... being displayed and, utilizing a C128 BASIC jump table entry that finds and executes a BASIC statement, loads and runs the BASIC program named "PROGRAM". The same header can be used to load and execute a binary (machine code) program by simply changing RUN to BOOT.
@@ -68,9 +68,9 @@ While the file auto-load feature of the boot header could be used to load binary
68
68
<pre>
69
69
$00 -> "CBM"
70
70
$03 -> $00, $00, $00, $00 // no other BOOT sector
71
-
$07 -> $00 // no message
72
-
$0C -> $00 // no filename
73
-
$0D -> // code
71
+
$07 -> $00 // no message (only terminator A)
72
+
$08 -> $00 // no filename (only terminator B)
73
+
$09 -> // code (C)
74
74
$20, $7D, $FF, // JSR $FF7D (JPRIMM)
75
75
$0D, $53, $45, $4C, $45, // String start
76
76
$43, $54, $20, $4D, $4F,
@@ -92,13 +92,13 @@ $0D -> // code
92
92
$EB, $4C, $00, $B0
93
93
</pre>
94
94
95
-
Starting from $0D, the first three bytes stands for
95
+
Starting from $09, the first three bytes stands for
96
96
97
97
<pre>
98
98
JSR $FF7D
99
99
</pre>
100
100
101
-
which is a jump to $FF7D (JPRIMM). It prints on screen the
101
+
which is a jump to [$FF7D](E000#FF7C) (JPRIMM). It prints on screen the
102
102
string of character codes immediately following the JSR.
103
103
104
104
So, the code above shows this message and waits for a key press:
Copy file name to clipboardExpand all lines: index.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ All references have been eliminated and are being reviewed to verify that the us
20
20
21
21
### Memory reference
22
22
23
+
*[$0000-$00FF - Zero Page](0000) (WIP)
23
24
*[$E000-$FFFF - Kernal Rom, Standard Commodore Jump Table](E000) (WIP)
24
25
25
26
Most references have been eliminated and are being reviewed to verify that the user license complies with the proposed contents. The contents will gradually be reinserted after the necessary checks.
@@ -50,3 +51,5 @@ An article from Marko Mäkelä about Vic2 (and Vic2e) memory access
50
51
51
52
*[The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64](https://ist.uwaterloo.ca/~schepers/MJK/ascii/VIC-Article.txt)
52
53
An article from Christian Bauer about Vic2
54
+
55
+
*[unusedinode](http://unusedino.de/ec64/technical.html) some tech info about C64
0 commit comments