CPCWiki forum

General Category => Amstrad CPC hardware => Topic started by: TFM on 18:01, 29 March 12

Title: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 18:01, 29 March 12
This thread is dedicated to a new, overworked 2012 CPC using modern technology while staying compatible to the CPC6128.

You are cordially invited to this new born project. If you take part in it we will all together create a new CPC more powerful than ever.

For our Future-CPC# we ask for the following:

- Compatibility to the CPC6128

- Using the eZ80 as CPU (providing already TCP stack etc.)

- 4 MB of RAM (compatible to existing solutions)

- 1 MB ROM (sockets for Flash to enhance it to 4 MB if desired)

- As FDC we use the successor of the FDC765 (we can copy everything now)

- Additional Graphic Mode

- Additional Sound capabilities

- Mass storage (compatible to one of the existing systems for the CPC)

- Differrnt speeds (4 MHz, 16 MHz, 200 MHz - that's just the eZ80 without breaks)


For later stages of our Future-CPC# we ask for the following:

- Compatibility to the 6128 Plus in addition

- MP3 chip (allows to play MP3 sounds)


My contribution here will be project management and the code that allows the eZ80 to act as real Z80 (regarding I/O instructions).
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: MacDeath on 18:14, 29 March 12
mmm... perhaps you should also aim at the PLUS specs to begin with... oops my bad, you told this...

Is this thing supposed to have a real hardware ?


anyway, from what it looks, it is a continue from the PCW16 topic...

To me such kind of machine should have the real "retro Amstrad legacy"...
It means it should be retro-compatible with also ZX spectrums and PCWs... and ideally with PCW16 too... ;)



a perhaps good way to assure a proper CPC/PLUS "emulation" would be to actually put a real Z80A on the thing.
so the more modern "reprogrammable big chip" would be used to get the CRTC-GateArray/ASIC/ULA/whatever emulation (and Memory mappings and so on...)

Those old Z80 can still be found I guess, and can be overclocked easily now.
a "legacy CPC mode" don't have to run too fast.


You know, those old arcade machines often had Z80 as a sound co-processor... so this machine could use the real "old" Z80 to run CPC/PLUS stuffs (legacy mode, fully ompatibility ).
Just like the way the Sega Megadrive used its "sound" Z80 to be retrocompatible with SegaMasteSystem...

And in "Fullpower mode", the Z80 could be used for the "Sound card"...

Extra bonus point if the thing also include a real AY... ;)


Also, to get this compatibility you would have to get the same methode used by the PLUS to be retrocompatible... possibility to "lock" the extra stuff.

one issue is the way those old computers displayed on monitors...
They were "synched" with the monitor and designed on the CRT technology (now obsolete).

A modern approach would not go for this kind of monitor... but still you have to "emulate it" because the softwares were programmed with this in mind.



Concenring the video modes, it may depend a lot on what kind of monitor do you aim at.

While CRT was good for the varied pixels sizes and shapes, modern flat monitor are 1 pixel = 1 pixel... no more scanlines and so on... no more blurry round pixels...

Also the monitor Ratio changed a lot, from 4/3 to 16/10 or something like that...
And there is no more such thing as "Overscan zone"...
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 18:52, 29 March 12
Let's stay realistic!

The "Eierlegende Wollmilchsau" is a nice dream here. But since the Future-CPC# will be real hardware and not an emulator, we have to focus on the CPC range of computers.

Components of the real CPC (CRTC, PSG, PIO etc.) will be there for compatibility purposes for sure - in case they can't be put into an FPGA, but this will depend on the taste of the team here. However our aim is to reatain a very hig compatibility. On the other hand we will have additional advanced mode (speed, gfx, sound enhanced).

It also may be worth condering PC components, since they are very cheap. But it this case IT IS VERY IMPORTANT to start with clear defined standards from the beginning.

You mentioned the kind of monitor, and that's indeed a very good point. It may make sense to move completely into the flatscreen are, since we can't buy anything else any longer. That should be discussed too.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 19:07, 29 March 12
Regarding compatibility, do you think old software should run on the new machine (same speed or faster than CPC old)? or new software should run (slower) on the old machine?

The PLUS has it's incompatibilities with the CPC should we repeat these "mistakes", fix them (incompatible) or leave PLUS features out.

Instead of flash rom, you could have 8MB ram with the second 4MB block accessed as if it were rom, it could be loaded from disk as required or used as ramdisk.

If the firmware were rewritten to use the more powerful hardware it would run faster but may mean that some software runs too fast.

Formfactor, it could be a PCB that replaces the PCB in a CPC 464, or it could be designed as a second processor box that plugs into the CPC's expansion port, this eliminates the need for compatibility as you just switch off the 2nd processor when you want to run software that won't run on the 2nd processor.

24 bit pallette?, higher resolutions?

FPGA? could emulate SID chip, amiga sound or decode MP3.

The eZ80 can directly address 16MB ram this could simplify memory management, and give us more memory for the web browser.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 19:39, 29 March 12

