Changes

Multiface II

5,549 bytes added, 14:57, 8 May 2021
Needless to say, this concept of a ‘universal backup (oh, ok, piracy) device’ worried software houses no end, and there were no end of rumours that the Multiface and its ilk would be banned under the Copyright & Patents Act of 1990. In the end, all that happened was that Romantic Robot got the chance to run ‘Buy now! before it’s banned’ adverts, provoking lots of panic sales. They then continued to sell the Multiface. Several years later, they tried the same trick with ‘The CPC is no longer a viable platform – so we’re selling off our last Multifaces!’. This supposed last shipment lasted about two years.
 
The Multiface III is a version for the Spectrum +3.
 
==Multiface 2 revisions==
 
There was more than one revision of the Multiface 2 for the Amstrad:
 
* 1st version which has a manual switch to control visibility to software - first appeared in Amstrad action 16 (January 1987)
 
In Amstrad Action issue 23 it mentions some incompatibility with some CPC6128 machines and there are some dipswitches which can be configured to work with it. Multiface 2's with this have version 78 software.
 
* 2nd version which has an automatic switch controlled by PAL ICs to control visibility to software. This is called "2+" by Romantic Robot. It was mention in Amscene in Amstrad Action 33 (June 1988) and was first advertised in Amstrad Action issue 36 (September 1988).
 
* 3rd version which was the same as the 2+ but had a Centronics connector and ROM modified to work with the Amstrad Plus. This ROM doesn't work on the CPC.
 
Was there a version which didn't have a switch and came before version 1?
==Anti-Multiface==
== Technical ==
As said above, There were various revisions of the multiface watches Multiface 2: * There was a version which was visible to software all the bus for writes time. (Did this exist?) * One version had a "invisibility" switch on the front in addition to I/O ports, the stop and memorizes reset buttons. When switched in one direction the written values (required since most multiface was invisible to software and in the other it was visible. ''Is there a dump of the Gate Array ROM from this version?'' * Last revision had an automatic "invisibility" switch internally controlled by the hardware itself. After reset the multiface was visible, but when the stop button was pressed and CRTC ports are write-only)then control was returned to the running program it would be invisible and would remain invisible until the computer was reset. Reading  The following applies to the memorized values automatic "invisibility" version (the "2+"): If the multiface 2 is probably done via these Ivisible you can enable/O portsdisable the ROM and RAM in the CPU's address space:* #FEE8 Multiface II - Enable Multiface II To make the ROM/and RAM visible to the CPU: * Enable lower rom using port 7fxx as normal ld bc,&7f89 out (Wc),c* #FEEA Multiface II - Disable Multiface II Then activate the ROM/and RAM : ld bc,&fee8 out (Wc),cWriting any value to these I/O ports enables/disables * To deactivate the 8K ROM and 8K RAM in the Multiface. When enabled: ld bc, the ROM/RAM are mapped to following addresses&feea out (c),c Testing shows the port is decoded as: ‭11111110111010exx means any value for this bite is 0 for enable and 1 for disable. * 0000h-1FFFh Multiface ROM is visible in the range &0000-&1fff. (including [[NMI]] vector at 0066h). Writing to the ROM doesn't write through to CPC's RAM.* 2000hRAM is visible in the range &2000-3FFFh Multiface &3fff. Writing to the RAMdoesn't write through to CPC's RAM.with the The internal ROM/RAM at 0000h-3FFFh in the CPC being disabled. You can write to *ANY* byte of the RAM including those which store the hardware state. The Multiface 2 listens to Gate-Array and PAL writes (port 7fxx), CRTC writes (bcxx and bdxx) and 8255 Control port writes (f7xx).  Gate-Array and PAL are decoded as ‭01111111xxxxxxxx, CRTC as ‭10111100xxxxxxxx and ‭10111101xxxxxxxx and 8255 writes as ‭11110111xxxxxxxx. When the I/O write is detected, then specific locations in the MF2 RAM are updated immediately.  Gate-Array pen index write (7fxx with bit 7=0 and bit 6=0): 3fcf Gate-Array border colour write (7fxx with bit 7=0 and bit 6=1): 3fdf Gate-Array pen colour write (7fxx with bit 7=0 and bit 6=1): 3f90-3f9f (pens 0 to 15) Gate-Array mode write (7fxx with bit 7=1 and bit 6=0): 3fef PAL write (7fxx with bit 7=1 and bit 6=1): 3fff CRTC register select write (bcxx): 3cff CRTC register data (bdxx): 1db0-1dbf (only registers 0-15, others are ignored) 8255 Control port write (f7xx): 37ff The value that is stored is the value written. The automatic switch version of the multiface works by monitoring opcode reads from 0064 or 0065 (for returning back to the stopped program) and 0066 and 0067 for entering multiface 2 ROM when pressing the stop button. There is a single call to 0065 (which has a RET) before the multiface 2 returns control back to the running program. The multiface 2 uses the stack inside the running program to return. It's not possible to activate the multiface ram and rom and call 0064/0065 directly - it has no effect, the multiface 2 must be in a specific state (which happens when the stop button has been pressed) to accept the call and make itself invisible.
== Toolkit ==
== Manual ==
* [[Media:Multiface 2 Manual.pdf|MF2 User Manual.pdf]]{{EN}} {{PDF}}
* [[Media:Multiface Two User Manual.zip|MF2 User Manual.zip]]
* [[Media:Multiface Two User Manual.txt|MF2 User Manual.txt]]
<gallery caption="Multiface II">
Image:multiface.jpg|Multiface closeup
Image:Multiface II advertisment.jpg|Advertisement
Image:MultifaceII AA100.jpg|Advertisement in AA 100
Image:Amstrad Action106 20.jpg|AA Issue 106 - Page 20
Image:MultifaceII_Front.jpg|Multiface II - (version with switch for making it invisible to software) - Front (eBay)
Image:MultifaceII_Back.jpg|Multiface II - (version with switch for making it invisible to software) - Back (eBay)
</gallery>
 
