[Coco] How To Change ADOS/ADOS 3/Extended ADOS 3 Control Keys!

Steven Wallis stevenw890 at gmail.com
Sun Sep 3 14:46:32 EDT 2017


1. Extract the .BIN from the .DSK and rename it to .ROM.

2. Edit the file with a hex editor and remove the first and last 5 bytes
from the file
   (so it is now 8192 bytes).

3. Edit the file with a hex editor and change the following two bytes as
needed:
   KEYBOARD ROW & KEYBOARD COL.
   NOTE: When looking at ADOS memory ($C000-DFFF) on MAME or on a real CoCo
add $C000.

ADOS:
=====
$19C3  LDA $EF     '--> KEYBOARD ROW: Change $19C4 was $EF or 11101111
                   'NOTE: The above bits are inverted!
$19C5  STA $FF02   'Put A in $FF02 to check the Bit4 row.
$19C8  LDA $FF00   'Check these columns.
$19CB  ANDA $08    '--> KEYBOARD COL: Change $19CC was $08 or 00001000
                   'Checks the Bit3 column (DnArrow).

ADOS 3:
=======
$1A01  LDA $EF     '--> KEYBOARD ROW: Change $1A02 was $EF or 11101111
                   'NOTE: The above bits are inverted!
$1A03  STA $FF02   'Put A in $FF02 to check the Bit4 row.
$1A06  LDA $FF00   'Check these columns.
$1A09  ANDA $48    '--> KEYBOARD COL: Change $1A0A was $48 or 01001000
                   'Checks the Bit6 & Bit3 columns (Ctr & DnArrow).

EXTENDED ADOS 3:
================
The code above is still the same and in the same location, but I can't
test it until Extended ADOS 3 works in MAME.


KEYBOARD MAP:
=============
                          |         $FF00 Read
                          |
                          | B7  B6  B5  B4  B3  B2  B1  B0
                          |$80 $40 $20 $10 $08 $04 $02 $01
                   -------+---------------------------------
                   B0 $FE | --  Ent 8   0   X   P   H   @
                   B1 $FD | --  Clr 9   1   Y   Q   I   A
                   B2 $FB | --  Brk :   2   Z   R   J   B
     $FF02 Write   B3 $F7 | --  Alt ;   3   Up  S   K   C
                   B4 $EF | --  Ctr ,   4   Dn  T   L   D
                   B5 $DF | --  F1  -   5   Lf  U   M   E
                   B6 $BF | --  F2  .   6   Rt  V   N   F
                   B7 $7F | --  Shf /   7   Spc W   O   G
                   -------+---------------------------------

           Alt,Ctr,F1,F2 = CoCo 3 only.
           $FF00 Bit7 = Joystick comparison result.


More information about the Coco mailing list