Beter to begin with a simple question:
What do we want to do with a new CPC ? :)
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 20:05, 29 March 12
I agree with your first mail. Some very good points there :-)

Compatibility mode = Yes!

Quote from: TotO on 19:39, 29 March 12
Beter to begin with a simple question:
What do we want to do with a new CPC ? :)

That was always the hardest question ;-) Guess we want a CPC of 2012. Conserving all advantages and improving what we want.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 20:33, 29 March 12
Hard to keep the "CPC spirit" and not be borderline, when speaking "next cpc computer". ;)
For me, a new CPC need to be the dreamed one in 80's, not today.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 23:44, 29 March 12
Using the eZ80 the CPC# could be 50 times faster then CPC old, games will be unplayable without some speed control, new CPC# software will run too slowly on the old machines, so compatibility is compromised.

The firmware could be partially rewritten to use DMA to speed up disk access and manage 16MB ram as 4MB ram, 4MB write protected ram (rom), 4MB screen memory and 4MB ramdisk, although programs could be written to have direct access to 16MB ram, but would not be compatible with old CPC.

It is important to decide what level of compatibility is required from the CPC#

Quote from: TotO on 19:39, 29 March 12
Beter to begin with a simple question:
What do we want to do with a new CPC ? :)

I would want more memory and faster speed to make internet access possible, new software is likely to be distributed this way and if the CPC# can get it's own software without needing a PC then that would be one less machine on the desk.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 11:40, 30 March 12
MAY BE A SURVEY ABOUT THAT ?

For you, a new CPC have to be :
- Enough powerful to be a PC desktop replacement.
- The CPC+ that we never get. Shame on Amstrad.
- Just improvements like Ethernet, Bryce stuff, but embedded.
- Not needed. I use my CPC for what it is.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 11:48, 30 March 12
Quote from: TotO on 11:40, 30 March 12
OK. For your use, it's a PC replacement with dedicated software.
Thank you.

NO,NO,NO that sounds like I want something that does everything the PC does and that is not the case, I simply want a machine that can download new software as that is how it is distributed now (cassette and disk versions are limited time offers).
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 11:52, 30 March 12
Quote from: steve on 11:48, 30 March 12I simply want a machine that can download new software as that is how it is distributed now (cassette and disk versions are limited time offers).
Sorry, I missunderstood. My post was edited.
Thank you. :)
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ivarf on 12:16, 30 March 12
Quote from: TotO on 11:40, 30 March 12
MAY BE A SURVEY ABOUT THAT ?

For you, a new CPC have to be :
- Enough powerful to be a PC desktop replacement.
- The CPC+ that we never get. Shame on Amstrad.
- Just improvements like Ethernet, Bryce stuff, but embedded.
- Not needed. I use my CPC for what it is.

For me
- Not needed. I use my CPC for what it is.

or an 8-bit Amigabeater that thrashes the Amiga 1200 ;)
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ukmarkh on 12:44, 30 March 12
Wasn't someone working on such a project a while back now... the CPCNG???


It looked like an amiga 1200, with SD and CD-Rom, and used the EZ80?...
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Gryzor on 14:13, 30 March 12
While the discussion is really interesting, I do fear (as most of us do, I guess) that practicalities will be the big obstacle; who will design the hardware? Who will manufacture it? What price are we aiming for?


