The C128D revisited. A "what if" scenario
Posted: Wed Aug 11, 2010 10:47 am
Looking at the C128D layout I got inspired thinking up a revisionist "what if" situation.
What if Commodore had actually used the budget on some worthwhile hardware that could actually be used in conjunction, instead of being split up into each its own little domain?
Let's just list the real C128Ds specs.:
- 6510 derivative @ 2 Mhz CPU
- Z80 for CP/M @ 4 Mhz
- Simple MMU
- 128Kb of DRAM
- VDC 80 Column graphics chip, with borked bitmap mode.
- 64Kb VRAM for the VDC
- VIC II
- SID II
- The PLA from C64 for BC.
- Another 6502 with 8Kb of SRAM for controlling the drive
- 340Kb 1571 drive
- Lots of separate ROMs for different parts of the firmware
All in all a very kludgey design with lots of redundancy. Surely the budget could have been used better?
How about:
- 65816 @ 8 Mhz. Even though none of the few machines that actually used the 65816 clocked it as high as 8 Mhz, I have no doubt that it was actually possible at the release time of the C128. It was just as matter of putting a cooling profile on it and giving it space to breath in the box. The CPU would of course also control the drive and IO devices, more than making up for the extra cost. A 65816 would have meant rougly double the power of a 68000, with BC to all 6502 code at a lower price.
- Simple but fast DSP like chip, for 3d and 2d transforms and possibly also part of the sound processing. Maybe done with TCL bitslice technology like the AMD 2901, but preferably with a proprietary static (asynchronous?) CMOS device. Little more than ALUs with multiplication accumulators. If necessary a differential analyser for line drawing.
This feature would really give the C128 a huge boost over then contemporary systems.
- DMA/MMU control unit for feeding the DSP, for blitter functionality, for simple virtual memory and for larger and more diverse address space in general.
- 8 Kb SRAM scratchpad (not a cache) for making it possible for all the processors to access memory at the same time, and for jobs that just need a small a amount of very fast memory.
- VIC III with compatibility for a VIC II calls but with the possibility of using the 1Kb of sprite RAM for palette, either 4bit with 512Kb left for sprite data or a full 8bit palette. 8 or 12 bit fixed palette. Simple line an column scaling for doing mode 7 and Wolfenstein like effects. This would be little more than an extension of the already present sprite sizing feature in the VIC II.
Also, if possible on the same die, compatibility for the very simple Apple II hardware. Access to the pre GS liberary of Apple II software would be a huge advantage, possibly bigger than CP/M compatibility and much easier and less expensive.
- SID II made by Bob Yannes. Identical to the one that wound up in the Apple IIgs but with BC for SID calls.
- 64Kb of VRAM split into two banks for double buffering.
- 128 Kb of RAM. No an larger than this because memory wouldn't be as important with a larger disc and VRAM. The memory could be expanded easily and relatively inexpensively with cartridges of either ROM or RAM discs.
- 1.2 Mb disc drive with a slowwrite mode for old formats. A 5¼ drive because of BC, but also because 5¼ discs was quite a bit cheaper to produce (until scale of economy caught up to 3.5) and have more recording area for a given head technology. I don't think a 1.2Mb drive would be that much more expensive than the drive already found in the C128D. After all, the X68000 included two in 1987. A 1.2 DD, perhaps coupled with programs in a ROM/RAM cartridge, would make up for a much more expensive harddrive.
- FORTH as the main "OS". It's small and much better than BASIC. With a simple and nice looking front end (also written in FORTH of course) for the most commonly used commands and disc ops.
I think a machine like the one described above would actually have been a better strategy than the Amiga. It would have been faster overall, have features the really changed the game and set it apart from other micros at the time; all in all I think it would give much more bang for the buck.
Actually it needen't be Commodore doing this machine at all. Why didn't anyone try at least parts of this more aggressive design strategy? It seems that it was more than technically and economically possible to do more than rudimentary 3D and have a much faster CPU at the time.
Arcade machines like I, Robot in 1984 and the unreleased Konix Slipstream, shows that it was very possible to design inexpensive hardware for pretty decent 3D in the mid 80's.
What if Commodore had actually used the budget on some worthwhile hardware that could actually be used in conjunction, instead of being split up into each its own little domain?
Let's just list the real C128Ds specs.:
- 6510 derivative @ 2 Mhz CPU
- Z80 for CP/M @ 4 Mhz
- Simple MMU
- 128Kb of DRAM
- VDC 80 Column graphics chip, with borked bitmap mode.
- 64Kb VRAM for the VDC
- VIC II
- SID II
- The PLA from C64 for BC.
- Another 6502 with 8Kb of SRAM for controlling the drive
- 340Kb 1571 drive
- Lots of separate ROMs for different parts of the firmware
All in all a very kludgey design with lots of redundancy. Surely the budget could have been used better?
How about:
- 65816 @ 8 Mhz. Even though none of the few machines that actually used the 65816 clocked it as high as 8 Mhz, I have no doubt that it was actually possible at the release time of the C128. It was just as matter of putting a cooling profile on it and giving it space to breath in the box. The CPU would of course also control the drive and IO devices, more than making up for the extra cost. A 65816 would have meant rougly double the power of a 68000, with BC to all 6502 code at a lower price.
- Simple but fast DSP like chip, for 3d and 2d transforms and possibly also part of the sound processing. Maybe done with TCL bitslice technology like the AMD 2901, but preferably with a proprietary static (asynchronous?) CMOS device. Little more than ALUs with multiplication accumulators. If necessary a differential analyser for line drawing.
This feature would really give the C128 a huge boost over then contemporary systems.
- DMA/MMU control unit for feeding the DSP, for blitter functionality, for simple virtual memory and for larger and more diverse address space in general.
- 8 Kb SRAM scratchpad (not a cache) for making it possible for all the processors to access memory at the same time, and for jobs that just need a small a amount of very fast memory.
- VIC III with compatibility for a VIC II calls but with the possibility of using the 1Kb of sprite RAM for palette, either 4bit with 512Kb left for sprite data or a full 8bit palette. 8 or 12 bit fixed palette. Simple line an column scaling for doing mode 7 and Wolfenstein like effects. This would be little more than an extension of the already present sprite sizing feature in the VIC II.
Also, if possible on the same die, compatibility for the very simple Apple II hardware. Access to the pre GS liberary of Apple II software would be a huge advantage, possibly bigger than CP/M compatibility and much easier and less expensive.
- SID II made by Bob Yannes. Identical to the one that wound up in the Apple IIgs but with BC for SID calls.
- 64Kb of VRAM split into two banks for double buffering.
- 128 Kb of RAM. No an larger than this because memory wouldn't be as important with a larger disc and VRAM. The memory could be expanded easily and relatively inexpensively with cartridges of either ROM or RAM discs.
- 1.2 Mb disc drive with a slowwrite mode for old formats. A 5¼ drive because of BC, but also because 5¼ discs was quite a bit cheaper to produce (until scale of economy caught up to 3.5) and have more recording area for a given head technology. I don't think a 1.2Mb drive would be that much more expensive than the drive already found in the C128D. After all, the X68000 included two in 1987. A 1.2 DD, perhaps coupled with programs in a ROM/RAM cartridge, would make up for a much more expensive harddrive.
- FORTH as the main "OS". It's small and much better than BASIC. With a simple and nice looking front end (also written in FORTH of course) for the most commonly used commands and disc ops.
I think a machine like the one described above would actually have been a better strategy than the Amiga. It would have been faster overall, have features the really changed the game and set it apart from other micros at the time; all in all I think it would give much more bang for the buck.
Actually it needen't be Commodore doing this machine at all. Why didn't anyone try at least parts of this more aggressive design strategy? It seems that it was more than technically and economically possible to do more than rudimentary 3D and have a much faster CPU at the time.
Arcade machines like I, Robot in 1984 and the unreleased Konix Slipstream, shows that it was very possible to design inexpensive hardware for pretty decent 3D in the mid 80's.