Designing and building the KCC plus, a new, enhanced CPC6128 compatible computer

Started by Benedikt, 12:01, 12 May 24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Benedikt

This thread is about my recently started long-term project: The construction of a new, enhanced CPC6128 compatible computer that is loosely based on the schematics of the KC compact.

The rationale behind basing the new machine on the KC compact is that it managed to achieve a very high level of compatibility exclusively with standard components from that era.
There is therefore no need to slaughter a CPC for its gate array, nor is there any need to resort to spooky alien technology from the future, such as FPGAs or 32-bit microcontrollers.

My ideas for the for the system's overall specifications are that

  • Everything should feel like a well-balanced, natural evolution from the classic CPC product line
  • The system should be roughly twice as good in every way, possibly better

I therefore came up with the following goals

  • Between 256 KiB and 1024 KiB of RAM, ideally as a pair of SRAM chips
  • Two AY-2-8910 PSGs for additional polyphony and additional control lines, on-board Digiblaster
  • 16 bit data path for pixel generation and duplication of the relevant logic for twice the color depth
  • Bypassable EGA-like latch in the second RAM chip's data path to keep block fill/copy operations fast
  • At least one attribute mode, e.g. for colorful high-res pseudo text modes
  • The Plus-series' connectivity, but keep the KC compact's SCART port and bi-directional 8-bit printer port
  • Ideally some way to optionally double the CPU clock and/or FDC clock, if feasible
  • Internal IDE and Serial ports, if it fits
  • The CPC6128's form factor: System board should fit inside a German CPC6128 case
  • High quality keyboard with n-key rollover
  • Design for a laser-cut case, e.g. for a painted plywood case

To maximize the benefit for the broader CPC community, as many parts as possible should also be usable to fix or enhance existing CPCs.

The current state of affairs is that the keyboard assembly for the KCC plus is ready. It will get its own thread, because I reckon that it will be particularly useful for CPC users.

The next step is to design evaluation boards for various parts of the system, such as clock generation, audio, RAM, pixel generation, storage etc.
These will initially connect to a CPC and, where feasible, will be designed to be usable as CPC expansions.

Please share your thoughts!

cwpab

While I'm not among the potential customers for this kind of things, I love to follow the news on them as after all, they're pretty cool.

So a few months ago, I created a topic on this forum that can be very interesting to you, as it has a lot of ideas from fans like me and true experts:

Amstrad CPCnext: Would you buy one?

Also, it's great (and unusual) that you're "relatively new to the CPC world". Can you elaborate on that? I mean, you need to really like the CPC to create your project, but you apparently didn't have one in the 80s or 90s. What is exactly your story? What made you interested in Amstrad's machine? What is... the magic of the CPC? 8)

(As a general comment, the Amstrad-related scene is amazing these days: several mdoern games look like Amiga games, one single Spanish guy created a Sensible Soccer clone, a GTA clone and a mode-7 demo, two more Spanish guys have just created a point & click graphic adventure... and now someone "new to the CPC" wants to build a CPC Next... what does the CPC have?).

eto

I love the idea. I'm personally looking forward to the new keyboard. 

The expansions should best be compatibly with already existing hardware, like the additional sound chip could e.g. be compatible to the PlayCity expansion. 

Richard_Lloyd

Richard
CPC464, CPC6128, PCW8512, PCW10, BSA & NSP

Benedikt

Quote from: cwpab on 13:56, 12 May 24While I'm not among the potential customers for this kind of things, I love to follow the news on them as after all, they're pretty cool.
To clarify something that must have gotten lost when I wrote the initial post:
For both, bureaucratic and logistical reasons, I will not be selling any hardware, except for the occasional spare PCB, perhaps.
The goal is a publicly available, free design that anyone who can hold a soldering iron can build.
The goal is less that people admire my work, and more that people can replicate my work.

Quote from: cwpab on 13:56, 12 May 24Also, it's great (and unusual) that you're "relatively new to the CPC world". Can you elaborate on that? I mean, you need to really like the CPC to create your project, but you apparently didn't have one in the 80s or 90s. What is exactly your story? What made you interested in Amstrad's machine? What is... the magic of the CPC? 8)
My story is that I was not even around when any of the machines in question hit the market, but learned programing on the PC platform with a then decade-old IDE for MS-DOS.
What makes me interested in the CPC is its simplicity combined with its similarity to the original IBM PC platform, and ironically the absence of magic.
The engineers in Mühlhausen have shown that a CPC can essentially be built without any special components, as long as you can live with a somewhat larger chip count.

Quote from: eto on 14:39, 12 May 24I love the idea. I'm personally looking forward to the new keyboard.
I have to admit that I still have not made use of your second pair of adapter PCBs, but we will get there. :)

Quote from: eto on 14:39, 12 May 24The expansions should best be compatibly with already existing hardware, like the additional sound chip could e.g. be compatible to the PlayCity expansion.
That is the plan, but admittedly not in the case of the PlayCity expansion:

  • The first 320 KiB of RAM will be Dk'Tronics compatible, the first 576 KiB Dobbertin compatible, the full 1024 KiB will use RAM7's technique
  • The DAC will be a Digiblaster compatible Bourns SIL R2R resistor network
  • The AY-3-8910 PSGs will use the canonical multi-PSG addressing described in the data sheet, using external XOR gates to imitate the mask-programmed chip addresses
  • The RTC, if included, will be Dobbertin compatible, because only a single "phantom clock" chip is needed
  • The Serial Port, if included, will be Amstrad compatible
  • The IDE interface, if included, will be compatible with Yarek's IDE8255, because of that design's simplicity
  • The 8-bit bidirectional parallel port will be KC compact compatible, the 7-bit output Amstrad compatible
  • The expansion port itself will use the familiar 50-pin micro ribbon connector, i.e. no obscure Robotron part

McArti0

CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

Benedikt

Quote from: McArti0 on 22:13, 12 May 24and still only 64kB for CRTC?
Yes. The plan is to give the CRTC an unmodified address space of 64 KiB.
But I also plan to give the pixel generators a 16 bit wide data path to a pair of 64 KiB pages in RAM, which means that the total size of the frame buffer will be up to 128 KiB.
A 128 KiB frame buffer should be sufficient for a well-balanced CPC-like system without an intelligent GPU.
For instance, an interlaced 4-color mode with 640x400 pixels would use 64000 bytes and expanding it to 832x576 pixels would still only fill 119808 bytes and leave 11 KiB free.

McArti0

CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

Bread80

This sounds like a fascinating project.

Using SRAM in an Amstrad is non-straightforward due to timing issues, but it's not hard to fix. I haven't had a chance yet to publish any details of how I did it, but feel free to ask.

Also, if there's anything in my projects that's of use you're welcome to them. https://github.com/Bread80 

The CPC Modular repository is not up to date but may well be useful. I created the project to break out the CPC into parts which I could work on separately. I now have a functioning backplane which breaks out almost all the standard Amstrad signal lines (or they could be repurposed). I'm planning a new version which fixes some layout issues.

Benedikt

I have uploaded the keyboard design to GitHub and created a new thread for discussions related to the keyboard.

Quote from: McArti0 on 22:54, 12 May 24@Benedikt
and will it be possible to display something like this?

https://www.cpcwiki.eu/forum/index.php?msg=215472
The best answer I can give is that if the KC compact can do it, the KCC plus will be able to do it.

Quote from: Bread80 on 12:49, 13 May 24Using SRAM in an Amstrad is non-straightforward due to timing issues, but it's not hard to fix. I haven't had a chance yet to publish any details of how I did it, but feel free to ask.
Hopefully the absence of Amstrad's gate array makes this one aspect slightly easier. We will see. But thank you for pointing it out.

Quote from: Bread80 on 12:49, 13 May 24Also, if there's anything in my projects that's of use you're welcome to them. https://github.com/Bread80 

The CPC Modular repository is not up to date but may well be useful. I created the project to break out the CPC into parts which I could work on separately. I now have a functioning backplane which breaks out almost all the standard Amstrad signal lines (or they could be repurposed). I'm planning a new version which fixes some layout issues.
Sounds interesting. A bunch of them will definitely end up in my bookmarks.

Bryce

Hi Benedikt,
      some work in this direction has been done in the past. I know I've seen details of a modern KC Compact design using all western 74 Series IC's, complete with a PCB layout. This could save you a lot of the initial groundwork. Maybe someone here knows where it can be found. If not, I can check my archives too.

Bryce.

Benedikt

Quote from: Bryce on 12:18, 14 May 24some work in this direction has been done in the past. I know I've seen details of a modern KC Compact design using all western 74 Series IC's, complete with a PCB layout. This could save you a lot of the initial groundwork. Maybe someone here knows where it can be found. If not, I can check my archives too.
I am only aware of a modern redesign of the expansion unit that contains the floppy disk controller and the upper 64 KiB of RAM.
If there is a redesign of the system board, too, that could indeed be interesting.

zhulien


Powered by SMFPacks Menu Editor Mod