Difference between revisions of "Disc Wizard"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Technical)
(Pictures)
 
(20 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
== Technical ==
 
== Technical ==
 +
 +
This technical information has been gathered from a dissassembly of the ROM.
  
 
* Button triggers NMI
 
* Button triggers NMI
 +
 
* 8K ROM data has 4 regions. There is an NMI vector at offsets &0066, &0866, &1066 and &1866 within the ROM data. This suggests each of the 4 regions is selectable and mappable into the range &0000-&7ff.  
 
* 8K ROM data has 4 regions. There is an NMI vector at offsets &0066, &0866, &1066 and &1866 within the ROM data. This suggests each of the 4 regions is selectable and mappable into the range &0000-&7ff.  
  
 
What is not clear is that when the chosen region is mapped into the Z80 memory space if the region in &0000-&7ff is repeated through to the end of &3fff.
 
What is not clear is that when the chosen region is mapped into the Z80 memory space if the region in &0000-&7ff is repeated through to the end of &3fff.
  
- Region 0 appears to be for saving "DraySoftONE".  
+
* Region 0 is for saving "DraySoftONE".  
- Region 1 appears to be for loading "DraySoftONE"
+
* Region 1 is for loading "DraySoftONE"
- Region 2 appears to be saving for "DraysoftTWO".  
+
* Region 2 is for saving "DraySoftTWO".  
- Region 3 appears to be for loading "DraysoftTWO"
+
* Region 3 is for loading "DraySoftTWO"
  
 
It seems that the "1/2" switch on the PCB chooses between which 4k (assumption it is connected to A12 of the EPROM), then the "load/save" switch chooses between the 2k within that 4k (assumption it is connected to A11 of the EPROM).
 
It seems that the "1/2" switch on the PCB chooses between which 4k (assumption it is connected to A12 of the EPROM), then the "load/save" switch chooses between the 2k within that 4k (assumption it is connected to A11 of the EPROM).
  
* Dissassembly of the code indicates it uses direct FDC disc access for loading/saving.
+
* Dissassembly of the code indicates it uses direct FDC disc access for loading/saving. A disc must be in the drive when the button is pressed.
  
* Dissassembly of the code indicates it uses an I/O port &f0e0, and sends the data 0,1,2 or 3. It is not clear the function or the exact decoding of this port.
+
* Dissassembly of the code indicates it uses an I/O port &f0e0. It is not clear how this port is decoded and which address lines or data lines are important. Bit 0 of the data written to this potr appears to be set (1) to enable the ROM, and reset (0) to disable it. Function of the other bits are not yet known. Bits 2..7 don't seem to be used?
 +
 
 +
* It is restricted to loading/saving using DATA format disc. It uses sectors &c1-&c8 and reads/writes this entire range on each track in a multi-sector operation. DATA format has 512 bytes per sector, so sectors &c1-&c8 is 4K. So it reads 4K from each track.
 +
 
 +
* Disc must be pre-formatted to DATA format.
 +
 
 +
* You can't use it with a disc with existing files because it writes data at specific places on the disc. It does write a dummy directory entry to indicate there is data on there, but the device has the loader code in it, so you must use the device (or a separate program) to load them back.
 +
 
 +
* Track 1 is used for temporary storage (it saves the screen here and reloads it after).
 +
 
 +
* It doesn't use the memory paging registers, so saves the RAM in it's current configuration. It saves the entire 64k starting at track 5 (for "1").
 +
 
 +
* It writes a dummy directory to track 0.
 +
 
 +
* It appears the RAM exists under the Disc Wizard ROM when it's enabled. The code assumes it can use the stack to store the current register settings at the point the NMI is triggered, and this may be located under the Disc Wizard ROM.
 +
* It appears that when the CPC is reset, the Disc Wizard ROM is disabled.
 +
 
 +
Now, thanks to Jose Leandro, the hardware specialist of the spectrum, with his famous page :
 +
 
 +
http://trastero.speccy.org/cosas/JL/JL.htm
 +
 
 +
We can know more about this hardware.
  
 
== Pictures ==
 
== Pictures ==
 +
 +
<gallery caption="better pics by Terje Grind">
 +
 +
Image:Dw-of.jpg|Front View
 +
Image:Dw-ob.jpg|Back View
 +
Image:Dw-if.jpg|PCB Top
 +
Image:Dw-ib.jpg|PCB_Bottom
 +
 +
</gallery>
  
 
<gallery caption="Draysoft & Evesham Micro Centre Disc Wizard">
 
<gallery caption="Draysoft & Evesham Micro Centre Disc Wizard">
 +
 
Image:DiscWizard_Top.jpg|Front View
 
Image:DiscWizard_Top.jpg|Front View
 
Image:DiscWizard_Bottom.jpg|Back View
 
Image:DiscWizard_Bottom.jpg|Back View
 
Image:DiscWizard_PCB_Top.jpg|PCB Top
 
Image:DiscWizard_PCB_Top.jpg|PCB Top
 
Image:DiscWizard_PCB_Bottom.jpg|PCB_Bottom
 
Image:DiscWizard_PCB_Bottom.jpg|PCB_Bottom
</gallery>
 
  
<gallery caption="better pics by Terje Grind">
 
Image:Dw-of.jpg|Front View
 
Image:Dw-ob.jpg|Back View
 
Image:Dw-if.jpg|PCB Top
 
Image:Dw-ib.jpg|PCB_Bottom
 
 
</gallery>
 
</gallery>
  
== Manual ==
+
<gallery caption="Disc Wizard Layout, thanks to Jose Leandro">
  
 +
File:Disc Wizard - interface_delante.jpg|Disc Wizard - Front Box
 +
File:Disc Wizard - interface_detras.jpg|Disc Wizard - Back Box
 +
File:Disc Wizard - cara_componentes.jpg|Disc Wizard - Components
 +
File:Disc Wizard - cara_pistas.jpg|Disc Wizard - Tracks
 +
File:Disc Wizard PCB Front.png|Disc Wizard - PCB Front
 +
File:Disc Wizard PCB Back.png|Disc Wizard - PCB Back
 +
File:Disc Wizard Layout.png|Disc Wizard - Layout
 +
 +
</gallery>
  
 
== Download ==
 
== Download ==
  
* [[Media:DiscWizard12.zip|DiscWizard v1.2 zipped ROM file]] (ROM image for Emulators)
+
* [[Media:DiscWizard12.zip|Disc Wizard v1.2 zip]] (ROM for Emulators)
 +
* [[Media:Disc Wizard (Eagle).zip|Disc Wizard (Eagle).zip]] (Disc Wizard files for Eagle)
  
== Links ==
+
== Weblinks  ==
* {{EnWiki|Multiface}} (Disc Wizard is mentioned in the Multiface's Similar products section)
+
  
 +
* [http://www.cpc-power.com/index.php?page=detail&num=6369 ''Disc Wizard'' from CPC-Power]
 +
* [https://cpcrulez.fr/hardware-interface_debug-disc-wizard.htm ''Disc Wizard'' from CPCrulez]
 +
* [http://hardware.speccy.org/temp/Amstrad-DiscWizard.html  ''Disc Wizard'' from hardware.speccy.org]
 +
* {{EnWiki|Multiface}} (Disc Wizard is mentioned in the Multiface's Similar products section)
  
[[Category:Peripherals]][[Category:DATA Storage]]  [[Category:Manual]]
+
[[Category:Peripherals]][[Category:Copy Protection]]  [[Category:Manual]]

Latest revision as of 05:10, 18 September 2020

The Disc Wizard was an addon from Draysoft & Evesham Micro Centre that allowed you to make dumps of the CPC memory to external storage, pretty much like the Multiface and similar interfaces.

Technical

This technical information has been gathered from a dissassembly of the ROM.

  • Button triggers NMI
  • 8K ROM data has 4 regions. There is an NMI vector at offsets &0066, &0866, &1066 and &1866 within the ROM data. This suggests each of the 4 regions is selectable and mappable into the range &0000-&7ff.

What is not clear is that when the chosen region is mapped into the Z80 memory space if the region in &0000-&7ff is repeated through to the end of &3fff.

* Region 0 is for saving "DraySoftONE". 
* Region 1 is for loading "DraySoftONE"
* Region 2 is for saving "DraySoftTWO". 
* Region 3 is for loading "DraySoftTWO"

It seems that the "1/2" switch on the PCB chooses between which 4k (assumption it is connected to A12 of the EPROM), then the "load/save" switch chooses between the 2k within that 4k (assumption it is connected to A11 of the EPROM).

  • Dissassembly of the code indicates it uses direct FDC disc access for loading/saving. A disc must be in the drive when the button is pressed.
  • Dissassembly of the code indicates it uses an I/O port &f0e0. It is not clear how this port is decoded and which address lines or data lines are important. Bit 0 of the data written to this potr appears to be set (1) to enable the ROM, and reset (0) to disable it. Function of the other bits are not yet known. Bits 2..7 don't seem to be used?
  • It is restricted to loading/saving using DATA format disc. It uses sectors &c1-&c8 and reads/writes this entire range on each track in a multi-sector operation. DATA format has 512 bytes per sector, so sectors &c1-&c8 is 4K. So it reads 4K from each track.
  • Disc must be pre-formatted to DATA format.
  • You can't use it with a disc with existing files because it writes data at specific places on the disc. It does write a dummy directory entry to indicate there is data on there, but the device has the loader code in it, so you must use the device (or a separate program) to load them back.
  • Track 1 is used for temporary storage (it saves the screen here and reloads it after).
  • It doesn't use the memory paging registers, so saves the RAM in it's current configuration. It saves the entire 64k starting at track 5 (for "1").
  • It writes a dummy directory to track 0.
  • It appears the RAM exists under the Disc Wizard ROM when it's enabled. The code assumes it can use the stack to store the current register settings at the point the NMI is triggered, and this may be located under the Disc Wizard ROM.
  • It appears that when the CPC is reset, the Disc Wizard ROM is disabled.

Now, thanks to Jose Leandro, the hardware specialist of the spectrum, with his famous page :

http://trastero.speccy.org/cosas/JL/JL.htm

We can know more about this hardware.

Pictures

Download

Weblinks