Difference between revisions of "SYMBiFACE II:Rewriteable roms"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This article decribes, how to map the '''rewriteable ROMs''' of the [[SYMBiFACE II]] card into the ram area, so that you can change its content.
+
This article decribes, how to map the '''rewriteable ROMs''' of the [[SYMBiFACE II]] card into the ram area so that you can change its content.
 +
 
 +
The re-writeable ROMs are stored on a static RAM. The static RAM is powered by a CR2032 battery to remember it's contents when the symbiface 2 is powered down.
 +
 
 +
J2 on the Symbiface 2 controls visibility of roms 8-31 to the CPC. J2 when connected stops them being visible, when disconnected roms 8-31 are visible.
 +
 
 +
There are 8 switches which control visibility of roms 0-7 to the CPC.
 +
 
 +
When J2 is connected and all switches are off then no roms are visible. This now allows you to program the ROMs safely.
 +
 
 +
Selecting the ROM is done by writing the number to i/o port dfxx. Symbiface decodes the upper 8-bit of the address completely. It looks for the following pattern:
 +
 
 +
11011111xxxxxxxx -> dfxx
 +
 
 +
Other expansions do a partial decode of the i/o address only testing bit 13 of the address.
 +
 
 +
Symbiface 2 also does a partial decode of the current rom number written to #df00. It only processes the lower 5 bits. This means the roms will repeat 4 times through the entire 256 ROM range. This also means they will override Plus cartridge pages.
 +
 
 +
Symbiface 2 also has the potential to override rom 7 (AMSDOS). On some CPCs this is 100% reliable, on others it is not possible and on some it is unreliable.
 +
 
 +
 
  
 
== Mechanisms ==
 
== Mechanisms ==
  
Please note, that the following commands ignore all values. So it doesn't matter, what you "out". When you "inp" you won't get any senseless numbers.
+
Please note, that the following commands ignore all values. So it doesn't matter, what you "out". When you "inp" you won't get any meaningful numbers.
  
 
{|{{Prettytable|width: 700px; font-size: 2em;}}
 
{|{{Prettytable|width: 700px; font-size: 2em;}}
|'''INP &FD17''' || show the current ROM (selected by #df00) between #4000 and #7fff. No it can be read and rewritten.
+
|'''INP &FD17''' || show the current ROM (selected by #df00) between #4000 and #7fff. Now it can be read and written. All roms on the Symbiface 2 can be accessed this way regardless of J2 or dipswitches state. You also do not need to enable the upper rom using port #7fxx.
 
|-
 
|-
|'''OUT &FD17''' || disable the previouse mentioned ROM write mode.
+
|'''OUT &FD17''' || disable the previously mentioned ROM write mode. Any value can be written.
 
|-
 
|-
|'''OUT &FD11''' || disable all SYMBiFACE II Roms. You won't see any additional ROMS anymore, only the CPCs' inbuilt ones.
+
|'''OUT &FD11''' || disable all SYMBiFACE II Roms. The roms will not be visible to the CPC, you will only see CPC's inbuilt ones or ROMs from other rom-boards.
 
|-
 
|-
|'''INP &FD11''' || enable the SYMBiFACE II roms.
+
|'''INP &FD11''' || enable the SYMBiFACE II roms. Symbiface 2 roms will be visible if enabled through J2 or switches.
 
|}
 
|}
  
Line 18: Line 38:
  
 
* [[Programming:SYMBiFACE_II|SYMBiFACE II documentations]]
 
* [[Programming:SYMBiFACE_II|SYMBiFACE II documentations]]
 +
 +
[[Category:Programming]]

Latest revision as of 10:38, 6 February 2016

This article decribes, how to map the rewriteable ROMs of the SYMBiFACE II card into the ram area so that you can change its content.

The re-writeable ROMs are stored on a static RAM. The static RAM is powered by a CR2032 battery to remember it's contents when the symbiface 2 is powered down.

J2 on the Symbiface 2 controls visibility of roms 8-31 to the CPC. J2 when connected stops them being visible, when disconnected roms 8-31 are visible.

There are 8 switches which control visibility of roms 0-7 to the CPC.

When J2 is connected and all switches are off then no roms are visible. This now allows you to program the ROMs safely.

Selecting the ROM is done by writing the number to i/o port dfxx. Symbiface decodes the upper 8-bit of the address completely. It looks for the following pattern:

11011111xxxxxxxx -> dfxx

Other expansions do a partial decode of the i/o address only testing bit 13 of the address.

Symbiface 2 also does a partial decode of the current rom number written to #df00. It only processes the lower 5 bits. This means the roms will repeat 4 times through the entire 256 ROM range. This also means they will override Plus cartridge pages.

Symbiface 2 also has the potential to override rom 7 (AMSDOS). On some CPCs this is 100% reliable, on others it is not possible and on some it is unreliable.


Mechanisms

Please note, that the following commands ignore all values. So it doesn't matter, what you "out". When you "inp" you won't get any meaningful numbers.

INP &FD17 show the current ROM (selected by #df00) between #4000 and #7fff. Now it can be read and written. All roms on the Symbiface 2 can be accessed this way regardless of J2 or dipswitches state. You also do not need to enable the upper rom using port #7fxx.
OUT &FD17 disable the previously mentioned ROM write mode. Any value can be written.
OUT &FD11 disable all SYMBiFACE II Roms. The roms will not be visible to the CPC, you will only see CPC's inbuilt ones or ROMs from other rom-boards.
INP &FD11 enable the SYMBiFACE II roms. Symbiface 2 roms will be visible if enabled through J2 or switches.

See also