Difference between revisions of "Dk'tronics memory expansion"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
m (RSX Commands (Memory Expansion))
 
(16 intermediate revisions by 5 users not shown)
Line 19: Line 19:
 
For general info on I/O Ports, see:
 
For general info on I/O Ports, see:
 
* [[Standard Memory Expansions]].
 
* [[Standard Memory Expansions]].
 +
 +
=== Internal 64KB in 6128 and External 64KB RAM ===
 +
 +
This uses 1 bank, the bank is mirrored through the entire 512KB range.
 +
e.g. c4,c5,c6,c7 access the same ram as cc,cd,ce,cf.
 +
 +
In terms of decoding the RAM selection byte:
 +
 +
11xxxsss
 +
 +
x = ignored
 +
s = selection (0-7)
 +
 +
=== External 64KB Silicon Disk ===
 +
 +
The exact decoding is not known. Testing is needed to confirm.
 +
 +
=== 256KB RAM ===
 +
 +
This uses 4 banks (effectively 0-3 on 464 and 1-3 on 6128). It appears the 256KB RAM detects the 6128, possibly using /EXP but this is to be confirmed, so that it doesn't conflict with the 'extra 64KB' (i.e. c4-c7) RAM of the 6128.
 +
 +
The decoding looks like this:
 +
 +
110bbsss
 +
 +
b = bank (bank 0 is ignored on 6128 so that internal RAM is visible, 1,2,3 are from the 256KB RAM).
 +
s = selection (0-7)
 +
 +
On 6128 you get 256KB RAM + internal 64KB base RAM
 +
 +
=== 256KB Silicon Disk ===
 +
 +
This uses 4 banks (effectively 4-7), the banks are not mirrored. The RAM doesn't conflict with the internal RAM of the 6128 OR the 256KB RAM. The decoding looks like this:
 +
 +
111bbsss
 +
 +
b = bank
 +
s = selection (0-7)
 +
 +
On 6128 you get 256KB RAM + 64KB internal extra RAM+ 64KB internal base RAM
  
 
=== Bank Numbers ===
 
=== Bank Numbers ===
Line 25: Line 65:
 
* 256K Expansion uses four 64K banks (bank 0..3)
 
* 256K Expansion uses four 64K banks (bank 0..3)
 
* 256K Silicon Disc uses four 64K banks (bank 4..7)
 
* 256K Silicon Disc uses four 64K banks (bank 4..7)
 +
 
The 256K Expansion and 256K Silicon Disc can be used together, resulting in 512K RAM in eight banks (bank 0..7). Plus, the 64K internal RAM is used (so total RAM is 576K).
 
The 256K Expansion and 256K Silicon Disc can be used together, resulting in 512K RAM in eight banks (bank 0..7). Plus, the 64K internal RAM is used (so total RAM is 576K).
  
Line 58: Line 99:
 
The Bank Switch Software RSX commands are:
 
The Bank Switch Software RSX commands are:
  
* |Bank, n            - Map a 16K bank directly into memory space (where n is the bank No.)
+
* <code>|Bank, n</code>           - Map a 16K bank directly into memory space (where n is the bank No.)
* |Swap                - Alternate between high and low screens
+
* <code>|Swap</code>               - Alternate between high and low screens
* |Low                  - Change to the low screen
+
* <code>|Low</code>                 - Change to the low screen
* |High                - Change to the high (default) screen
+
* <code>|High</code>                 - Change to the high (default) screen
* |Saves, n          - Store a screen to a 16K bank (where n is the bank No.)
+
* <code>|Saves, n</code>           - Store a screen to a 16K bank (where n is the bank No.)
* |Loads, n            - Retrieve a screen from a 16K bank (where n is the bank No.)
+
* <code>|Loads, n</code>           - Retrieve a screen from a 16K bank (where n is the bank No.)
* |Savew, w, n      - Stores a windows contents into a 16K bank (where n is the bank No.)
+
* <code>|Savew, w, n</code>     - Stores a windows contents into a 16K bank (where n is the bank No.)
* |Loadw, w, n      - Load a window with the data from a 16K bank (where n is the bank No.)
+
* <code>|Loadw, w, n</code>       - Load a window with the data from a 16K bank (where n is the bank No.)
* |Saved, n, s, l    - Transfer original RAM to expansion RAM
+
* <code>|Saved, n, s, l</code>     - Transfer original RAM to expansion RAM
* |Loadd, n, s, l      - Load original RAM from expansion RAM
+
* <code>|Loadd, n, s, l</code>     - Load original RAM from expansion RAM
* |Peek, n, s, v      - Read the value of a byte in the expansion RAM
+
* <code>|Peek, n, s, v</code>     - Read the value of a byte in the expansion RAM
* |Poke, n, s, v      - Write to a byte in the expansion RAM
+
* <code>|Poke, n, s, v</code>     - Write to a byte in the expansion RAM
  
 
A further command which was considered to be only for 'advanced' users was also described later in the handbook:
 
