- Add custom keyboard port and emulate most of the Expanded Typewriter Keyboard
- Add unidirectional printer port
- Use addressable latch devices to control various things, including disabling display during RAM test
- Hack to pass non-volatile memory test on uts10
* Adjusted UART receive behavior to flag an available byte only at the specified baud rate.
* Added separate UART baud rate calculation for SPG24x vs. SPG28x.
* Adjusted ADC behavior to flag an IRQ when the relevant data bit is set, not when register bit is newly set.
* Added separate logging for FIQ registers.
* Added logging for SIO registers.
-clickstart: Added preliminary mouse hookup. Only accepts a mouse update once, ignores further updates. Needs further investigation. (nw)
new NOT WORKING
Mattel Classic Sports [Sean Riddle]
Dora the Explorer (JAKKS Pacific TV Game) [Sean Riddle]
kludge handling of invalid size writes to DMA so that Dora the Explorer doesn't trash all of RAM + registers
new SOFTWARE LIST
JAKKS Pacific 'NK' Game Keys
(Dora has corrupt gfx, probably the bad DMAs should do something, Mattel Classic Sports gives a black screen)
xavix.cpp:
new NOT WORKING
e-kara Pro Headset (US, includes 3 songs) [Sean Riddle]
Super Dash Ball (Japan) [Sean Riddle, Peter Wilhelmsen]
Gururin World (Japan) [Sean Riddle, Peter Wilhelmsen]
disable active raster interrupts if raster interrupt enable is turned off, and add preliminary shifter register emulation, needed for 3D stages in Gururin World [David Haywood]
(Pro Headset works as well as other e-Kara stuff, marked as NOT WORKING due to lack of microphone and sound emulation issues, Super Dash Ball needs trackballs hooking up, Gururin World needs analog cycle looking up)
rad_eu3a14.cpp:
tied tilemap dimensions to tile sizes to improve Huntin'3 map screen [David Haywood]
The 7497 device should now work as described in the TI datasheet. This
datasheet contains an internal schematic with details on gates and D
flip flops used.
If you can parse this comment from the Linux driver, please help :)
* The IOASIC LANCE devices use a shared memory region. This region
* as seen from the CPU is (max) 128 kB long and has to be on an 128 kB
* boundary. The LANCE sees this as a 64 kB long continuous memory
* region.
*
* The LANCE's DMA address is used as an index in this buffer and DMA
* takes place in bursts of eight 16-bit words which are packed into
* four 32-bit words by the IOASIC. This leads to a strange padding:
* 16 bytes of valid data followed by a 16 byte gap :-(.
I get the first part, which is that since the DMA engine works in words and
LANCE works in half-words that each half-word for LANCE is packed into one
word from the CPU's point of view. The second part not so much.