hexmon
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| hexmon [2026/02/22 22:47] – appledog | hexmon [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | = HEXMON | ||
| - | This is a concise tutorial on how to use HEXMON (type " | ||
| - | |||
| - | '' | ||
| - | |||
| - | All addresses and data values are in **hexadecimal** (no $ prefix needed). Press **RETURN** (or Enter) after each line to execute it. The prompt for the Apple-1 was a backslash '' | ||
| - | |||
| - | == Starting the Monitor | ||
| - | * Power on the SD-8516 / VC-3. | ||
| - | * After you hear the chime, you can type '' | ||
| - | * You should see '' | ||
| - | |||
| - | === 1. Examining Memory (Display contents) | ||
| - | **Single location**: Type the 4-digit address and press RETURN | ||
| - | Example: | ||
| - | |||
| - | 0030 | ||
| - | |||
| - | This might respond '' | ||
| - | |||
| - | |||
| - | **Range of locations**: | ||
| - | |||
| - | Example: | ||
| - | |||
| - | 200.2FF | ||
| - | |||
| - | This dumps bytes from $0200 to $02FF, 8 bytes per line with address prefix and printable display. | ||
| - | |||
| - | == 2. Writing to Memory | ||
| - | Use the entry operator '':'' | ||
| - | |||
| - | **Write-One** | ||
| - | |||
| - | Example: | ||
| - | |||
| - | 1000:A9 | ||
| - | |||
| - | This will store $A9 into memory location $1000. | ||
| - | |||
| - | **Write-List** | ||
| - | Example: | ||
| - | |||
| - | 200: A9 00 20 EF FF | ||
| - | |||
| - | Stores those 5 bytes starting at address $0200. | ||
| - | |||
| - | == 3. Running a Program | ||
| - | |||
| - | Type the start address followed by '' | ||
| - | |||
| - | Example: | ||
| - | |||
| - | 1000R | ||
| - | |||
| - | This will call the program at $1000 and begin executing code. If the program issues a RET, it will return to HEXMON. You could then quit HEXMON normally by typing Q. | ||
| - | |||
| - | It's worth noting you don't need HEXMON to run a program. If a program is assembled starting at $030100, typing '' | ||
| - | |||
| - | === Example Program | ||
| - | Example "Hello World" program: | ||
| - | |||
| - | C000: 00 34 10 C0 00 00 20 66 | ||
| - | C008: 86 05 00 20 64 86 05 85 | ||
| - | C010: 48 45 4C 4C 4F 20 57 4F | ||
| - | C018: 52 4C 44 21 00 00 00 00 | ||
| - | |||
| - | Type this in and then type | ||
| - | |||
| - | C000R | ||
| - | |||
| - | to run the program! | ||
| - | |||
| - | ==== Full Listing | ||
| - | You can also enter code from full disassembly listings. Just type in the values on the left, as shown above in ' | ||
| - | |||
| - | | ||
| - | -------------------------------------------------------------------------------- | ||
| - | $C000: | ||
| - | 10 C0 00 ; (Bank 0, address $C0 10) | ||
| - | $C005: | ||
| - | $C008: | ||
| - | $C00A: | ||
| - | $C00D: | ||
| - | $C00F: | ||
| - | $C010: | ||
| - | $C010: | ||
| - | $C014: | ||
| - | $C018: | ||
| - | $C01C: | ||
| - | |||
| - | == Summary of Main Commands | ||
| - | | Command format | ||
| - | |-----------------------------|--------------------------------------|--------------------------| | ||
| - | | addr | Show one byte | `C100` | ||
| - | | start.end | ||
| - | | addr1 addr2 addr3... | ||
| - | | addr:data data data... | ||
| - | | :data data... | ||
| - | | addrR | Run code at addr | `E000R` (start BASIC) | ||
| - | |||
| - | Note: Features marked with * are not implemented yet. | ||
| - | |||
| - | Now you have everything you need to know to use HEXMON! | ||
| - | |||
| - | Many people still use it today because of its simplicity and elegance. | ||
| - | |||
| - | == NEXT STEPS | ||
| - | If you want to have some fun and try more example programs that can be loaded via HEXMON, please see: [[Assembly Programs]]. | ||
| - | |||
| - | If you are looking for a tutorial on how to write Assembly Language programs yourself, you can refer to: | ||
| - | * [[SD-8516 Assembly Language]] (crash course) | ||
| - | * [[SD-8516 Programmer' | ||
| - | |||
| - | Have fun exploring SD-8516 machine code! | ||
hexmon.1771800427.txt.gz · Last modified: by appledog