These are rather basic questions, otherwise it just stays an academic exercise from start... :(
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ukmarkh on 16:15, 30 March 12
Quote from: Gryzor on 14:13, 30 March 12
While the discussion is really interesting, I do fear (as most of us do, I guess) that practicalities will be the big obstacle; who will design the hardware? Who will manufacture it? What price are we aiming for?


These are rather basic questions, otherwise it just stays an academic exercise from start... :(


What's wrong with the old en's?
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Gryzor on 16:17, 30 March 12
My en's are just fine. It's my em's and pi's that have the occasional problem.


What do you mean? :D
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 20:13, 30 March 12
Quote from: TotO on 20:33, 29 March 12
Hard to keep the "CPC spirit" and not be borderline, when speaking "next cpc computer". ;)
For me, a new CPC need to be the dreamed one in 80's, not today.

Agreed! However, it will be hard to get 20 MB MFM hard-discs, Sony-Trinitron 3D monitors, 8 kB chips for the O&F RAM disc... What i try to say is we will need to use some modern hardware parts, but this must not necesserily kill the CPC spirit.

And it's a good idea to remember the dreams we have had in die 80ies, 90ies about our dream CPC!

About the eZ80: If it runs at 50 MHz then it's 200 times faster then a 4 MHz Z80 (IIRC). Therefore we will have the previously described speed modes (4 Mhz, 16 MHz and full. In case... also 6, 8, ...???).

DMA access will not significantly speed up floppy-disc access at all (since the disc itself will still rotate at 300 Upm). But it may be useful for memory-move actions. This speeds up GFX.

The enhance GFX mode should not be choosen to extreme. I would suggest 256 colors (1 Byte per pixel). And maybe a resolution of 720 * 256. This is already 180 KB!!! Maybe 320 * 200 would be better (equals about 64 KB). Or both modes.
Why a relative small resolution? Because the bigger the screen RAM is the longer it will take to draw GFX. The CPC is actually a perfect choice between quality and screen RAM size.

Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: robcfg on 20:37, 30 March 12
All the suggestions are nice, but I think it's all a bit pointless because it wouldn't be a CPC anymore.


And also, you can buy a very cheap raspberry Pi and do all that things you without going through the hell of designing a hardware that would be in the end more expensive (Atari Coldfire anyone?).


That's my two cents.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: beaker on 01:07, 31 March 12
The Pi is a lie... at least that's the conclusion I am coming to after my 5th email telling me my order of Pi has been further delayed...  :'(
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 10:29, 31 March 12
What ever the resolution, it should still be viewable on a real CPC monitor.
Could the original ULA be used to generate 640 x 200 x 16 colours?
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: dragon on 16:56, 31 March 12
He can be designed as snes estile?.


So you can expand in a future the new cpc with a extra chips.As estile fx in snes,dsp-1 etc etc.... Via expansion port.


This can be made the new cpc expandable in the future.without remade the hardware.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 15:07, 02 April 12
Quote from: robcfg on 20:37, 30 March 12
All the suggestions are nice, but I think it's all a bit pointless because it wouldn't be a CPC anymore.

No it will be no original CPC from Amstrad. But it will be a computer very, very close to the CPC. And I suggest it to have all the ports that a 464 and 6128 (Plus?) has. So all CPC hardware expansions will be able to run. However some will not be needes since the CPC# will contain it internally (RAM, ROM, etc).

Quote from: steve on 10:29, 31 March 12
What ever the resolution, it should still be viewable on a real CPC monitor.
Could the original ULA be used to generate 640 x 200 x 16 colours?

Surely we will have compatible resolutons. In "compatibility mode" the CPC# will work 99% (our aim ;-)) like an original CPC.

The Gate Array and the CRTC can be completely simulated in FPGA. In the eastern German clones of the CPC the simulated the Gate Array by using standard IC's. So this part shouldn't bring bigger problems with it.

Quote from: dragon on 16:56, 31 March 12
He can be designed as snes estile?.
So you can expand in a future the new cpc with a extra chips.As estile fx in snes,dsp-1 etc etc.... Via expansion port.
This can be made the new cpc expandable in the future.without remade the hardware.

Good point. We try to create the concept in a way that allows us to have an open, expandable system. Either using a special array for extension cards or maybe by a moduar design in principle. We can think about the best idea.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 15:37, 02 April 12
Quote from: TFM/FS on 15:07, 02 April 12
 
Surely we will have compatible resolutons. In "compatibility mode" the CPC# will work 99% (our aim ;-)) like an original CPC.

The Gate Array and the CRTC can be completely simulated in FPGA. In the eastern German clones of the CPC the simulated the Gate Array by using standard IC's. So this part shouldn't bring bigger problems with it.

Using the CPC monitor would remind us not to stray too far from the CPC ideal, if we could use the old ULA we would not need to develop a new FPGA.

Quote
 
Good point. We try to create the concept in a way that allows us to have an open, expandable system. Either using a special array for extension cards or maybe by a moduar design in principle. We can think about the best idea.

We could give it expansion slots like those in the Apple II.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 18:34, 02 April 12
Quote from: steve on 15:37, 02 April 12
Using the CPC monitor would remind us not to stray too far from the CPC ideal, if we could use the old ULA we would not need to develop a new FPGA.

Do you know any soure for the ULA / GA ?

Quote from: steve on 15:37, 02 April 12
We could give it expansion slots like those in the Apple II.

Uups, maybe it should at least something ECB like, and we actually could stay even CPC exp-port compatibel - maybe with a second set of pins with signals needed for DMA and so on.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ralferoo on 20:03, 02 April 12
Well, I seem to be going in a completely different direction to your vision, but anyway, here's a picture of what I've been working on for the last couple of weeks... ;)

(http://ranulf.net/homeboard28.png)
http://ranulf.net/homeboard28.png (http://ranulf.net/homeboard28.png)

I'm about to get a couple of boards made up to test, I'll obviously post pictures here when it's all up and running. :)
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 20:30, 02 April 12
Nice work in progress! :)
Joystick pin5 look to not be wired.... It's fire 3 or middle mouse button on CPC old.
(may be, missing common lines too)
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 20:50, 02 April 12
Quote from: ralferoo on 20:03, 02 April 12
Well, I seem to be going in a completely different direction to your vision, but anyway, here's a picture of what I've been working on for the last couple of weeks... ;)

(http://ranulf.net/homeboard28.png)
http://ranulf.net/homeboard28.png (http://ranulf.net/homeboard28.png)

I'm about to get a couple of boards made up to test, I'll obviously post pictures here when it's all up and running. :)

That is excellent, what are the specs? if you can attach a CPC keyboard, I would use it to replace the mainboard in a '464, although if it is the same as a '6128 then I have plenty of them already.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ralferoo on 23:21, 02 April 12
The specs are still a bit in-flux at the moment as it'll largely be a case of what I manage to get it to do. Basically, I "needed" to build my own board because I ran out of gates on my Actel evaluation board. On that, in 250K gates I had equivalent to a 464 and the off the FPGA, I had a 512KB memory chip providing 256KB RAM and 8 ROMs. Sadly, I ran out of gates before I could do a disk interface or any "plus" features. The gate counts are a bit lower than some of the other CPC implementations on FPGA because I decided to do it all myself apart from the T80 core and I was treating this project as a learning exercise in how to write efficient VHDL.

This board has 400K gate Xilinx FPGA, a SCART socket, an SD socket on the underside, 2 seperately wired joystick ports (so no clash), 2MB flash and 512KB RAM, tape in, 14 GPIO pins, 12 IO pins wired directly between FPGA and AVR and an additional 4 FPGA and 4 AVR pins that I thought could be jumpered together together to allow AVR access to the SD card or provide a header to a different SD card socket or just used as more GPIO. Additionally, as I'm still experimenting, the AVR clock can be jumpered to run from an FPGA output and vice-versa.

Connecting a standard CPC keyboard directly would be possible because there are just about enough GPIO pins available, but I'll probably make a breakout board that somehow multiplexes the 10+8 keyboard lines to the 8 GPIO header next to the joystick ports. I must admit, putting this thing inside a real CPC keyboard is something I'd like to do too... :)

Regarding the pin 5 (and also pin 9) on the joystick ports - I thought about what to do about these, whether to make them IO, put 3.3V out on one, etc but I decided it was best to just to stick to Atari joystick with second button. I don't think I've ever seen a 3 button joystick. The only thing I could think of would be the AMX mouse, but that'd probably require 5V and level converting all the lines, so it'd be easier just to implement mouse via the PS/2 socket (and maybe do a second PS/2 socket on a later version of the board).

In terms of features I intend to use the AVR for are: JTAG programming of FPGA PROM, JTAG programming of FPGA (for development), serial port to CPC and a PC side debugger.

Despite it's CPC bias, I guess it could also be used as a generic FPGA development board that just happens to have 2 joystick ports, PS/2 keyboard and a SCART socket with 3x 2 bit DAC.

In terms of CPC "hardware" features I want to add, the 2 main features I want are hardware emulation of the CTM monitor so that horizontal smooth scrolling works on LCD TVs, and saving the last frame to memory so that the display can be "paused" when debugging, like the software emulators do. Basically, I'd like it to be as nice to develop on this hardware as it is with a software emulator. Additionally, I believe I can get the SPI chip running quickly enough to to random access, which would allow 128 ROMs.

I was also working on a simple software flash filesystem that operated like |DISC, although I put that on hold while I designed the PCB.

So, all in all, it's a bit ambitious... :)
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 01:25, 03 April 12
Great work done :-D
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Sykobee (Briggsy) on 00:46, 08 April 12
Whilst I think the best route is based around an FPGA implementation like the FPGAArcade, the best bet for anyone creating a "CPC 2012" is to just get on with it and not get too distracted by forums where every design concept is turned inside-out until you feel it isn't worthwhile continuing!


It would be neat to see an eZ80 system coupled to an FPGA that implements the CPC Plus specification along with whatever else is needed to make it become an 8-bit super-CPC/demo target for 2012.


The only thoughts I have is "would you design the CPC the way it was designed?" - for example, the display memory scheme, etc. What made those 8-bit micros interesting was that they made the most of very limited resources and limited transistor counts, and that led to very quirky hardware. Annoyingly the C64 VIC-II was well designed overall, except they forgot to include decent colours / a colour palette, and most of the programmability of the 6845.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ralferoo on 21:10, 08 April 12
Quote from: Briggsy on 00:46, 08 April 12
The only thoughts I have is "would you design the CPC the way it was designed?" - for example, the display memory scheme, etc. What made those 8-bit micros interesting was that they made the most of very limited resources and limited transistor counts, and that led to very quirky hardware. Annoyingly the C64 VIC-II was well designed overall, except they forgot to include decent colours / a colour palette, and most of the programmability of the 6845.
In a word, no. Well, maybe.

There are a lot of things they've done very well, but it's clear that Amstrad's really liked the 6502 and designed for that. The memory contention on the main RAM is every cycle, even though ROM access wouldn't contend the the databus in the current CPC design. Additionally, it'd require just a few gates to avoid contention during the border. Of course, that'd be a double edged sword because cycle counting would be a lot more complicated than now.

More significantly, this contention affects IO really badly and there's simply no reason for this at all as video memory access happens in T1 and T3 and IO data is sampled in T4. This extra cycle delay then forces an extra 3 cycles of wait, making IO really, really slow. And choosing to decode high bits in preference to the low bits makes most of the IO instructions significantly less useful. The MSX has almost the same hardware, but the designers seem to have mostly made better choices.

But generally, everything else is pretty well designed - the emphasis is on quality rather than cheap, as compared to the Speccy for instance.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: qbert on 17:45, 09 April 12
My duty is obviously to acclaim this colossal project.


My only recommandation will be to stay humble and realistic in the realization and proceed step by step.
The most important feature to my sense is obviously full compatibility with CPC software, even if a part of emulation is needed. After all, history has proved with the Macintosh or the PC that new hardware could easily add a Virtual Machine over a modern OS to gain full compatibility with old software, especially taking charge of memory protection. On the other hand, the Commodore 128 is a concrete demonstration of full hardware compatibility (having different boot modes and a real switch for CPU speed).
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 20:51, 09 April 12
I pretty much agree with the two last comments (and good the get ideas about CPU cycles btw.). But I don't want to have a virtual machine - for one reason: We do have that already, called CPC emulators ;-)

This project is about real hardware. And we want one mode compatible as much as possible to the CPC. And a second mode, still compatible to most software, but enhanced in speed and features.

From the hardware side: We want to provide the current CPC expansions as internal part of the CPC#
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 01:25, 10 April 12
I really like the idea of this project! I have, for a long time, dreamed of what a CPC would be like if Amstrad had continued to develop the hardware and it had evolved into a contemporary machine. CPCNg looked quite interesting but I guess it got nowhere in the end which is a shame.


For what it's worth I feel that we should keep in mind the original CPC design philosophy. Each generation (In theory at least) was backwards compatible with the previous one, although in some cases bugs in the design were ironed out causing some programs to have problems with new hardware revisions where developers had used the bug in a creative, or as Amstrad sometimes claimed "lazy" way.


If we look at the historical road map of the CPC, the designers simplified the design and for example, combined discrete ICs into the Plus ASIC. We can see that Amstrad took advantage of new technologies as they became available (or more likely affordable). Therefore, it would seem fairly reasonable to conclude that if the CPC had continued to evolve, it would have eventually become, more or less, a system on a chip. So maybe a FPGA would be an acceptable choice for a sooped up Gate Array etc. For me though a real CPU is still needed. The eZ80 would be a perfect choice as this would likely be what would have been soldered into a modern CPC. This would keep in line with the current evolutionary status of the CPC, a discrete CPU and ASIC (FPGA in our case) incorporating more of the logic ICs etc.


The advantage of using an FPGA as I see it is that the specification of the CPC, its colour capability, sound etc can be improved while retaining compatibility much like Amstrad did with the Plus machines. Of course, the machine should be able to use original hardware, tape loading support, original expansion compatibility via an adaptor if need be as well as new, modern hardware expansions although I guess this could get a little complicated, so maybe some sort of USB implementation instead?


What would the new generation of CPC look like? Maybe we should start drawing up some mockups?


Should this project actually be a full production product or a schematic, a DIY kit?


I hope this project gains some genuine traction, it would be great to buy/build a genuine contemporary CPC! Heck, if it can supplant my Mac as far as email, surfing and word processing is concerned, that would be great! Then I can use my Mac for the creative stuff and my CPC for games and work. Great stuff!  ;D   
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 05:53, 10 April 12
eZ80:
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: robcfg on 08:37, 10 April 12
So you guys want a Z80 powered modern PC...  ::)
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 08:45, 10 April 12
Quote from: TFM/FS on 05:53, 10 April 12eZ80
I ear that CPU is not 100% Z80 compatible.
Is possible to reach that by doing a "wraper" ?

Else, a standard Z80@16MHz exist and was already a great improvement.
I will prefer that.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 13:56, 10 April 12
A eZ80 powered PC. Yes you could say that, but equally you could say that the CPC is a Z80 powered PC designed and built in the 1980s. Its a philosophical question really, much like the debate about modern Macintosh Computers now that they use Intel based hardware.


(These are just my thoughts and I will digress a little here but there is a point...) I myself liked the fact that Macs used to use PowerPC CPUs as it was a distinction from the homogenous x86 market which for me symbolised the grip that Microsoft had over the industry at the time which seems to have been successfully challenged (to an extent) now by the popularity of Linux based netbooks and the trendiness of Apple products forcing Microsoft to up their game.


I wasn't sure I would be happy using a Mac with an Intel based CPU but I accepted the change and you know what? It's still a Mac! I still think of it as being different to a generic PC. Why? it's the OS and the physical design/appearance of the hardware. Like Lord Sugar said about the GX4000 (ok yes it was doomed) the end user doesn't care if it runs on steam as long as the user experience hits the mark.


If we can design a system that you switch on and it feels no different to switching on a classic CPC ie you get the blue and yellow screen, you can load classic CPC disks and tapes, but you fire up the new FutureCPC OS with 16 bit graphics, internet access etc you can do your word processing etc. Then the way I see it, it's still a CPC, all that has happened is that the features have been extended.


I think there are quite a few of us who would like to have a modern CPC to use for various every day tasks as well as the usual retro stuff. So, if the architecture of the machine is based on the original CPC with some big improvements and modern day hardware I think we could legitimately think of it as a CPC.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: robcfg on 15:12, 10 April 12
I think that if you manage to get better graphics and better sound it wouldn't feel like a CPC anymore.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 15:46, 10 April 12
Quote from: robcfg on 15:12, 10 April 12
I think that if you manage to get better graphics and better sound it wouldn't feel like a CPC anymore.
Sure, there is a balance. Some things can be improved, but not too much.
The CPC have it's own identity, and the line to not cross is very close.

It's why I speak about "the dreamed CPC in 80s" and not today.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: robcfg on 16:31, 10 April 12
Maybe something along the lines of an equivalent of the TurboR for the MSX computers would be the very best of a CPC.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 16:56, 10 April 12
I agree, we wouldn't want to take it too far, however, I think we should assume that various upgrades would have been bolted onto the CPC over the years to keep it competitive if it had been evolved in the way the Amiga did for example. The core architecture remains more or less the same but more beefed up. I like to think of it this way; if the CPC platform had not been abandoned due to the 16bit/32bit/PC market taking off, what would the CPC be like in a parallel dimension where the 16bits didn't kill it off.


The default mode of a new CPC in my opinion should be the Classic CPC, it should be very much like a Super Plus CPC where the snazzy new features don't reveal themselves until a code unlocks them and makes them available, how the hardware interacts should be based on the original CPC/Plus methods unless there is a reason to depart from them to make the new stuff work, but this should only be in "Super Plus Mode". I think this would satisfy the concept of an uber CPC dreamed up in the 80s. Kinda like the SamCoupe was thought of as a Super Spectrum.


The Luddite in me would be over the moon if I could use a CPC for modern tasks, it would be my 'go to' machine unless I wanted to do some music production and this would be a better use of the CPU in my Mac, it just seems a little wasteful sometimes to have all that power (and power consumption) for a mundane tasks like word processing. Yes I could use a typewriter or 486sx but I would rather use a CPC with some mod cons.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: rpalmer on 20:41, 10 April 12
There is already a Z80 which can run at 20 MHz, so all we need is some way of making use of its capability to run at that speed so that the modern CPC can do more while still being backwards compatible with existing software.

Also I would like to see a better memory management where we could have 128 Mb (or more).

Next it would be nice if the graphics system could increase the number of available colours from the 27 (to say 256) via a lookup table attached to the advanced VGA chip and the VSYNC signal for each scan line (maybe this is how the ASIC achieves it?)

rpalmer
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 02:16, 11 April 12
128 mb of RAM that sure would be nice! I would say that it would probably take a hell of a bank switching scheme to use it. Could a Z80 actually address that amount? I guess a FPGA could take care of that and maybe fill up the standard banks like a cache system and that feature could be switched off in standard mode.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 04:14, 11 April 12
The Z80 can address 64 KB.

The eZ80 can address 16 MB in ADL mode.

For more a simple bank switching logic would do the job.


For the enhanced mode I suggest a kind of bank swtiching similar to the Z280 CPU, which allows to bank in RAM between defined addresses - and so it's quite flexible.

However, if you want that much RAM then one component is really REALLY needed:  A memory DMA processor which is capable of transferring data without using CPU cycles. Well, Zilog does not build the Z80-DMA any longer, but there are alternatives. Finally a DMA will add another level of complexity, that should be considered.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 04:36, 11 April 12
Getting the z80 to address 16 MB should be quite simple, a 74LS612 was used in the Powertran Cortex to expand the 64KB address space to 1MB, I am going to have to read up on this device to see if it can be used to give a 16 MB address space, alternatively we may be able to use a microcontroller to handle the page management and switching.

As for DMA, we could use a Z180 as a dedicated intelligent DMA controller with a list of tasks to perform, it could handle serial and possibly network ports as well as disk transfers, screen blitting and DMA sound.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 09:55, 11 April 12
Don't forget that a CPU runing with high frequency, can run more as low one...
A eZ80@200MHz will never work if clocked at 4MHz, for compatibility. Wou will have to "emulate" the old CPU.

Like ColdFire for 68000, you will get more problems that you will solve.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 17:46, 11 April 12
Well, that will lead us ultimately to the question if we want a system with 2 cpu's or if we are willing to accept some issues in full compatibility.

And if I think about it in some detail, then there rises up a third possibility: This would be an expansion card for the CPC. The original CPC will run in 100% compatibility mode (since it IS a CPC), but the card has a (for example) eZ80 CPU. Not the problem here is that both CPUs should be able to access the same RAM and ROM (which is a problem due to different cpu speeds). So back to a single eZ80 system?

Maybe we have to cope with the situation, that the CPC# will not be 100% CPC compatible. But is it needed? We all have CPCs and we can run demos on the real CPC. So maybe a more general level of compatibility is ok?

