From mint-bounce@lists.fishpool.fi Sun Sep 12 12:11:25 2010 Message-ID: <4C8CF976.5060102@freesbee.fr> Date: Sun, 12 Sep 2010 18:01:58 +0200 From: =?ISO-8859-1?Q?Vincent_Rivi=E8re?= User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3 MIME-Version: 1.0 To: mint@lists.fishpool.fi Subject: Re: [MiNT] No keyboard with GEM=ROM References: <4C8B6E68.9030505@freesbee.fr> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-ecartis-version: Ecartis v1.0.0 Sender: mint-bounce@lists.fishpool.fi Errors-to: mint-bounce@lists.fishpool.fi X-original-sender: vincent.riviere@freesbee.fr Precedence: bulk List-help: List-unsubscribe: List-Id: X-List-ID: List-subscribe: List-owner: List-post: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.sparemint.org id o8CGBJXa014246 Konrad Kokoszkiewicz wrote: > I vaguely remember that there is some keyboard vector that is not > supported in keyboard.c - i.e. the driver is supposed to pass the > processed data further, but it does not. The first versions of keyboard.c > did that, but later it has been somehow decided that this is useless. I have had a look at keyboard stuff, and I didn't see anything that should require something like "passing the processed data further". However, I have seen a very ugly thing: In sys/arch/init_intr.c, init_intr(), the ACIA vector 0x118 is replaced by new_acia(), implemented in sys/arch/acia.S. Compared to the standard EmuTOS routine, that one does 2 important things: 1) It ignores any MIDI data ! So does the current FreeMiNT totally break MIDI support ? 2) It puts syskey (result of EmuTOS Kbdvbase()) into a3, then, as a side effect, ikbdsys_handler() use it ! Very error prone. In order to test, I have fixed 2) above and I have removed the ACIA hooking. I kept only the IKBDSYS hooking. It works identically as before and is much cleaner (and should not break MIDI). > The ROM GEM probably hooks onto it I have looked at the EmuTOS sources. The VDI cleanly hooks the mouse vector using Initmous(). The keyboard vectors are not hooked at all, the VDI simply calls Bconstat() and Bconin() to read the keyboard. There is no ugly hack. So I would expect it works fine with MiNT (but it doesn't). > and at the time of writing of keyboard.c, as far as I can remember, there > was not way to run the GEM from ROM (it was thought useless as well - > honestly I don't know why anyone would do that, the ROM AES is crap). For me, the GEM=ROM feature is one of the best features of MiNT. -- Vincent Rivière