User Tools

Site Tools


system_interface

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
system_interface [2025/08/21 11:57] reggiesystem_interface [2025/08/26 15:57] (current) – [Keyboard] reggie
Line 67: Line 67:
 Columns and rows are zero-based with (0, 0) at the (left, top). Addresses increase left to right, then top to bottom, for a 32 wide and 16 high display. So column 7, row 3 is at address $400+(3*32)+(7). Columns and rows are zero-based with (0, 0) at the (left, top). Addresses increase left to right, then top to bottom, for a 32 wide and 16 high display. So column 7, row 3 is at address $400+(3*32)+(7).
  
-==== Keyboard ====+==== Keyboard & Controller ====
  
 The keyboard is accessed by a single port. Simply write 0 to the port then read from the same address. A negative value means no key has been pressed, otherwise the value is the ASCII code of the last key pressed. Write $ff to the same port to clear the keyboard buffer. The keyboard is accessed by a single port. Simply write 0 to the port then read from the same address. A negative value means no key has been pressed, otherwise the value is the ASCII code of the last key pressed. Write $ff to the same port to clear the keyboard buffer.
Line 88: Line 88:
     bita #BtnFire     bita #BtnFire
     bne fireWeapon     bne fireWeapon
 +
 +==== Hex Dump ====
 +
 +Click this button to copy a range of bytes to the system clipboard. Set the X and Y registers to specify the start and end of the range, ie. from X to Y-1. For example, if we have a program starting at $4000,  clicking **Hex Dump** with X=$4000, Y=$6000 copies $2000 bytes from $4000 to $5FFF inclusive. Now paste the text into a basic text editor and save it with extension '.hex'.
 +
 +The format used is [[https://en.wikipedia.org/wiki/Intel_HEX|Intel Hex]]. It can be used directly by the [[https://www.6809.org.uk/xroar/online/|Xroar Dragon / CoCo Emulator]]. So using the example above, type CLEAR 200,16383 into the Dragon, load the '.hex' file, and execute it with EXEC 16384.
  
  
  
system_interface.1755777420.txt.gz · Last modified: 2025/08/21 11:57 by reggie

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki