Difference between revisions of "SYMBiFACE II:Rewriteable roms"
(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 | + | 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 | + | 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. | + | |'''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 | + | |'''OUT &FD17''' || disable the previously mentioned ROM write mode. Any value can be written. |
|- | |- | ||
− | |'''OUT &FD11''' || disable all SYMBiFACE II Roms. | + | |'''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. |