Site Tools


Differences

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

Link to this comparison view

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!**
 +