Changes

Jump to: navigation, search

Multiface II

1,594 bytes added, 18:36, 15 May 2009
All of these settings are saved on disc as part of your backup. So when you load the Multiface-saved copy, it knows exactly how to set up each chip.
==Toolkit==
When I said that the Multiface only did one thing, I was lying. It does two. Just about.
There’s a very basic memory editor built into the Multiface, which enables you to view and edit the current contents of your CPC’s memory. Er, that’s about it. Something I always found useful is that it would work in both hexadecimal and plain vanilla decimal numbers – so if I’d lost my scientific calculator (again), I still had a hex-to-decimal converter at my fingertips.
But this ability to edit the memory could be used in a very clever way to enter an assembler program and change the PC&nbsp;(actual executing address) to run it. The most famous use is, arguably, a BANK&nbsp;DUMPING&nbsp;PROGRAM , that dumped the first 64Kb of memory to the second bank on a CPC6128, then reset the machine. That took advantage of the fact that the second 64kb survived a RESET, so all the program was there ready to save from BASIC. The procedure was simple, just entering those bytes in any memory location (not in the 4000-7FFF range):<br>   01 C4 7F ED 49 21 00 00 11 00 40 01 00 40 ED&nbsp;B0 =&gt; dump 0000-3FFF into first 16kb of second bank<br> 01 C6 7F ED 49 21 00 80 11 00 40 01 00 40 ED&nbsp;B0 =&gt; dump 8000-BFFF into third 16kb of second bank <br> 01 C7 7F ED 49 21 00 C0 11 00 40 01 00 40 ED B0 =&gt; dump C000-FFFF into fourth 16kb of second bank<br> 01 C0 7F ED 49 21 00 40 11 00 C0 01 00 40 ED B0 =&gt; dump 4000-7FFF to screen (already saved)<br> 01 C5 7F ED 49 21 00 C0 11 00 40 01 00 40 ED B0 =&gt; dump screen to second 16kb of second bank<br> 01 C0 7F ED 49 C3 00 00 =&gt; reset bank status and reset the machine<br> <br> Once the machine was reset, you could save all the program to basic doing:<br> OUT&nbsp;&amp;7fc4,&amp;c4: save "game-1",b,&amp;4000,&amp;3fff OUT &amp;7fc5,&amp;c5: save "game-2",b,&amp;4000,&amp;3fff<br>OUT &amp;7fc6,&amp;c6: save "game-3",b,&amp;4000,&amp;3fff<br>OUT &amp;7fc7,&amp;c7: save "game-4",b,&amp;4000,&amp;3fff<br><br> This trick was used to save heavily protected games to disk.<br>   Something more people found useful was that you could change crucial parts of a game – notably the memory location that holds your current number of lives. Change it from 3 to 250, and you’re laughing. AA would print lists of such ‘Multiface pokes’ every issue. <br> <br>
==Eat my Multiface==
1
edit