This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
mg_notes:apple_iic:mig_chip [2018/07/12 19:10] M.G. [MIG RAM] |
mg_notes:apple_iic:mig_chip [2018/08/01 19:40] (current) M.G. [MIG Address Space] |
||
---|---|---|---|
Line 3: | Line 3: | ||
The MIG is a custom chip in the Apple IIc Plus that provides signals for accessing 3.5%%"%% disk drives and access to a 2K static RAM chip mainly used to buffer 3.5%%"%% sector data for reading and writing. The RAM is also used for the accelerator. | The MIG is a custom chip in the Apple IIc Plus that provides signals for accessing 3.5%%"%% disk drives and access to a 2K static RAM chip mainly used to buffer 3.5%%"%% sector data for reading and writing. The RAM is also used for the accelerator. | ||
- | **2018-06-04 update:** Work by [[http://leon.bottou.org/start|Léon Bottou]] has significantly increased understanding of the MIG chip. See his comments [[https://github.com/mgcaret/rom4x/issues/8|here]] and [[https://github.com/leonbottou/kegs-universal|working emulation]] of the MIG. | + | **2018-06-04 update:** Work by [[http://leon.bottou.org/start|Léon Bottou]] has significantly increased understanding of the MIG chip. See his comments [[https://github.com/mgcaret/rom4x/issues/8|here]] and [[https://github.com/leonbottou/kegs-universal|working emulation]] (also [[https://github.com/leonbottou/gsplus-universal|this]]) of the MIG. |
+ | **2018-08-01 update:** Based on the work Léon and I have done, [[https://github.com/rb6502|R. Belmont]] has implemented MIG emulation in [[https://github.com/mamedev/mame|MAME]] and the Apple IIc Plus emulation is now [[https://github.com/mamedev/mame/commit/31aaae7491ea4233de75456af178054e650f4344|working]] (also see [[https://github.com/mamedev/mame/commit/7bd14bedf6fd824853c406248dd4a36db17ecb7b|here]]). | ||
===== Functional Description ===== | ===== Functional Description ===== | ||
Line 56: | Line 57: | ||
===== MIG Address Space ==== | ===== MIG Address Space ==== | ||
- | Obvious access to the MIG is via a 1024-byte (or more... see below) window at $CC00 (mirrored at $DE00) that becomes visible only when the aux firmware bank is selected. | + | Access/control of the MIG is via a $800-byte window starting at $C800 when the aux firmware bank is selected. The window is repeated at $D800 (I/O select is mediated by the lower half ROM select), but is not usable unless the accelerator is disabled. The lower $600 bytes of this space is shared with the ROM, and the upper $200 bytes is used for the MIG RAM window and other control functions. |
==== MIG Control ==== | ==== MIG Control ==== | ||