About DMA:
IMHO I wouldn't use a Z180 for DMA. Too slow, and it suxx as co-cpu, since it lacks a fair amount of undocumented opcodes (and all illlegals). IMHO a pure DMA chip would be better.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 18:28, 11 April 12
You already can build a eZ80 board with 256MB of memory for the CPC EXT slot, and you got it. :D
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 18:41, 11 April 12
Well, personally I'm fine with 16 MB. But I don't mind if people want more, it's sooo cheap nowadays.

Memory thought, it's not everything. Also Video-, Sound-, and storage capabilities are of interrest.

And in a smart system the beloved (e)Z80 just has to tell the DMA device to directly transfer data from hard-disc or SD-card to the MP3 device. Or even to the Video-card / Video-RAM(better!). So Sound and Video-streaming is doable without bothering the CPU much.

We don't want to rebuilt the PC. We want to create a smarter system.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 20:57, 11 April 12
Quote from: TFM/FS on 17:46, 11 April 12

About DMA:
IMHO I wouldn't use a Z180 for DMA. Too slow, and it suxx as co-cpu, since it lacks a fair amount of undocumented opcodes (and all illlegals). IMHO a pure DMA chip would be better.

I don't understand this, how can the Z180 DMA controller be any slower than a "pure" DMA chip, aren't they the same?
The advantage of the Z180 is it has its own cpu to program the DMA controller whereas a "pure" DMA chip would interrupt the Z80 to be reprogrammed, if the DMA is running many different DMA operations, the impact on the Z80 speed could be significant.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 21:04, 11 April 12
Quote from: TotO on 09:55, 11 April 12
Don't forget that a CPU runing with high frequency, can run more as low one...
A eZ80@200MHz will never work if clocked at 4MHz, for compatibility. Wou will have to "emulate" the old CPU.

The maximum clock speed of the eZ80 is 50Mhz, but because it is a pipelined processor it has a similar performance to a Z80 clocked at 200Mhz, but the Z80 cannot run that fast.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 21:14, 11 April 12
Quote from: steve on 21:04, 11 April 12
The maximum clock speed of the eZ80 is 50Mhz, but because it is a pipelined processor it has a similar performance to a Z80 clocked at 200Mhz, but the Z80 cannot run that fast.

Right, the most quick real Z80 I know (not FPGA or something else!) does run with 20 MHz. However, at the moment IIRC they are sold only up to 16 MHz. Still nice, but way slower that a eZ80. Speed is not everything, but if doing things new - it really should be considered.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 21:32, 11 April 12
Stupid Wikipedia content...  :P
But, I don't know 50MHz CPU who are able to run at 4MHz too. :D
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 23:05, 11 April 12
Just a thought but could we not just simply send the halt command to a eZ80 at a certain rate to bring it to an effective 4MHz speed? Or would this derail a running program?
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 23:20, 11 April 12
While having a look about on my usual staple of hacking sites, I found this... Veronica – CPU Board (http://quinndunki.com/blondihacks/?p=756) . I guess this could give us an idea how to make a new CPC feasible in terms of build. The project in the link is obviously based on a different CPU but I think it makes very relevant reading. We could have PCB designs available for home fabrication for the DIYer and if there is enough demand, we could maybe do some production runs, the latter requiring enough commitment from people to make it less of a financial risk.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 01:52, 12 April 12
Quote from: Badstarr on 23:05, 11 April 12
Just a thought but could we not just simply send the halt command to a eZ80 at a certain rate to bring it to an effective 4MHz speed? Or would this derail a running program?

The HALT command is ended only by an interrupt, so after a HALT instruction you will have the complete interrupt-handler to be done. This will take too much time, and it would be a pain to calculate time.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: arnoldemu on 09:21, 12 April 12
Quote from: Badstarr on 23:05, 11 April 12
Just a thought but could we not just simply send the halt command to a eZ80 at a certain rate to bring it to an effective 4MHz speed? Or would this derail a running program?
The READY input to the Z80 is for this purpose. It holds the Z80 and stretches it's timings to make it slower.

When a faster z80 is used, then slow timing should be done less often, only when display needs to be updated.. perhaps when i/o read/write is done if i/o is "slow".

So, if only z80 was clocked faster, then there is the possibility for more instructions to be executed in the same time.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 13:35, 12 April 12
So there is a way of slowing it down, and it's possible to be selective with it? If that's the case we could have faster execution of code under appropriate circumstances, I was thinking faster loading but I guess floppy access would be a bottle neck. Im sure there would be a way to take advantage of the extra performance without messing things up. I think once there is a clear consensus on the design of this machine these sorts of things will be ironed out.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Bryce on 14:48, 12 April 12
I was delibrately trying NOT to join this conversation (and I still intend not getting involved), but I just have to ask:

Why would an eZ80 or any other processor not be able to run at 4Mhz if it is designed to run at up to 50Mhz?

Bryce.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 15:10, 12 April 12
Just watch CPU specs. Underclocking don't work to infinite.
For exemple, a 16MHz 68000 don't work under 8MHz, a 50MHz 68060 don't work at 25MHz, A 133MHz PPC603 don't work at 66MHz, etc.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Bryce on 15:24, 12 April 12
?? Can you please send me some of those specs? My Datasheets for the eZ80, 68000 don't mention these limitations.

I can assure you that any processor I've ever used can be underclocked right down to Khz speeds without any issues. The only exceptions I know of are µP that use the main clock for UART controls that are no longer fast enough when the main clock is too slow. I have used many processors including the ez80 at speeds as low as 1Mhz, especially when debugging hardware.

Bryce.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TotO on 15:41, 12 April 12
If fact, I have foud thoses informations some years ago, because I don't understand why my Megadrive with a 16MHz 68000 no more work at 7,67Mhz. (switch)
And I read on the spec, that it may got troubles under 8MHz.
So, I replaced them with a 12MHz version (overclocked) and all worked fine for both frequencies. :D


Then, I decide to underclock a Blizzard PPC to get it "cold" inside my A1200 computer.
And I get the same problem when I try to get 68060@50MHz + PPC@200Mhz running at half frenquency.


That all. :)



If the eZ80 always work at 4MHz, then I'm verry sorry.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Bryce on 15:52, 12 April 12
Ah, ok. you can't underclock a CPU like that, it definitely will fail to run, but not because the Clock is too slow, but probably because the rising edge of your clock signal is not steep enough. ie: The clock transition from 0 to 1 too slow. Another problem you'll have is that the clock skew between CLK and BCLK might not be correct and will mess up the external chip timings. And depending on how your RAM is being refreshed, it might cause problems there too.

The 68060 actually has a standard method to slow the CPU to CLK/2 or even CLK/4. This is done by leaving the CLK at the normal speed, and using CLKEN to enable/disable the CLK signal periodically. You can even stop the clock completely on a 68060 and halt the CPU completely, but the clock may only be halted when it is in the 0 phase, not the 1 phase.

If the clock and the rest of the ez80 system is properly designed with the intention of being able to run at 4Mhz, then it will.

Bryce.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 16:55, 12 April 12
I read about one 8-bit processor (I forget which one), that its internal design was "static" so its clock speed could be slowed down to 0Hz without losing the data in its registers, so in contrast others may need to run at a minimum speed to maintain their register contents.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 17:22, 12 April 12
Timing seems to be the hardest problem here.

But do we need complete compatibility with all CRTC timings and so on? For most games it would be alright to be compatible in some of the disciplines only. f.e. interrupts.

Another thing are the Plus features. Would be good to come close to them.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ralferoo on 08:43, 14 April 12
Quote from: steve on 16:55, 12 April 12
I read about one 8-bit processor (I forget which one), that its internal design was "static" so its clock speed could be slowed down to 0Hz without losing the data in its registers, so in contrast others may need to run at a minimum speed to maintain their register contents.
This is in fact the Z80... :)

And an example of one that does lose data if not clocked is the 6502.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 22:40, 16 April 12
Another example that shows the superiority of the CPC abouve the c64  :laugh:
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: steve on 00:54, 17 April 12
Quote from: ralferoo on 08:43, 14 April 12
This is in fact the Z80... :)


This suggests that the eZ80 may be able to clock down to 1Mhz, which should be close to the speed of a 4Mhz Z80, but would dynamic ram refresh be affected?
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 20:27, 17 April 12
Independent of this... or if it is possible... The eZ80 has different times for opcodes compared to the Z80.

In case Z80 timing shall be exactly emulated, we would need a real Z80 (or FPGA simulation). However, do we really need that? IMHO, no. The CPC# may not be able to show few demos exactly, but it's not needed, because we all have a CPC.

The CPC# is really thought as a step beyond, the really improoved CPC, while retaining all the good ideas of the CPC (and timing was not one of them IMHO).

Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 20:37, 17 April 12
With the extra horse power of the eZ80 would it not be possible to emulate a Z80? I read an article recently, unfortunately I cant find a link, but basically it was about a guy had emulated an ARM CPU on an old micro processor, its effective performance was in the kHz range if memory serves so not very useful but a Z80 is much less complicated than an ARM CPU. Just a thought  ;D 
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: TFM on 20:41, 17 April 12
upon some 97% it's possible for sure. The question is how much effort you want to put in.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: Badstarr on 21:22, 17 April 12
Well I'm hopefully going to be doing an MSc Degree in computing towards the end of the year, so maybe there might be some scope to attempt a Z80 emulation project. I suppose it will all depend on the amount of free reign they will allow me but from past experience as long as I can justify it academically and I can show that I will learn something useful from doing it there shouldn't be a problem.
Title: Re: The Future-CPC# - CPC reborn - this is dedicated to the new CPC computer series.
Post by: ralferoo on 09:50, 18 April 12
You guys might also be interested in this post from a friend over on another forum: http://www.vintage-computer.com/vcforum/showthread.php?30257-Fantasy-CGA-redesign (http://www.vintage-computer.com/vcforum/showthread.php?30257-Fantasy-CGA-redesign)
Powered by SMFPacks Menu Editor Mod