This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
mg_notes:iie_card:weird_stuff [2017/08/06 03:24] M.G. [The Key Translation and the A register] |
mg_notes:iie_card:weird_stuff [2017/08/07 22:16] M.G. [Other Weird Instructions] |
||
---|---|---|---|
Line 39: | Line 39: | ||
^ In Routine ^ Address ^ Code ^ Function ^ | ^ In Routine ^ Address ^ Code ^ Function ^ | ||
- | | RESET | $FAB4 | $02 $02 | ? | | + | | PWRUP | $FAB4 | $02 $02 | Loads A reg with $Cn+1 where n = startup slot or $C8 if scan. | |
- | | RESET | $FAC0 | $02 $03 | ? | | + | | PWRUP | $FAC0 | $02 $03 | Displays "UNABLE TO BOOT FROM STARTUP SLOT" if A reg = $Cn-1 where n = startup slot or $c0 if scan. Disappears if screen scrolls. | |
| APPLEII | $FB63 | $02 $04 | Display copyright message on screen, disappears if screen scrolls. | | | APPLEII | $FB63 | $02 $04 | Display copyright message on screen, disappears if screen scrolls. | | ||
| BELL1 | $FBDD | $02 $01 | Play system bell sound. | | | BELL1 | $FBDD | $02 $01 | Play system bell sound. | | ||
- | | GETLN1 | $FD78 | $02 $06 | Key translation called right after rdchar. Converts A reg from <key>DELETE</key> to <key><-</key>. | | + | | GETLN1 | $FD78 | $02 $06 | Key translation called right after rdchar. If A reg has <key>DELETE</key>, converts it to <key><-</key>. | |
+ | | | | $02 $05 | Not found in firmware, yet, but presumably this exists. | | ||
==== The Key Translation and the A register ==== | ==== The Key Translation and the A register ==== | ||
Line 66: | Line 67: | ||
* | * | ||
</code> | </code> | ||
+ | |||
+ | FF is exactly what we expect to see with the Apple II delete key. | ||
Now want to see something interesting? Change the NOPs to $02 $06 and run it again. Try a few keys, then try it with <key>DELETE</key>. | Now want to see something interesting? Change the NOPs to $02 $06 and run it again. Try a few keys, then try it with <key>DELETE</key>. | ||
Line 76: | Line 79: | ||
</code> | </code> | ||
- | That's some serious magic. | + | 88 is the code for the left arrow key. That's some serious magic, and in two bytes the Card converts <key>DELETE</key> to <key><-</key>. |
+ | |||
+ | ==== The Two-Byte Copyright ==== | ||
+ | |||
+ | Try this sequence of instructions: | ||
+ | |||
+ | <code> | ||
+ | ]HOME | ||
+ | ]CALL -151 | ||
+ | *300:02 04 60 | ||
+ | *300G | ||
+ | </code> | ||
+ | Hit the left arrow a bunch of times until the display scrolls. **POOF!** | ||
+ |