<gallery caption="Multiface II - Amstrad 464 / 6128 Plus compatible version">
 
Image:S-l1600.jpg|Original box
Image:S-l1600b.jpg|Original box - Other side
Image:S-l1600c.jpg|Original box - Opened
Image:S-l1600d.jpg|Multiface II in original box with manual
Image:S-l1600e.jpg|Multiface II with 50way Centronics Connector
Image:S-l1600f.jpg|Multiface II with 50way Centronics Connector - Side
Image:S-l1600g.jpg|Multiface II with 50way Centronics Connector - Back
 
</gallery>
 
All thanks to rockrabilia from eBay for using his pics taken from his [http://www.ebay.co.uk/itm/391986980297 '''Amstrad 464 6128 Plus - Romantic Robot MULTIFACE TWO Interface *Boxed *Tested!'''] auction.
<gallery caption="Multiface II Layout, thanks to Jose Leandro">
File:Multiface II - Top.jpg|Multiface II - Top
File:Multiface II - Bottom.jpg|Multiface II - Bottom
File:Multiface II - Components.jpg|Multiface II - Components
File:Multiface II - Tracks.jpg|Multiface II - Tracks
File:MF2-PCB Front.png|Multiface II - PCB Front
File:MF2-PCB Back.png|Multiface II - PCB Back
* [[Media:Multiface.two.romantic.robot.3e.amsdos.v05.zip|MF2 3E ROM]]
* [[Media:Multiface.two.romantic.robot.0e.zip|MF2 0E ROM]] - (1988, chksum=0Eh)
* [[Media:Mf2_7c.ROM|MF2 7C ROM]] - (1988)
* [[Media:Multiface.two.romantic.robot.78.amsdos.v05.zip|MF2 78 ROM]]
* [[Media:Multiface.two.romantic.robot.8d.amsdos.v05.zip|MF2 8D ROM]]- (1988)
For the Amstrad Plus series:
* [[Media:Multiface.two.romantic.robot.8b.zip|MF2+ 8B ROM]] - (1990, chksum=8Bh)
* [[Media:Multiface.two.romantic.robot.78.amsdos.v07.zip|MF2+ 78 ROM]]
* NOTE: 8B seems to be correct. They differ in 1 byte at address 0. On 8B it is DI on 78 it is NOP. 78 could be a bad dump.
The Source Code:
 
* [[Media:Vortex_MF2-Source_TFM.rar]]
Differences between chk=86 and chk=0E versions are unknown.
http://trastero.speccy.org/cosas/JL/JL.htm
 
http://hardware.speccy.org/temp/Amstrad-multiface2.html
We can know more about this hardware, all the PAL chips are decoded:
==Links==
* [http://www.grimwarecpc-power.orgcom/dokuindex.php/documentations/expansions/mf2/start?page=detail&num=4971 ''Multiface II'' from CPC-Power]* [http://cpcrulez.fr/hardware-interface_debug-multiface_2.htm''Multiface II'' from CPCrulez]* [http://hardware.speccy.org/temp/Amstrad-multiface2.html ''Multiface II'' from hardware.speccy.org]* [http://hardware.speccy.org/temp/Amstrad-multiface2/Amstrad-multiface21.html''Multiface II PALs'' from hardware.speccy.org]* [https://web.archive.org/web/20160715092459/http://www.grimware.org/doku.php/documentations/expansions/mf2/start ''Multiface II'' from grimware]* [https://web.archive.org/web/20090108031853/http://cpc-hardware.com/sections.php?op=viewarticle&artid=31 ''Multiface II'' from CPC-Hardware]* [http://quasar.cpcscene.net/doku.php?id=dossier:mf2 ''Multiface II'' from Quasar Net] (french, memory mapping details and programmation tutorial and examples)
[[Category:Peripherals]] [[Category:Manual]] [[Category:Copy Protection]]
194
edits