News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Bryce

Spectrum +3 differences.

Started by Bryce, 12:10, 09 September 11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bryce

@TFM: No, I wouldn't go out of my way to make my Hardware both CPC and Spectrum compatible, but if it coincidentally happened to be compatible, then I would mention this. My PS/2 and USB Mouse project for example will work on a Spectrum +3 if you use a passive Joystick adapter, although it wasn't planned that way. After the MegaFlash was finished, I also took a look at whether it would work on a Spectrum if you used an adapter - Answer = No.

@Robcfg: Although I'm also really interested in making some cool Plus Hardware, the majority of users have Classic CPCs, so the general interest seems to be for Classic CPC Hardware (France being the exception). Of course most hardware will work on both Classic and Plus because the expansion ports are identical. From a hardware point of view, the Plus Printer port (8-Bit instead of 7), the Joystick Port (Analogue inputs) and of course the Cartridge and Lightgun Ports offer new possibilities, but then very few people can use this hardware. And usually it's possible to create the same function from the expansion port, so I choose it, so that everyone can use it.

@SyX: I'm not a big fan of putting large CPUs/ASICs on an expansion, because I feel the original hardware is then only being used as a power supply / data source. Technically I could build a Core i7 and an nVidia chip on a CPC expansion and claim "Hey look at what the CPC can do!", but it's not doing anything except feeding some data. A good example of "external overkill" is the Turbo Chameleon 64 (for C64), which has so much on board processing power, that it even runs without a C64 being attached! When some external intelligence is required, it's ok to use a PIC / AVR to do the job. The USB Mouse adapter for example uses a small PIC processor to run the PS/2 - USB host drivers to make it AMX compatible (ie: no CPC drivers required), but that should really be the limit.

Bryce.



SyX

#26
Come on people!!! We are talking of Bryce :D

He never could disappoint us  ;) , there is a lot of peripherals that a CPC and zx could share, and it wouldn't  compromise the CPC side... and it would be a few advantages, for example, lower prices due to the more than probably increased in orders ;)

At least for one second, think with the minds, not with the hearts!!!  :)

PD:It looks that we were writting at the same time, jejeje. Of course, Bryce, your sensible rules of design :) ... it's only, you know, some times my mind fly too high, jejeje but in that case the use of the arm how a coprocessor is a side effect, it wasn't the original intention (and is very limited, too), it's similar to the 32 KBs screens with the CRTC in the CPC... but well, i need to land now  :P

Bryce

Just one thing SyX. The MegaFlash was an exception. My plan is and was to design DIY hardware, ie: I release the plans, schematic and layouts and you build it yourself. The MegaFlash was just too complicated for most to build, so I made some for the community, but I don't intend this to be a regular occurance. It's just too time consuming.

Bryce.

SyX

Yes, i know, jejeje, i retouch my previous comment (thinking than you will be more slower in answer :P) to add "your rules of design" ;)

And you don't know how i'm grateful to you for that, sir Bryce :)

redbox

One thing I did think of previously (and was reminded of it by SyX's 2600 ARM post) is it could be interesting to have a co-processor for the CPC.


I imagined it being connected to the expansion port, where as you could send some bytes to the port, the co-pro would do the calculation and send the answer back also via the port.  It would be in keeping of the spirit of the CPC and not completely over the top pointless like some of the C64 stuff.


My reason for wanting one is that a lot of CPC stuff is programmed using pre-calculated tables (which take up loads of space) and hence a co-pro could be a nice addition to speed things up.  Would definitely make demos a lot more interesting.


Or is it a crap idea and I should go back to bed...?

Bryce

Wouldn't it make more sense to just save the pre-calc table on the MegaFlash and read it from there? A Co-pro would work too, but it would be very limited in it's use and complicated to program.

Bryce.

redbox

Quote from: Bryce on 09:49, 16 September 11
Wouldn't it make more sense to just save the pre-calc table on the MegaFlash and read it from there?

Nice idea, but it's still pre-calculated.

Quote from: Bryce on 09:49, 16 September 11
A Co-pro would work too, but it would be very limited in it's use and complicated to program.

I was thinking more along the lines of real-time calculations - then the CPC could concentrate on using it's power to shift stuff to the VRAM etc.

But yeah, if you say it's complicated I'll take your word for it!  :)

dragon

co-processor?,maybe a other z80 with more speed?.

redbox

Quote from: dragon on 10:04, 16 September 11
co-processor?,maybe a other z80 with more speed?.


Yes good thinking, because then code would be the same and could be re-used.


But I guess then it would need some flash memory too as you'd copy the code to the co-pro memory and then bank it in to run it or something like that.


A 25mhz Z80 would do some serious calculations for you  :)

SyX

Quote from: redbox on 09:43, 16 September 11Or is it a crap idea and I should go back to bed...?
Don't go to sleep ;)

TFM has told me that he remember a review in the Happy Computer (a german magazine... we need to preserve more german CPC history, folks, we lack a lot of german jewels ;) ) from a coprocessor card for the CPC, based in the Hitachi HD64810 (the precursor of the Z180).

It would be nice to know more about it, but it looks the "holy grial" of CPC expansions... 

Bryce

I don't think I'd go for a Z80, even a faster one. If I were to do something like that, I'd prefer a processor which added something more, floating point calculations or whatever. The problem is, would it really be realtime? The Co-pro could calculate realtime, but the Z80 would still have to collect the results when it's read to do so.

Do you know which Happy Computer it was in. Maybe I can find it somewhere and at least check the features it offered.

Bryce.

SyX

Neither i would go for a Z80, is so obsolet  :P I prefer an ARM, i love it since the GBA  :D

But how Bryce said the main problem is for the z80 send/receive datas to the copro using I/O (INs and OUTs instructions are so slow...), Dadman and me made a few tests using an AVR overclocked to 25Mhz how math copro and the most part of time was lost in the communication process. It's more faster use a rom with precalc datas, how Bryce said too.

Well, Stefan doesn't remember the exact number of Happy Computer, i have passed him this kultboy link (i think that somebody can register to download the scans, but i need to give a pass with google translator before, jejeje), hoping that seeing the covers, it could help him to refresh his memory  ;)

steve

The benefit of a second processor comes from running standard software faster then the 3.3mhz z80 can, if you use a different processor then the user must write new software specially for the new processor.

The CPC is an excellent machine but it could benefit from doing things just a little bit faster.

Bryce

It's possible to do this very cheaply/easily using a "CPU Gearbox". The idea is, that the normal CPU (not an additional one) runs at normal speed while talking to external components, but runs at its highest possible speed when doing internal operations. I built one for an Atari 800XL which worked really well (except for the fact that I was even more crap at playing the games when they ran faster :D ).

Bryce.

Jase

Oohh, well, if ideas are being thrown around. How about connecting a SID to the Amstrad? I've no idea how feasible it is, but I think that chip has to be the best there is for sound... Its just a shame that Sids are usually have a C64's or prohibitively expensive catweasle/hardsid cards wrapped around them.






TFM

#40
Quote from: redbox on 09:43, 16 September 11
One thing I did think of previously (and was reminded of it by SyX's 2600 ARM post) is it could be interesting to have a co-processor for the CPC.


I imagined it being connected to the expansion port, where as you could send some bytes to the port, the co-pro would do the calculation and send the answer back also via the port.  It would be in keeping of the spirit of the CPC and not completely over the top pointless like some of the C64 stuff.


My reason for wanting one is that a lot of CPC stuff is programmed using pre-calculated tables (which take up loads of space) and hence a co-pro could be a nice addition to speed things up.  Would definitely make demos a lot more interesting.


Or is it a crap idea and I should go back to bed...?

Take a look at the CPC Booster, there you have your co-processor, and you can even program it from the CPC side. And if the Mega16 is not enought for you, then just replace the cpu with the Mega32. It works :-)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

Quote from: dragon on 10:04, 16 September 11
co-processor?,maybe a other z80 with more speed?.
That's nothing new anyway. There is the HD64180 card for the CPC which has a Hitachi 180 cpu (pretty much Z80 compatible, but faster), can be used as second cpu or for debugging purposes.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

#42
You see, I answer 3x, but there is a reason:
Now let's come seriously to the topic coprocessor. An expansion card has sense if it really reliefs the CPC's CPU, for example: Imagine an USB or and IDE device, that IS ABLE to DIRECTLY send a data stream to a MP3 processor to play music (for example) WITHOUT bothering the Z80. In such a case the CPC controls what's going on, but it's NOT using up much cpu time for it.

The principle is that the CPC tells the external device WHAT to do, then the expansion just does it.

If I have an IDE device and an MP3 card, then still my CPC's Z80 has to do all the work and uses up all it's time. So I see no gain in that. BUT an expansion which does the job for the CPC would be really an innovation.
That far about my thoughts for now.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

redbox

Quote from: TFM/FS on 16:27, 16 September 11
Take a look at the CPC Booster, there you have your co-processor, and you can even program it from the CPC side. And if the Mega16 is not enought for you, then just replace the cpu with the Mega32. It works :-)


Ah yes, I see.  The CPC Booster does look very nice, but is discontinued I think...?

Bryce

@Jase: I already suggested a SID Card in another thread and even built a prototype a while back, but I was afraid to mention it again, in case I get banned from the Wiki (As far as I know, there is a clause in the CPCWiki Membership contract, that says "you will reject satan Commodore and all his empty promises", or something similar). Anyway, if anyone really is interested in this hardware, then let me know and I'll finish it and release it (You can send me a PM if you're too embarrased to publicly admit that you are interested in C64 hardware :D )

@TFM: That's exactly where my border is: Using a processor to build an IDE port is fine by me, because the external processor is there to facilitate the Z80's needs, it's just a slave that collects data for the CPC, but an MP3 expansion is wrong. The CPC is only being used as an oversized remote control, the MP3 device would (with minor changes) work fine without the CPC. This degrades the CPC and instead of showing what it can do, actually shows that it's only good to replace a play and stop button! I only do Hardware where the CPC is the real master and does the main processing.

Bryce.


SyX

What ports use that SID card???  ;) I have a caprice customized with a SID instead of the AY, and a initial port to CPC of the Sam Coupe sidplayer for its sid expansion card :P

Bryce

I can't remember which ports I used, it was a quick "out of my head", non-documented prototype, just to see whether it works. If I was to design it fully I would start from scratch and decide sensible ports and control.

Bryce.

steve

Surely by now there must be a better sound chip than either the SID or the AY family, what chips do the cheap PC sound cards use?

Bryce

Of course there are, but even the simplest such as ad1881 or other "soundblaster compatibles" are so complicated to host and feed, that they would be rather complicated for an 8-bit computer. The next concievable sound chip after the SID would probably be the Amigas "Paula", but that was a custom chip that's even harder to find than a SID (wasn't socketed) and there's not many common sound chips in between the Paula and the quantum leap to SB compatibles.

Bryce.

SyX

@Steve: It's not easy how Bryce says, the classic sound chips are very difficult to find, and also Paula is not very recommended in this case because use 8 bits samples (so much memory for the CPC, we would need a ram expansion too ), the most sensible would be to use chips with FM Synteshis, how all the OPL series of Yamaha, the successors of the AY, they were used in MSX expansion cards and consoles with great result, an aceptable ram consumption... for me the last "classic sound chip" was the Yamaha AICA from the Dreamcast :)

@Bryce: Je je je, ok, well if one day you go back to this project, i will try to fix my sidplayer ;)

Powered by SMFPacks Menu Editor Mod