User Tools

Site Tools


hexmon

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
hexmon [2026/02/22 22:42] appledoghexmon [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 "MON" at the prompt). 
- 
-''wozmon'' is a tiny but elegant monitor program Steve Wozniak wrote for the original Apple-1 computer in 1976. It lets you examine memory, change memory, and run machine-language programs directly from the keyboard. This tutorial is designed to teach you how to use HEXMON, which is a very similar program. 
- 
-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 ''\'', sometimes shown as a ''@'' in emulators/replicas. The prompt was changed to a ''*'' for the Apple II and that is the convention that HEXMON uses. 
- 
-== Starting the Monitor 
-* Power on the SD-8516 / VC-3. 
-* After you hear the chime, you can type ''MON''. 
-* You should see ''*''. The system is now ready for input. 
- 
-=== 1. Examining Memory (Display contents) 
-**Single location**: Type the 4-digit address and press RETURN 
-Example:   
- 
-    0030 
- 
-This might respond ''0030: A9'' i.e. it shows the current byte at address $0030. 
- 
- 
-**Range of locations**: Use the dot operator ''.'' between start and end address. 
- 
-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 '':'' after an address, followed by data bytes. Bytes are stored starting at the location you have specified. 
- 
-**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 ''R'' (Run). 
- 
-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 ''SYS'' by itself on a line will run it. Otherwise you can type ''SYS $(address)'' at the command prompt to run a machine language program. 
- 
-=== 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! 
- 
-== Summary of Main Commands 
-| Command format              | Purpose                              | Example                  | 
-|-----------------------------|--------------------------------------|--------------------------| 
-| addr                        | Show one byte                        | `C100`                   | 
-| start.end                   | Show range                           | `E000.EFF`               | 
-| addr1 addr2 addr3...        | Show several locations/ranges        | `FF00 FF10.FF1F` (*)     | 
-| addr:data data data...      | Store bytes starting at addr         | `1000:EA A9 00`          | 
-| :data data...               | Store continuing from last addr      | `:01 02 03` (*)          | 
-| 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. 
- 
-Have fun exploring SD-8516 machine code! If you want to have some fun and try more example programs that can be loaded via HEXMON, please see: [[Assembly Programs]]. 
hexmon.1771800145.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki