Changes
/* Weblinks */
== Pictures ==
Image:mirage imager 2.jpg|PCB
Image:mirage imager 3.jpg|
Image:MirageImager Ad ACU Sept1987.jpg|Advertisement of Mirage Imager MKIII
</gallery>
<gallery caption="Mirage Imager 300dpi scans by Robcfg">
Image:MirageImager_Front.jpg|
Image:MirageImager_Back.jpg|
Image:MirageImager_Top.jpg|
Image:MirageImager_PCB_Top.jpg|
Image:MirageImager_PCB_Bottom.jpg|
</gallery>
<gallery caption="Mirage Imager Layout, Thanks to Jose Leandro">
Image:Mirage Imager - Components side.png|PCB Front
Image:Mirage Imager - Back side.png|PCB Back
Image:Mirage Imager - Esquema.png|Layout
</gallery>
== Technical ==
The following has been derived from the schematic and the ROM code. The following needs to be confirmed with testing on a real device.
The onboard 8KB Ram is read/written via port FCxx and FDxx with the following address decoding:
1111110aaaaaaaaa
'a' form part of the address for the RAM. The data read/written to the port is from the RAM. NOTE: The order of the data bits are scrambled/remapped. See the schematic.
e.g.
ld a,&55
ld bc,&fc03
out (c),a
ld bc,&fc03
in a,(c)
The other bits are controlled by port FExx with this address decoding:
1111111xxxxxxxxx
Here D3-D0 define the other parts of the RAM address.
e.g.
LD A,3
LD B,&FE
OUT (C),A
NOTE: The addresses to the RAM are also scrambled/remapped. See the schematic.
NOTE: It seems the RAM can only be accessed after the red button has been pressed.
The ROM is made visible by pressing the red button which causes an [[NMI]] and execution starts at 0066. The ROM is visible at 0000-1fff with a mirror at 2000-ffff. The ROM overrides the internal CPC OS ROM and also disables the RAM where it is mapped (i.e. RAM in the range 0000-3fff is disabled). Therefore writing to RAM under the ROM is not possible.
The ROM state is also toggled by reading an opcode from an address >0x03000 and less than <0x03fff. The ROM itself uses 3FFB which contains a RET
instruction. It uses this to transition in and out of the ROM to read the font from the BASIC ROM.
The device listens to writes to GA's rom/ram paging I/O port when it's not enabled (i.e. when the ROM has not been paged in). It looks for the address with:
0xxxxxxxxxxxxxxxxx with bit 7 and 6 of the data as 10xxxxxx.
The reason needs to be confirmed - but it seems to be similar to port FExx operation, perhaps it indirectly detects the ROM state in this way by pre-configuring the address.
The device calls 2016 to return back to the running program. This is a RET in the rom mirror.
== Manual ==
* [[Media:Mirage Imager Manual.pdf|Mirage Imager Manual]] {{EN}} {{PDF}} (pdfv2, from 26 July 1986) == Downloads == * [[Media:MirageImagerV32.zip|Mirage Image V3.2 (ROM).zip]] (ROM on RAW format, not valid for Emulators)* [[Media:MirageImagerV2.zip|Mirage Image V2 (ROM).zip]] (ROM on RAW format, not valid for Emulators) Thanks to Jose Leandro : * [[Media:Mirage Imager ROM 3-2 (Good).zip|Mirage Imager ROM 3-2 (Good).zip]] (ROM for Emulators)* [[Media:Mirage Imager PALs.zip|Mirage Imager PALs.zip]] (PALs files)* [[Media:Mirage Imager PCBs.zip|Mirage Imager PCBs.zip]] (PCBs files)
== Weblinks ==
* [https://framagit.org/offset/mirage-imager-acepansion Mirage Imager ACEpansion] on Framagit* [http://www.cpc-power.com/index.php?page=detail&num=5317 ''Mirage Imager'' from CPC-Power]* [https://cpcrulez.fr/hardware-interface_debug-mirage_imager.htm ''Mirage Imager'' from CPCrulez]* [https://cpcrulez.fr/hardware-interface_debug-mirage_imager.htm CPCrulez review (french)] - Microstrad 8/Oct/1986* [http://www.worldofspectrum.org/showmag.cgi?mag=YourComputer/Issue8609/Pages/YourComputer860900015.jpg Review (english)] - Your Computer, 09/1986* [http://www.stcarchiv.de/hc1986/11_mirageimager.php Review(Germangerman)]- Happy Computer, 11/1986* [http://cpcrulezhardware.freespeccy.frorg/hardware_mirage_imagertemp/Amstrad-Mirage.html ''Mirage Imager'' from hardware.speccy.org] == References == *[http://www.crashonline.org.uk/25/technews.htm CPCrulez review(french)#mirage Crash Issue 25, Tech Niche, News, More Microdrivin']
[[Category:HardwareCopy Protection]] [[Category:Peripherals]] [[Category:Manual]][[Category:DATA Storage]]