A further command which was considered to be only for 'advanced' users was also described later in the handbook:
  
* |Askram, E, V (E=enquiry No. V=variable) could be used to request information from the expansion card, including the amount of RAM available (where E=1), return the number of banks available (where E=2) or (E=3) returned a 0 or 1 to indicate whether the expansion card 'had a problem'.
+
* <code>|Askram, E, V</code> (E=enquiry No. V=variable) could be used to request information from the expansion card, including the amount of RAM available (where E=1), return the number of banks available (where E=2) or (E=3) returned a 0 or 1 to indicate whether the expansion card 'had a problem'.
  
 
== RSX Commands (Silicon Disc) ==
 
== RSX Commands (Silicon Disc) ==
Line 81: Line 122:
 
... - [See manual for now]
 
... - [See manual for now]
  
== Manuals ==
+
== CPM ==
  
* [[Media:Dkt64k.pdf|64Kb RAM Expansions DKtronics Manual]] (pdf)
+
Dk'tronics Bank Switch software comes with NEWCPM.COM CP/M program which installs a 61K TPA CPM2.2 which uses the Dk'Tronics RAM.
* [[Media:256K RAM Expansions DKtronics Manual.pdf|256Kb RAM Expansions DKtronics Manual]] (pdf)
+
See [[DkTronics_CPM]].
* [[Media:256K RAM Expansions DKtronics (Spanish) Manual.pdf|256Kb RAM Expansions DKtronics (Spanish) Manual]] (pdf)
+
 
* [[Media:DKTronics_Silicon_Disk_Manual.pdf|64K and 256K Silicon Disc Manual]] (pdf)
+
The manual also describes how to patch CPM+ (which is already compatible with Dk'Tronics RAM to run on 464/664).
* [[Media:DK'Tronics Peripheral - Technical Manual (Edition 1).pdf|DK'Tronics Peripheral - Technical Manual (Edition 1)]] (pdf)
+
  
 
== Reviews ==
 
== Reviews ==
Line 96: Line 136:
  
 
* [[Media:Upgrade 64K-256K Dk'tronics - TAU 29 pg 04.jpg|Upgrade a 64K expansion to a 256K expansion]] - from the Australian Mag : TAU 29 pag 04.
 
* [[Media:Upgrade 64K-256K Dk'tronics - TAU 29 pg 04.jpg|Upgrade a 64K expansion to a 256K expansion]] - from the Australian Mag : TAU 29 pag 04.
* An article in Amstrad Action (Issue 46, July 1989, page 16 and 17) described how a Silicon Disk can be converted into a memory expansion.
+
* An article in [[Amstrad Action]] ([[Amstrad_Action,_Issue_46,_Jul_1989|Issue 46, July 1989]], [[:File:AmstradAction046-16.jpg|page 16]] and [[:File:AmstradAction046-17.jpg|17]]) described how a Silicon Disk can be converted into a memory expansion.
 +
 
 +
== Manuals ==
 +
 
 +
* [[Media:Dkt64k.pdf|DK'Tronics 64Kb RAM Expansions Manual]] (pdf) {{EN}}
 +
* [[Media:256K RAM Expansions DKtronics Manual.pdf|DK'Tronics 256Kb RAM Expansions Manual]] (pdf) {{EN}}
 +
* [[Media:256K RAM Expansions DKtronics (Spanish) Manual.pdf|DK'Tronics 64K and 256Kb RAM Expansions Manual]] (pdf) {{ES}}
 +
* [[Media:DKTronics_Silicon_Disk_Manual.pdf|DK'Tronics 64K and 256K Silicon Disc Manual]] (pdf) {{EN}}
 +
* [[Media:DK'Tronics Peripheral - Technical Manual (Edition 1).pdf|DK'Tronics Peripheral - (Edition 1) Technical Manual]] (pdf) {{EN}}
 +
* [[Media:DK'tronics Manuel de Utilisation de la RAM d'Extension.pdf|DK'Tronics Manuel de Utilisation de la RAM d'Extension]] (pdf) {{FR}}
  
 
== Download  ==
 
== Download  ==
  
* [[Media:Dk'tronics 256k Bank Switch (disc).zip|Dk'tronics 256k Bank Switch (disc).zip]] (DSK for Emulators)  
+
* [[Media:Dk'tronics 256k Bank Switch (disc).zip|DK'Tronics 256k Bank Switch (disc).zip]] (DSK for Emulators)  
* [[Media:Dk'Tronics Bank Switch Software (tape).zip|Dk'Tronics Bank Switch Software (tape).zip]] (CDT for Emulators)
+
* [[Media:Dk'Tronics Bank Switch Software (tape).zip|DK'Tronics Bank Switch Software (tape).zip]] (CDT for Emulators)
* [[Media:Dk'tronicsSiliconDiscRomImage.zip|Dk'tronics Silicon Disc (rom).zip]] (ROM for Emulators) (ROM version 1.3 from CPC6128 256k Silicon Disc ROM Cartridge)
+
* [[Media:SilDsc11.rom|DK'Tronics Silicon Disc 1.1 ROM]]
* [[Media:SiliconDisc64.zip|Dk'tronics 64Kb Silicon Disc (rom).zip]] (ROM for Emulators) (ROM version 0.2 from CPC464/664 64k Silicon Disc Cartridge)
+
* [[Media:Dk'tronicsSiliconDiscRomImage.zip|DK'Tronics Silicon Disc 1.3 ROM]]  
 +
* [[Media:SD212.ROM|Dk'tronics Silicon Disc 2.12 ROM]]
 +
* [[Media:SiliconDisc64.zip|DK'Tronics 64Kb Silicon Disc 0.3 ROM]]
  
 
  [[Category:Peripherals]] [[Category:Memory expansions]] [[Category:Manual]]
 
  [[Category:Peripherals]] [[Category:Memory expansions]] [[Category:Manual]]

Latest revision as of 13:55, 17 July 2024

256K Silicon Disc and 256K expansion (used as plain RAM, without the additional ROM cartridge here)

The Memory Expansion and Silicon Disc from Dk'tronics are both RAM expansions. The Silicon Disc additionally comes with a ROM which contains RAM-Disc functions.

Description

Memory Expansions

Dk'tronics produced 2 different Memory Expansions, a 64K and a 256K which were compatible with all (non Plus) CPCs.

The expansions meant that CP/M Plus and CP/M 2.2 (with the use of a utility supplied) could both access a 'massive' 61K TPA.

Silicon Discs

These were intended to be used as RAM disc, made in 64K and 256K versions, too.

Technical

For general info on I/O Ports, see:

Internal 64KB in 6128 and External 64KB RAM

This uses 1 bank, the bank is mirrored through the entire 512KB range. e.g. c4,c5,c6,c7 access the same ram as cc,cd,ce,cf.

In terms of decoding the RAM selection byte:

11xxxsss

x = ignored s = selection (0-7)

External 64KB Silicon Disk

The exact decoding is not known. Testing is needed to confirm.

256KB RAM

This uses 4 banks (effectively 0-3 on 464 and 1-3 on 6128). It appears the 256KB RAM detects the 6128, possibly using /EXP but this is to be confirmed, so that it doesn't conflict with the 'extra 64KB' (i.e. c4-c7) RAM of the 6128.

The decoding looks like this:

110bbsss

b = bank (bank 0 is ignored on 6128 so that internal RAM is visible, 1,2,3 are from the 256KB RAM). s = selection (0-7)

On 6128 you get 256KB RAM + internal 64KB base RAM

256KB Silicon Disk

This uses 4 banks (effectively 4-7), the banks are not mirrored. The RAM doesn't conflict with the internal RAM of the 6128 OR the 256KB RAM. The decoding looks like this:

111bbsss

b = bank s = selection (0-7)

On 6128 you get 256KB RAM + 64KB internal extra RAM+ 64KB internal base RAM

Bank Numbers

  • 64K Expansion and 64K Silicon Disk use only one 64K bank (bank 0)
  • 256K Expansion uses four 64K banks (bank 0..3)
  • 256K Silicon Disc uses four 64K banks (bank 4..7)

The 256K Expansion and 256K Silicon Disc can be used together, resulting in 512K RAM in eight banks (bank 0..7). Plus, the 64K internal RAM is used (so total RAM is 576K).

Memory Expansion vs Silicon Disc

Both are basically the same hardware, both contain RAM, use same I/O ports, and both are not battery-backed.

  • The Memory Expansions are intended as general purpose RAM, and software is included on cassette or disc.
  • The Silicon Discs are intended as RAM Disc, software is included on ROM. The 256K version uses special bank numbers (see above).

Versions

  • The 64K versions (of both Memory Expansion and Silicon Disk) were made only for CPC 464/664. On CPC 6128 they would be useless (replacing the 2nd internal 64K by external 64K). --- Although, reportedly 64K versions DO exist for 6128 (apparently mapping the 64K to a location where it doesn't overlap the internal RAM. Details are unknown?)
  • The 256K versions (of both Memory Expansion and Silicon Disk) were made in separate versions for 464/664 and 6128 (they should be compatible at software side, possibly they do differ only cosmetically...?)
  • All 64K/256K Memory Expansions, and the 64K Silicon Disc consist of a single cartridge. The 256K Silicon Disc is a special case: It consists of two cartridges shipped together (one contains the ROM, the other contains the RAM).

Pictures

Normal and SMD version
Normal and SMD version


There are too many different versions to list all photos on this page.

See the photo gallery:

Dk'tronics Memory Expansion Gallery


RSX Commands (Memory Expansion)

Bank Switch Software (with RSX commands) is included on tape or disc. The Bank Switch Software RSX commands are:

  • |Bank, n - Map a 16K bank directly into memory space (where n is the bank No.)
  • |Swap - Alternate between high and low screens
  • |Low - Change to the low screen
  • |High - Change to the high (default) screen
  • |Saves, n - Store a screen to a 16K bank (where n is the bank No.)
  • |Loads, n - Retrieve a screen from a 16K bank (where n is the bank No.)
  • |Savew, w, n - Stores a windows contents into a 16K bank (where n is the bank No.)
  • |Loadw, w, n - Load a window with the data from a 16K bank (where n is the bank No.)
  • |Saved, n, s, l - Transfer original RAM to expansion RAM
  • |Loadd, n, s, l - Load original RAM from expansion RAM
  • |Peek, n, s, v - Read the value of a byte in the expansion RAM
  • |Poke, n, s, v - Write to a byte in the expansion RAM

A further command which was considered to be only for 'advanced' users was also described later in the handbook:

  • |Askram, E, V (E=enquiry No. V=variable) could be used to request information from the expansion card, including the amount of RAM available (where E=1), return the number of banks available (where E=2) or (E=3) returned a 0 or 1 to indicate whether the expansion card 'had a problem'.

RSX Commands (Silicon Disc)

The whole software (including RSX tools for creating silicon disc compatible CP/M versions) is contained in the ROM, there is no cassette / disc included. The RSX commands are:

... - [See manual for now]

CPM

Dk'tronics Bank Switch software comes with NEWCPM.COM CP/M program which installs a 61K TPA CPM2.2 which uses the Dk'Tronics RAM. See DkTronics_CPM.

The manual also describes how to patch CPM+ (which is already compatible with Dk'Tronics RAM to run on 464/664).

Reviews

  • 256K Silicon Disc reviewed in ACU May 1986, page 39.

Mods

Manuals

Download