diff options
author | B. Watson <urchlay@slackware.uk> | 2024-05-01 15:31:33 -0400 |
---|---|---|
committer | B. Watson <urchlay@slackware.uk> | 2024-05-01 15:31:33 -0400 |
commit | 18781e0d2111bfa87b8224e203922a7cb6fcfc59 (patch) | |
tree | 39405a9cba2acdb8f70ae7e3296de8ace91dea06 | |
parent | 7f073bae21ce8d7e53f576259232837f9fec3258 (diff) | |
download | bw-atari8-tools-18781e0d2111bfa87b8224e203922a7cb6fcfc59.tar.gz |
xex(5): tweak.
-rw-r--r-- | xex.5 | 32 | ||||
-rw-r--r-- | xex.rst | 32 |
2 files changed, 32 insertions, 32 deletions
@@ -173,29 +173,29 @@ offset 16: 60 E0 02 E1 02 00 06 This is a complete (though short) XEX file, and it can be loaded from the DOS menu (or D1: prompt, if you use a command\-line\-based DOS). .sp -The first 2 bytes ($FF, $FF) are the signature for the initial +The first 2 bytes (\fB$FF\fP, \fB$FF\fP) are the signature for the initial segment header. .sp -The next 2 bytes ($00, $06) are the load address of the first segment -($0600, in 6502\-style LSB\-first notation). +The next 2 bytes (\fB$00\fP, \fB$06\fP) are the load address of the first segment +(\fB$0600\fP, in 6502\-style LSB\-first notation). .sp -The next 2 bytes ($0A, $06) are the end address ($060A). +The next 2 bytes (\fB$0A\fP, \fB$06\fP) are the end address (\fB$060A\fP). .sp -Since the header says to load data from $0600 to $060A, there are 11 -data bytes in the segment, beginning with $A9, $00 (the 6502 object -code for the \fILDA #0\fP instruction), and extending to the $60 (RTS +Since the header says to load data from \fB$0600\fP to \fB$060A\fP, there are 11 +data bytes in the segment, beginning with \fB$A9\fP, \fB$00\fP (the 6502 object +code for the \fILDA #0\fP instruction), and extending to the \fB$60\fP (\fIRTS\fP opcode) at offset 16. .sp The data from the first segment is immediately followed by the header -of the next segment, at offset 17. A $FF, $FF signature would be allowed +of the next segment, at offset 17. A \fB$FF\fP, \fB$FF\fP signature would be allowed here, but in the example, the 2nd segment uses the 4\-byte header. .sp -At offset 17, the $E0, $02 (aka $02E0) is the load address. $E1, $02 -($02E1) is the end address. $02E0/$02E1 is known as \fIRUNAD\fP in the +At offset 17, the \fB$E0\fP, \fB$02\fP (aka \fB$02E0\fP) is the load address. \fB$E1\fP, \fB$02\fP +(\fB$02E1\fP) is the end address. \fB$02E0\fP, \fB$02E1\fP is known as \fIRUNAD\fP in the Atari world, and it\(aqs the address where DOS will find the entry point to the program when it\(aqs done being loaded. .sp -The next (and last) 2 bytes are $00, $06 (aka $0600), which is the run +The next (and last) 2 bytes are \fB$00\fP, \fB$06\fP (aka \fB$0600\fP), which is the run address itself (to be deposited at \fIRUNAD\fP). .sp There are no more segments, since we\(aqve reached end of file. @@ -245,12 +245,12 @@ ff ff C5 02 C6 02 0F 00 .UNINDENT .UNINDENT .sp -The file begins with $FF, $FF header, then the 2\-byte load address -($C5, $02 for address $02C5), then the 2\-byte end address ($C6, $02, -aka $02C6), then the 2 bytes of data to be stored there ($0F, $00). +The file begins with \fB$FF\fP, \fB$FF\fP header, then the 2\-byte load address +(\fB$C5\fP, \fB$02\fP for address \fB$02C5\fP), then the 2\-byte end address (\fB$C6\fP, \fB$02\fP, +aka \fB$02C6\fP), then the 2 bytes of data to be stored there (\fB$0F\fP, \fB$00\fP). .sp -When loaded, this will store $0F at address $02C5 (aka \fICOLOR0\fP, -the text luminance in \fIGRAPHICS 0\fP) and $00 at $02C6 (\fICOLOR1\fP, the +When loaded, this will store \fB$0F\fP at address \fB$02C5\fP (aka \fICOLOR0\fP, +the text luminance in \fIGRAPHICS 0\fP) and \fB$00\fP at \fB$02C6\fP (\fICOLOR1\fP, the \fIGRAPHICS 0\fP background color). .sp Notice that there\(aqs no run or init address. That\(aqs because no code is @@ -132,29 +132,29 @@ This will create a binary file that looks like this:: This is a complete (though short) XEX file, and it can be loaded from the DOS menu (or D1: prompt, if you use a command-line-based DOS). -The first 2 bytes ($FF, $FF) are the signature for the initial +The first 2 bytes (**$FF**, **$FF**) are the signature for the initial segment header. -The next 2 bytes ($00, $06) are the load address of the first segment -($0600, in 6502-style LSB-first notation). +The next 2 bytes (**$00**, **$06**) are the load address of the first segment +(**$0600**, in 6502-style LSB-first notation). -The next 2 bytes ($0A, $06) are the end address ($060A). +The next 2 bytes (**$0A**, **$06**) are the end address (**$060A**). -Since the header says to load data from $0600 to $060A, there are 11 -data bytes in the segment, beginning with $A9, $00 (the 6502 object -code for the *LDA #0* instruction), and extending to the $60 (RTS +Since the header says to load data from **$0600** to **$060A**, there are 11 +data bytes in the segment, beginning with **$A9**, **$00** (the 6502 object +code for the *LDA #0* instruction), and extending to the **$60** (*RTS* opcode) at offset 16. The data from the first segment is immediately followed by the header -of the next segment, at offset 17. A $FF, $FF signature would be allowed +of the next segment, at offset 17. A **$FF**, **$FF** signature would be allowed here, but in the example, the 2nd segment uses the 4-byte header. -At offset 17, the $E0, $02 (aka $02E0) is the load address. $E1, $02 -($02E1) is the end address. $02E0/$02E1 is known as *RUNAD* in the +At offset 17, the **$E0**, **$02** (aka **$02E0**) is the load address. **$E1**, **$02** +(**$02E1**) is the end address. **$02E0**, **$02E1** is known as *RUNAD* in the Atari world, and it's the address where DOS will find the entry point to the program when it's done being loaded. -The next (and last) 2 bytes are $00, $06 (aka $0600), which is the run +The next (and last) 2 bytes are **$00**, **$06** (aka **$0600**), which is the run address itself (to be deposited at *RUNAD*). There are no more segments, since we've reached end of file. @@ -182,12 +182,12 @@ The binary looks like this:: ff ff C5 02 C6 02 0F 00 -The file begins with $FF, $FF header, then the 2-byte load address -($C5, $02 for address $02C5), then the 2-byte end address ($C6, $02, -aka $02C6), then the 2 bytes of data to be stored there ($0F, $00). +The file begins with **$FF**, **$FF** header, then the 2-byte load address +(**$C5**, **$02** for address **$02C5**), then the 2-byte end address (**$C6**, **$02**, +aka **$02C6**), then the 2 bytes of data to be stored there (**$0F**, **$00**). -When loaded, this will store $0F at address $02C5 (aka *COLOR0*, -the text luminance in *GRAPHICS 0*) and $00 at $02C6 (*COLOR1*, the +When loaded, this will store **$0F** at address **$02C5** (aka *COLOR0*, +the text luminance in *GRAPHICS 0*) and **$00** at **$02C6** (*COLOR1*, the *GRAPHICS 0* background color). Notice that there's no run or init address. That's because no code is |