Subject: Re: NetBSD1.3 and the Atari port
To: None <port-atari@NetBSD.ORG>
From: Andr Lange <al@ssh.de>
List: port-atari
Date: 10/22/1997 08:24:53
>Hi all,
>
>	As you probably all know by now, a NetBSD 1.3 release is planned on
>December 1st. This is the good news ;-) The bad news is that I am _very_
>scarce on time currently. We (my family and I) just moved to another house
>that needs lot's of repairs on a short term. So, I depend on you to help
>me out a bit...

Hi Leo.

I wish you and our family the best for your new domicil!

Here at holiday it is not so hard to keep awake nearly the whole 
night. So I managed it to fully disassemble the code of the 
HADES-Keyboard-Microcontroller (MAB8031).
After getting at about 3000 Lines of assembly it is time to
implement a kind of MF-2-Scancodemode!

The MAB8031 can manage up to 64k of programcode, but the original
code has only 8k of code and data.
The higher adressbits (A13-A15) are connected to the PSG-ports 
IOA0-IOA2 (former used for the Floppy), so Fredi Aschwaden planned
to copy the IKBD-code 8 times for getting multiple language support.
But he does not find the translation-tables! :-(

Here comes my idea:
I cut of the connection of the adresslines to the PSG-port and 
connected it correctly to the MAB8031-CPU-Port.
Don't panic, it is really easy! ;-)
So I get the linear adressrange of 64k by using an 27C512-EPROM 
(not slower than 150ns).

The IKBD-code supports all Atari-IKBD-commands, but the EXECUTE-cmd
has no function.
When using the MEM-Load it is possible to give the IKBD a list of 
parameters to setup his modes in a Atari-conform way.
Here I will implement the possibility of switching the 
translation-tables and scancode-mode. (Later a Numeric-Pad-Calculator 
or DCF-77 interface follows.)
Another feature will be a hotkey for switching the modes.
When using MEM-Read it is possible to ask the IKBD for special 
state-infos of his actual mode.
The IKBD sends to kinds of messages to the Atari:
  1. Atari-Scancodes: Make($0-$7f) / Break(Make+$80),
  2. Control-Codes ($F6-$FF): Status/Mouse/Time/Joystick
The $F6-Package has a Sub-header, which identifies the kind of
STATUS-Report. Here I will implement different sub-headers for
transfering the original MF-2-Scancodes (Break/Make).
This Scancodes include the WIN95-keyboards!

The Atari-Tos ignores the $F6-packages ($F6 + Subheader + 6 
databytes), so I have to write a driver for TOS and of course 
NetBSD/atari.

Fredi Aschwaden will use this new IKBD-feature for having a chance to 
use one Keyboard and one mouse at the same time for his new 
Pentium-PC-card.

The 64k-EPROM has enough space for about 50-60 different 
translation-tables. It is also possible to use a smaller EPROM.

Also it is possible to use the MAB8031-based keyboard-subsystem
as an external version for all other ATARIs. One side connected to 
the keyboard-ACIA (MC6850) and the other side connected to 
MF-2-keyboard/Atari-Mouse/Joystick (and later DCF-77-receiver).

What do you and the others think of this?
If someone has ideas for getting a perfect solution, it is the right 
time to drop me a mail.

After this project I have time to help you testing the NetBSD/atari 
1.3-kernel.

-- 
With best regards
Andre Lange, D-44143 Dortmund, Germany