Early versions of the Nimbus PC featured 3 cartridge slots.
Details are a little sketchy and it appeared short lived, original specification was 2 ROMPACK slots and 1 software 'key' slot for protected software.
Research suggests that the ROMPACK system was never
put into production.
The softkey, however, does look to have had some degree of implementation, perhaps to secure a CAD application.
|
A ROMPACK would allow for fast access to files in a robust hardware cartridge. It has been suggested that this was developed for educational/comms terminal software use.
It was used as a standard drive allocation, just like other block structured devices and even had the option of being bootable, should the space allow for it.
Read only size options were 32, 64 & 96KB depending on total ROM IC's added to the cartridge.
Re-writable EEPROM based utilised 8, 16 & 24KB.
There was also the option of mixing the 2 types on the same ROMPACK!
The driver regarding the EEPROM as occupying the lower sector numbers specified in Block 0.
|
|
The Software Key looked to be an early adoption of a security dongle to protect software. Access to which was denied without the correct 'key'
|
The June 1986 Nimbus catalogue states:
Softkey is a specially designed software
key or dongle which will allow
developers to ensure protection of their
software copyright. The Softkey
contains a firmware code unique to the
user. The software contains the same
code and needs to be matched with the
softkey before it will run. In other
words, the licensed software can only be
run by a user in possession of the
appropriate unique softkey.
|
|
The cartridges looked to have a sliding mechanism, similar to a matchbox. Movement of which would expose the 34 pin PCB edge connection.
The task of plugging and unplugging into the Nimbus mechanism would perform this action automatically one would assume. |
The only known photo of a 'Softkey'
|
|
Example of the ROM cartridge |
|
Showing the ROM Cartridge and the Software Key inserted |
Speaking with members of the original Nimbus development team, the theme that develops is that nobody can recall there ever being a ROMPAC on the Nimbus!
This NGC (New Generation Computer) was being developed at a time of great change and knowing which way the market was heading was a challenge.
My theory is that the IBM PCjr was being developed at the same time as the Nimbus and was known to contain ROM Cartridges...If it was good enough for IBM...
A cartridge system was not new to RM, having used such a system on the RM 480Z, via the parallel port and the RM102 Programmable Instrument!
Although again uptake was sketchy.
480z ROMPACK
As time went on over the life of the Nimbus 186 the cartridge ports dwindled away.
My observations have shown combinations of:
2 ROMPAC & 1 SOFTKEY
1 ROMPAC & 1 SOFTKEY
1 Softkey
Then no cartridge ports at all, the PCB edge connectors were removed and the flap doors jammed shut.
Later, original style cases did away with the hole and just left a sealed recess.
The redesigned 'slimline' Nimbus case and PCB removed the concept entirely.
The image above shows the inside view of Nimbus
with 1 ROMPAC and 1 SOFTPAC port
The implimentation of the ROMPAC was essentially another block device, like a hard disk.
It could be browsed like any other disk.
This was somewhat unusual, other systems of the time placed the contents of the ROM directly into memory and executed it on boot up. The Nimbus boot screen would indicate the ROMPAC drive letters.
As there is no known ROMPAC existing and no documentation on their use, as far as I can tell the Nimbus went without a ROMPAC for its working life.
This led me to wonder if the mechanism for accessing such a device ever reached maturity....Hooking up a scope to the port looked promising...activity was seen on the port pins when attempting to view the contents.
The schematics released from RM show that the read-only cartridge uses multiples of the 27256 EPROM, giving either 32k, 64k or 96K switching ROMS via a couple of logic IC's
The
port goes directly to the IO pins of the AY-3-8910 & MSM5202 music chips.
The usage of a ROM simulator (memsim2 from Momic)proved very useful in being able to quikly change the data structure on the fly without having to remove and reprogram EPROMS
The feeling about now is why this never took off...the storage space just wasn't big enough and adding more ROMS would have made the cartridge enormous.
There is a documented use for the ports from the 'RM USER' magazine in 1985 speaking about them being used for diskless terminals (Nimbus TN)
FILE STRUCTURE
The format here is based upon FAT12
The key to all this is the structure of Sector 0
Offset |
Value |
Detail |
00 |
E9 |
Jump Instruction |
01 |
18 |
02 |
01 |
03 |
52 |
R |
04 |
4D |
M |
05 |
4C |
L |
06 |
24 |
$ |
07 |
00 |
Number of Boot Sectors |
08 |
00 |
09 |
01 |
1=MS-DOS, 2=CP/M, 3=CDOS, '3'=MS-DOS |
10 |
00 |
Partition Flag |
11 |
00 |
Bytes per Sector (little endian) Multiple of 64
&H200 = 512 |
12 |
02 |
13 |
01 |
Sectors Per Cluster |
14 |
01 |
Reserved Sector Count = 1 |
15 |
00 |
16 |
01 |
Number of FAT = 1 (save space) |
17 |
10 |
Number of root entries, keep this small to avoid wasting space as each one takes up 32bytes, needed or not
&H10 = 16
This limits to 1 sector and 16 files |
18 |
00 |
19 |
xx |
Number of Sectors in logical image
Each sector - 512
96K ROM = C0
32k ROM = 40
8K EEPROM = 10
|
20 |
00 |
21 |
FA |
Media Type Identifier |
22 |
01 |
Sectors Per FAT
1 should be sufficient |
23 |
00 |
N/A |
24 |
09 |
Sectors per Track |
25 |
00 |
26-27 |
00 |
N/A - Number of heads |
29-29 |
00 |
N/A - Number of Hidden Sectors |
30 |
FF |
Sector number of first ROM Sector |
31 |
FF |
32 |
xx |
Sectors Per ROM
32k ROM= &H40
8k EEPROM = FF |
33 |
00 |
34 |
xx |
Sectors per EEPROM
8KB = &H10
ROM = 00 |
35 |
00 |
36 |
0a |
delay required after EEPROM write in milliseconds
0a = 10 milliseconds
ROM = 00
|
The rest of the structure is per FAT12 Specifications
Directory listing from an example read-only 96KB, ROMPAC
EEPROM based ROMPACK
The at28c64b based solution allows for rewritable content from either a single 8KB EEPROM or an additional 2 to give 24KB.
Sector 0 and the FAT/Disk Label must already be present, the OS tools cannot utilise format.com to do this.
Note the extra sector 0 bytes required to advise the Nimbus that it is accesing an EEPROM.
File saves do take noticably longer, due to the write speeds of the EEPROM.
Recreation of the PCB
As there are no known images of the ROMPAC PCB, the following is my assumption on a workable solution for the 96KB Read-only version
Circuit Diagram
Graphic Impression
Bill of Materials |
Quantity |
M27256 |
3 |
1uf High Speed Ceramic Capacitor |
5 |
4.7uf Electrolytic Capacitor |
2 |
74ALS139N |
1 |
74ALS74N |
1 |
Finished PCB for a 32KB Read-Only ROMPACK
Finished PCB for a 24KB EEPROM ROMPAC
CONCLUSIONS
I have found no bugs or issues with the ROMPAC system, it does exactly as expected.
The Nimbus can boot from either of the ROMPAC slots should the ROM carry boot files in the same way one would make a floppy disk bootable. Otherwise it can just be used as an additional read-only drive, accessed via a drive letter.
The main configuration of the system is held on the first ROM which contains Sector 0, the File Allocation Table and the root directory. The data then begins and continues on the other 2 ROMs if nessesary.
There is a setting on Sector Zero to indicate how many sectors are on each ROM then it knows when to jump to the next ROM.
The re-writable EEPROM based version works just as well, the only drawback being the incredibly slow write function.
The case design is something that I have no immediate plans to complete as it is superfluous to this endeavor
My only assumption to draw from these investigations would be that cost and small storage space were the
reasons behind the withdrawal of the product, either at a very early stage or during development.
Anything to add, then please drop me a message
Additional Content
Since the creation of this page the full schematics from Research machines have been made available.