Interface ascii apple II+ help

2 posts / 0 new
Last post
Offline
Last seen: 3 days 11 hours ago
Joined: Apr 29 2023 - 03:17
Posts: 1
Interface ascii apple II+ help

Hello everyone. Could someone help me by explaining how the options for selecting the keyboard type work? I built this board for an Apple II+, put all the JUMPERs (I didn't use a Dip Switch) and it worked fine, but I would like to understand this mapping of columns and rows.Thank you.

https://github.com/osiweb/unified_retro_keyboard/tree/main/hardware/interface-ascii

Offline
Last seen: 19 hours 54 min ago
Joined: Aug 29 2010 - 18:51
Posts: 70
Because the firmware is

Because the firmware is written in C, which has a very weak macro system and does not offer much by way of compile time computation, the row/column definitions are written as C array definitions, with some help of macros to make the codes easier to understand.  The basic apple 2 keymaps are in src/keymaps/asdf_apple2_keymaps.[ch] files.   This file defines maps for each key in various modes (shifted, unshifted, control-key, caps).  These basic maps are assigned to various modes in the asdf_apple2.[ch] and asdf_apple2_caps.[ch] files, which choose a combination of keymaps to assign to a DIP/jumper setting.  For example, The Apple2 map has slightly different maps for unshifted, shifted, control-key, and capslock (via the power switch).  The apple2_caps map is nearly identical, but has no capslock function, and uses the CAPS map in place of the unshifted map.

 

The jumper setting let you switch between those various maps.

 

One of the items on my TO-DO list is to create a preprocessor that will allow a simpler method of defining keymaps, and a more flexible keymapping mechanism, at the expense of a little more FLASH storage for the keymaps.

 

If you have some specific ideas for improving the keymaps, let me know and I'll work with you.

 

Dave

Log in or register to post comments