TIKI 100

Here's another obscure system I had never heard of before it was skeletonized to MESS. We are now almost at the point in which you can just pick any random system, and wire it together in a couple of hours from zero to working. Good thing I know Swedish, or reading Norwegian tech specs would be quite hard :P

Still one more thing to do before this is completed, the double sided disk images have interleaved tracks (track 0 side 0, track 0 side 1, etc.) Maybe I should just convert the disk images outside MESS and be done with it. And of course there are a couple of nice peripherals (Winchester hard disk, light pen) that I would like to get emulated.

· 2009/07/04 22:42 · duke · 1 Comment

Bondwell 12/14

Finally got this driver up and running. Had to fix some NEC765 bugs on the way, and implement the AY-5-3600-PRO-002 (now that's a mouthful!) keyboard encoder. A special thank you to the Bondwell engineers for scrambling up the keyboard data lines! Pretty straightforward Z80 CP/M machine. Thanks to Tomas Karlsson, I converted his driver (made for earlier MAME core) to today's spec and added a few missing bits here and there. This is actually quite a nice little beast, even includes a speech synthesizer on the system boot disk! Disk operations are very very slow, so I recommend using maximum emulation speed while loading.

The nec765.c was broken in 2 ways for Bondwell. First of all the read interrupts were always 27 µs apart. From the debugger I could see that the interrupt arrived 1 (!) instruction too late, and the BIOS always gave up on reading the sector. The old implementation didn't differentiate between FM (27 µs) and MFM (13 µs) mode. I added a check for the MF bit in the command byte. Hopefully this fix didn't break anything… The second problem was that BW12 actually checked the ST0 result byte. It happened to contain 0x40 (abnormal termination of command) because a NO DATA error flag was raised every time nec765.c hit an end of track condition. I patched that too, and voilà, we have CP/M booting!

· 2009/06/26 22:55 · curtcoder · 2 Comments

Drivers

Here is a list of drivers I have worked on:

  • abc80
  • abc80x
  • advision
  • atarist
  • bw2
  • bw12
  • coleco
  • comx35
  • comxpl80
  • crvision
  • kyocera
  • mikromik
  • mc1000
  • mpf1
  • newbrain
  • osi
  • pc8401a
  • ql
  • sg1000
  • studio2
  • tiki100
  • tmc600
  • tmc1800
  • tmc2000e
  • vip
  • xerox820

Todo

  • Refactor all MAME drivers to use i8255a instead of ppi8255
  • Refactor COMX35 bus to use slots (comx35)
  • Refactor ABC bus to use slots (abc80/abc80x)
  • Refactor ECB bus to use slots (prof80)
  • Separate the GRIP into a C++ device (prof80)
  • Fix Prof-80 ↔ GRIP communication (prof80)
  • Refactor all MESS devices I've written to C++ and move common ones to emu folder
  • Merge the MESS and MAME i8257 implementations (pc8001)
  • Modernize all MESS drivers I've written
  • Convert comxpl80 into a C++ device (comx35)
  • Keyboard emulation for the ABC 80x series (abc80x)
  • Discrete sound for Cosmac VIP (vip)
  • Tape support for Cosmac VIP (vip)
  • Combine CDP1869 video and sound parts (comx35/tmc600)
  • Bit-level serial emulation of the Z80 DART (abc80x)
  • Improve Atari ST performance significantly (atarist)
  • Convert the MC6850 to a device (6850acia)

Todo (maybe)

  • Refactor Lisa to use the COP421 dump (lisa)
  • Complete the Z8 CPU core (jtc)
  • Newbrain COP420 ROM dump (newbrain)
  • uPD3301 attributes (pc8001)
  • HD64180 CPU core (extended Z80)
  • Tektronix 4051 vector graphics (tek4051)
  • Rewrite the 80186 with all peripherals (compis, tandy2k, tek4107)
  • Rewrite the shifter chip (atarist)
  • Proper interrupt handling for the NEC PC-8401A/PC-8500 (pc8401)
  • Add cartridge mappers for the C64 (c64)
  • Discrete sound for Adventure Vision (advision)
  • MSA disk image format (atarist)
  • Tape support for COMX-35 (comx35)
  • Real keyboard for CreatiVision (crvision)
  • Real keyboard for ABC 80 (abc80)
  • Real keyboard for TRS-80 Model II (trs80m2)
  • Real keyboard for Xerox 820 (xerox820)
  • Real keyboard for Tandy 2000 (tandy2k)
  • Real keyboard for Victor 9000 (victor9k)
  • Discrete sound for Studio II (studio2)
  • Real CPU clock for Studio II (studio2)
  • Microdrive support for Sinclair QL (ql)
  • Bit-level serial emulation of the MC68901 (atarist/x68k)
  • White noise emulation for the CDP1869 (comx35/tmc600)
  • SG-1000 mode for Telegames Dina (coleco)
people/curt_coder.txt · Last modified: 2011/09/17 11:24 by curtcoder
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported