CPCWiki forum

General Category => Amstrad CPC hardware => Topic started by: steve on 21:30, 10 October 14

Title: Graphics card for CPC.
Post by: steve on 21:30, 10 October 14
This page Memotech MTX 512 - MTXPlus+ (Video Board) (http://www.primrosebank.net/computers/mtx/projects/mtxplus/video/mtxplus_vdp.htm) describes how to build a graphics card for the MTX 512 using the V9958 graphics chip, it also discusses MSX compatibility.
Could the next card to go in our x4 motherboard be a graphics card based on this article?
Title: Re: Graphics card for CPC.
Post by: Gryzor on 19:39, 11 October 14
Heh, I knew after reading the post in the Playcity thread about adding sound and gfx cards to PCs this wouldn't take long :D
Title: Re: Graphics card for CPC.
Post by: steve on 19:43, 11 October 14
We will have to wait and see how long it will take.
Just think instead of speccy ports, we can have msx ports. ;D
Title: Re: Graphics card for CPC.
Post by: McKlain on 21:17, 11 October 14
As long as they are MSX2 ports, I'm ok with that  ;D
Title: Re: Graphics card for CPC.
Post by: TFM on 21:30, 11 October 14
What's the most time consuming task in any CPC game by far?

Right! The transfer of data into the video memory! That's what slows down everything else.

Now, if you "just" put an external Video-processor at the CPC you may get a better picture, but you will slow down everything. Because instead of writing video-data to RAM you now have to send it to an I/O port! And that's a couple times slower.
Therefore I don't think it's a good idea to use the VDP described before.


Now what's the solution?

The solution is to connect an intelligent GFX card. One which need to receive the GFX data only once and then you just tell the card what to do with it. Examples:
- Move sprite to x,y
- Move screen / windown up/down/left/right.
- Copy part of the screen
- Copy screen area x to y
Also some other functions would be great:
- draw circle, box, rectangle. line
- fill area (solid, pattern)
- etc etc.

Such a card would be a gain.  ;)
Title: Re: Graphics card for CPC.
Post by: steve on 22:06, 11 October 14
The 9918 VDP had a video input so that it could overlay its graphics on to a video stream, perhaps if the 9958 also has this feature, it could be used to overlay sprites onto a CPC generated background screen.
The VDP can access 192Kb ram so loading graphics should not need to happen often and could be a background task of the Z80 which no longer has to work on drawing graphics and sprites.
Another option would be an X4 card to link two CPCs with motherX4 expansions, one CPC would run the game, the other CPC would draw the graphics.
Title: Re: Graphics card for CPC.
Post by: TFM on 22:55, 11 October 14
Well, drawing GFX is 90% of the time.


Transferring data take way longer than drawing in the V-RAM. So the Video-Card must do the job!


192 KB is not much IMHO, but a video-in option is an excellent thing to have.


Let me also draw the attention to the BTX module for the CPC, it does have a own Video-processor AND it get's the original CPC video signal through. If we could analyze the PCB we would have such a thing we talk about (probably).
Title: Re: Graphics card for CPC.
Post by: Poliander on 23:39, 11 October 14
A graphic card for CPC... well... imagine yourself for one short moment such a device (http://bayimg.com/aaBdDaaga) (a RGB2VGA converter) connected in between your CPC an a VGA monitor, and also connected somehow to your CPC bus. The device would be capable of "showing something" overlayed into the CPC video output. No ask your self: would you really like to have such a device, and if so, what would one do with it?

You might also connect a CPC keyboard to a Raspberry or something. :-)

@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179) ...had the BTX module an overlay or did it switch over after typing in "|BTX"? I'm not quite sure...
Title: Re: Graphics card for CPC.
Post by: AMSDOS on 00:18, 12 October 14


Now what's the solution?




It would only be worth doing as a project to get an ordinary CPC up to the Specs of a Plus, and at least give that small amount of Plus software a wider audience.
Title: Re: Graphics card for CPC.
Post by: Prodatron on 00:30, 12 October 14
The 9938 is already quite powerfull:
- own video ram
- fast blitter
- sprite support
SymbOS supports screen 5,6 and 7 of the 9938, so up to 54KB of video ram, and even 512x212 running with 16 colours isnt slower than 16kb CPC 320x200x4 mode as most work is done by the 9938 blitter itself.
As an example you can cache the whole font in all colour combinations in the vram and let the VDP plot it onto the screen which is very faat. I always liked the idea of a blitter based solution with own vram for an 8bit platform. But only MSX has it up to now.
The 9958 is the successor of the 9938 with more colours. If you really want to create a new gfx card for the CPC based on an existing video chip you should use the V9990 of course, as its probably the most powerful 8bit gfx hardware ever. Its still available, a brazilian guy is still producing cards for the msx.
Title: Re: Graphics card for CPC.
Post by: TFM on 00:41, 12 October 14
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179) ...had the BTX module an overlay or did it switch over after typing in "|BTX"? I'm not quite sure...
Yes, it had a real overlay. I experimented quite a bit with it. [nb]until I had to give it back to its owner.[/nb]

Something else: Wouldn't if be more efficient to connect an already existing GFX card of the PC to the CPC as constructing a MSX like card from scratch? Advantages of using a PC GFX card would be:
- Cheap price (very cheap actually)
- Availability (lots!)
- Taking advantage of modern technology
- Using the smallest resolution will be very quick and beats the crap out of MSX

Disadvantages:
- Somebody must construct an adapter to the CPC though.

@Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13): You talk like such are VDP99xx card would already exist for the CPC, can you tell us more?  :)


Title: Re: Graphics card for CPC.
Post by: TotO on 01:24, 12 October 14
You are incredible!  :laugh:

OK, imagine that your CPC now can display more colors with new screen modes... (it's not hard to achieve in fact)
What you will does more with than today? Games? Demo? Nothing?
I think that you will no more recognize the soul of your loving computer.
Title: Re: Graphics card for CPC.
Post by: steve on 01:59, 12 October 14
You are incredible!  :laugh:

OK, imagine that your CPC now can display more colors with new screen modes... (it's not hard to achieve in fact)
What you will does more with than today? Games? Demo? Nothing?
I think that you will no more recognize the soul of your loving computer.

We cannot know what will be done with it until it has been in use for some time.
The CPC is woefully underpowered, the 9958 would give it the ability to run better looking, faster moving games.
Doesn't the MTX 512 card design make it easier to do the same for the CPC?
Title: Re: Graphics card for CPC.
Post by: TFM on 02:21, 12 October 14
You are incredible!  :laugh:

OK, imagine that your CPC now can display more colors with new screen modes... (it's not hard to achieve in fact)
What you will does more with than today? Games? Demo? Nothing?
I think that you will no more recognize the soul of your loving computer.


It's like a terminal in the old days. Would be nice to the the GFX card: Do this and this instead of doing it all per hand by yourself. But of course if would look not like a CPC any longer. An interesting experiment...
Title: Re: Graphics card for CPC.
Post by: steve on 04:05, 12 October 14
What is so sacred about the CPC that it must never change?, many retro computers are upgraded with all sorts of new hardware yet they are still retro systems at heart, even the PC has been upgraded countless times since its original incarnation.
Title: Re: Graphics card for CPC.
Post by: MacDeath on 05:11, 12 October 14
I think it would be better to have a system that would mix video and sound from two CPCs connected together.
One CPC/PLUS would be overlayed on the other one, sacrificing one colour from its palette so the system could use it as transparency (have to be set).

Need a nice video mixer that wouldn't put too much delay and the overlay should be pixel perfect.

The two CPC/PLUS would have to be synched/linked in network and would share some bits of informations of course, but they would handle a few things independently depending of the kind of game or application in order to keep the syncing process minimal and efficient.

One being mostly background and the other being foreground/sprites/overlayer.

Wouldn't be that far from many arcade system which often had 2xZ80, 2x Soundchip and background+sprite layers.
Except that here both Z80 would manage both a graphic layer and a soundchip while most arcade boards would have one main z80 for Video and the other only for sounds.

both machines could be CPC or PLUS in any combinaison provided the coder/software precises what would be best for it if some PLUS features are used..



Basically it would be a "big box" with two audio-in (to CPC/PLUS) and one audio out (to Sound system/speakers), two video-in (from the CPC/+) and one videeo-out (to monitor) and connected to both Amstrad's Extensions ports.

sould have slots for RAM/ROM cards for both Amstrads as well and thats may be enough.


Main advantage : would use actually stock Amstrads.
could perform quite well with one 6128 and one 464, the 6128 could then share his disk drive to upload stuffs into the 464 if needed.

Needless to say, to have two 128k PLUS connected like this would be badass if well exploited and could compare many actual 8bit arcade systems.


would be perfect for "rail shooters".
And a graphic artist's dream as well.

May still be quite a hell to make or program.  :laugh:
Title: Re: Graphics card for CPC.
Post by: TotO on 09:47, 12 October 14
What is so sacred about the CPC that it must never change?, many retro computers are upgraded with all sorts of new hardware yet they are still retro systems at heart, even the PC has been upgraded countless times since its original incarnation.
Don't said that to me...  :-\
I will be curious to see what will be done with the X-MEM + PlayCity capabilities first.

On MSX, tons of expansions exist since years and only poor technical demo was done by a community many times biggest that ours!
Instead of saying that nothing change, make things changing!!!!  8) 

It's like a terminal in the old days. Would be nice to the the GFX card: Do this and this instead of doing it all per hand by yourself. But of course if would look not like a CPC any longer. An interesting experiment...
I already got the hardware and the way to do for prototyping that.
But... If nothing is done for existing boards far more easy to program, it will be never for a graphic one.  ;)

Title: Re: Graphics card for CPC.
Post by: McKlain on 11:43, 12 October 14
Amiga users don't have any of this "purity" problems that part of the cpc community have. They just keep throwing expansions and accelerator cards on their old machines, and they still call them amigas.
Title: Re: Graphics card for CPC.
Post by: Trebmint on 12:18, 12 October 14
You are incredible!  :laugh:

OK, imagine that your CPC now can display more colors with new screen modes... (it's not hard to achieve in fact)
What you will does more with than today? Games? Demo? Nothing?
I think that you will no more recognize the soul of your loving computer.
Well Symbos would run far far better, and development on that is moving ahead fairly quickly... and we're not just talking new serious apps but games too. Whats the difference between Graphics and Music then? When is a CPC no longer a CPC... Its a tricky subject and everyone decides that themselves I guess.
But as for software I think Symbos will be the big bridge as we have a combined MSX, CPC and soon to be a few other platform communities which will benefit from cross platform development and with a leveling of graphics power that's no longer a compromise of resolutions and colours it might have been
Title: Re: Graphics card for CPC.
Post by: Prodatron on 12:27, 12 October 14
Because instead of writing video-data to RAM you now have to send it to an I/O port! And that's a couple times slower.
E.g. LDI (5us) is a little bit faster (not couple of times) than OUTI:INC B (6us), but you don't loose time for line jumping. You just define a rectangle where to copy the bitmap data into and then start the transfer. For small rectangles this is even faster than the direct methode, where you have to jump into the next line after each x bytes. Of course direct-addressed "sprites" like in Zap't'Balls are not possible, but for this you have real hardware sprites and stuff described below.

The solution is to connect an intelligent GFX card. One which need to receive the GFX data only once and then you just tell the card what to do with it. Examples:
- Move sprite to x,y
- Move screen / windown up/down/left/right.
- Copy part of the screen
- Copy screen area x to y
- draw box
- fill area
This is what the 9938 (and the 9958, 9990) is doing.

@Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13): You talk like such are VDP99xx card would already exist for the CPC, can you tell us more?  :)
No, it's the graphic processor of the MSX as you can read in the first post ;)
SymbOS supports all bitmap modes of both the 9938 and the 9990 up to 16 colours.

CU,
Prodatron
Title: Re: Graphics card for CPC.
Post by: Prodatron on 12:39, 12 October 14
Amiga users don't have any of this "purity" problems that part of the cpc community have. They just keep throwing expansions and accelerator cards on their old machines, and they still call them amigas.
Seems to be a very CPC specific problem. On most other relevant 8bit platforms (C64 -> Super CPU; Atari 8bit -> VBXE graphic card; Spectrum -> Sam Coupe, Pentagon; MSX -> TurboR with R800, GFX9000 graphic card) they created extensions and even new machines, which made them more powerful.
The MSX always had the philosophy of a PC, realized in 8bit: Be an expandable system, add everything which is possible, don't pause. Now it has MP3, a very powerful graphic card, much IDE/SCSI/USB/SD card hardware, many additional music hardware etc etc etc... But on the CPC some people even think that everything >64K is evil.

On the other side it's true, that some new hardware extensions are rarely supported (like the GFX9000 - but there is still a lot of stuff available for this graphic card!).
Title: Re: Graphics card for CPC.
Post by: andycadley on 16:31, 12 October 14
Seems to be a very CPC specific problem. On most other relevant 8bit platforms (C64 -> Super CPU; Atari 8bit -> VBXE graphic card; Spectrum -> Sam Coupe, Pentagon; MSX -> TurboR with R800, GFX9000 graphic card) they created extensions and even new machines, which made them more powerful.
The CPC already has an equivalent, the Plus machines, and they're woefully underused. Why do people assume that sticking something on the back of a machine will solve that prolem?

And, ultimately why stop at just a graphics card? Why not just stick a whole PC on the back end, then the CPC can play Crisis....
Title: Re: Graphics card for CPC.
Post by: CraigsBar on 22:04, 12 October 14
Amiga users don't have any of this "purity" problems that part of the cpc community have. They just keep throwing expansions and accelerator cards on their old machines, and they still call them amigas.
I recently sold my Amiga 1200's, I bought them because I never had one in the 90's and always wanted one. Buying them was the biggest mistake ever. As you say an Amiga is the quickest way to empty your wallet! In the 9 months I had them, one remained stock, but the other had a 68030cpu and fpu @ 60mhz, a flickerfixer with vga output, an ide express and catweezel floppy controller. It was still an Amiga 1200 because it all fitted in the original case (somehow) but had no charm. So I sold then both (for a Terrible loss) and bought a 464plus instead, to complement my 2 6128plus and 2 Cpc 6128 machines. I am glad that the Cpc does not have this accelerate the life out of the machine mentality. It's cheaper this way lol. And the odd thing that we do have really adds to the machine because of it.

Just my thoughts. Adding better graphics will, as has been stated above, not achieve much unless they are plus compatible and therefore increase the plus user base. Their are many plus owners out there with under utilised machines, do we need additional hardware to add further unused features to the old generation?
Craig
Title: Re: Graphics card for CPC.
Post by: ralferoo on 22:43, 12 October 14
I agree with much of that last post.

The other thing is "what makes a CPC a CPC?" There are lots of things, I guess, but certainly one that defines most of the 8-bit era is their screens and that part of the design permeates pretty much everything else about the software.

Take the Spectrum. It's known for its squishy keys (but a lot, possibly even "most" but I don't know the figures, didn't have squishy keys) and its attribute clash. The unique screen dimensions, memory layout and attribute clash define it. All software needs to be tailored for that and requires porting effort to and from the spectrum.

The BBC is in a similar position. Apart from processor, it is actually very similar to the CPC. And yet, its defining features: its BASIC (as schools taught it) and its teletext mode.

I'm not really sure about the CPC. Probably, for me, the screen and the 27 colours. You can add 256 slot ROM boards, hard drives, floppies, memory expansions etc. But fundamentally, it'll still run all the same CPC things and still have that same unique thing. All those other things are just extra convenience. But a new screen might have a better resolution, but if it doesn't run the old software then it's just "another Z80 based machine".

The Amiga on the other hand has always been different. Expansion was always there and even from the early days the Amiga was used with a genlock for video overlay and for high-performance render farms and there was always software for the Amiga that you couldn't run on your "weedy" Amiga. The PPC accelerators started off as just coprocessors, so they could still run the old software as well.

I never really personally thought the PPC-only machines were actually Amigas, but by then I'd moved on to other things and I suspect that most of the active Amiga users at the time upgraded, so even though they weren't real Amigas the fact that everybody who cared considered them to be the spiritual successor was enough.

But now for us, the CPC scene, what the CPC is effectively how it was in history. Sure, we've got new toys - more RAM, more ROM, the HxC, but none of them change the CPC. But fundamentally changing the machine seems weird. TBH, whilst the discussion is about the screen, I kind of feel the same about the CTC-AY. It's kind of cool, I'd quite like one, but things written for it aren't really "for the CPC" any more. They're for "something else". But I can't quite put my finger on it.

Maybe it's just that someone could go to a car boot sale and pick up an Amiga PPC thing and get going with it. Nobody's going to find a CTC-AY or this graphics card at a car boot sale.

I also feel like I've just rambled on a bit and not really said anything useful!  :)
Title: Re: Graphics card for CPC.
Post by: Prodatron on 22:46, 12 October 14
As we all know we had this discussion again and again.
1.) It's cool to get as much out of the old original machine as possible. How can we make software better and better for the CPC without "cheating" and adding new hardware?
2.) Most good computer systems are designed to be expandable (even 70ies home computers). In many cases it really makes fun to extend these old machines and use the new features in new software projects.

I am always going for both options. In my case: 1.) SymbOS will always run on an original CPC6128 directly from disc without any additional hardware (no rom expansion required, no additional ram etc., no mouse/joystick whatever...). But 2.) it's cool to have additional stuff to have a more powerful and modern feeling while still using the 8bit core - the Z80. Noone wants to replace the Z80 with a 32bit CPU. Maybe you want to run it at a faster speed, but nothing more.
The only good argument against new powerful hardware is, that noone will support it. But that's not a philosophical question but more the problem of the software-part of the project.
Title: Re: Graphics card for CPC.
Post by: TotO on 22:47, 12 October 14
Whats the difference between Graphics and Music then? When is a CPC no longer a CPC... Its a tricky subject and everyone decides that themselves I guess.
If you think about the PlayCity audio part, it sound like the CPC. The PlayCity allow to improve programs display too, but always look like the CPC does. In fact, programming it use CPC features and signals available from its expansion port.
If you add a V99xx with custom planes/sprites mode, it will no more look like a CPC but more like a MSX/SMS.
Title: Re: Graphics card for CPC.
Post by: CraigsBar on 23:00, 12 October 14

<snip>

But now for us, the CPC scene, what the CPC is effectively how it was in history. Sure, we've got new toys - more RAM, more ROM, the HxC, but none of them change the CPC. But fundamentally changing the machine seems weird. TBH, whilst the discussion is about the screen, I kind of feel the same about the CTC-AY. It's kind of cool, I'd quite like one, but things written for it aren't really "for the CPC" any more. They're for "something else". But I can't quite put my finger on it.

Maybe it's just that someone could go to a car boot sale and pick up an Amiga PPC thing and get going with it. Nobody's going to find a CTC-AY or this graphics card at a car boot sale.

I also feel like I've just rambled on a bit and not really said anything useful!  :)

I see your points. But I don't think the same can be said for the ctc/ay or playcity. So long as games written for the playcity also run on on enhanced machines. Take cyberchicken for example, you can only get bfn and effects with a playcity, but the game still runs with no issue on all machines without the hardware ;).

The chances of graphicly enhanced stuff working on either a normal Cpc, or a plus machine are practically nil.

Craig.
Title: Re: Graphics card for CPC.
Post by: chinnyhill10 on 00:32, 13 October 14
Well Symbos would run far far better, and development on that is moving ahead fairly quickly... and we're not just talking new serious apps but games too. Whats the difference between Graphics and Music then? When is a CPC no longer a CPC... Its a tricky subject and everyone decides that themselves I guess.
But as for software I think Symbos will be the big bridge as we have a combined MSX, CPC and soon to be a few other platform communities which will benefit from cross platform development and with a leveling of graphics power that's no longer a compromise of resolutions and colours it might have been


The Amiga was a different range to the CPC. They had a variety of CPU's out of the factory and the system is designed to be upgradable in a way the CPC isn't.

Title: Re: Graphics card for CPC.
Post by: Trebmint on 01:45, 13 October 14
As I said we all clearly have our ideas of where the CPC stops being a CPC. Personally I cant see why a significant improvement in sound is okay, but an improvement in graphics isn't. And the point of no software and being underused is a valid point, but I just take the optimistic view that people want to push hardware so perhaps we'd see something cool


However it also begs the question when does a community stop being a community, as people do seem to be really negative about what actually is a positive thing even if you would never buy one, or support it or have anything to do with it. Anything using, working with or running on a CPC is surely good, as its all about people still caring for the humble little Arnold. TBH if I was to make a piece of CPC hardware that mass murdered kittens I'd hope people on here would take a positive interest... because as a community we're here to support our fellow users.
Title: Re: Graphics card for CPC.
Post by: CraigsBar on 02:17, 13 October 14
As I said we all clearly have our ideas of where the CPC stops being a CPC. Personally I cant see why a significant improvement in sound is okay, but an improvement in graphics isn't. And the point of no software and being underused is a valid point, but I just take the optimistic view that people want to push hardware so perhaps we'd see something cool


However it also begs the question when does a community stop being a community, as people do seem to be really negative about what actually is a positive thing even if you would never buy one, or support it or have anything to do with it. Anything using, working with or running on a CPC is surely good, as its all about people still caring for the humble little Arnold. TBH if I was to make a piece of CPC hardware that mass murdered kittens I'd hope people on here would take a positive interest... because as a community we're here to support our fellow users.
I too will probably buy Any mx4 graphics enhancer that comes along. All support should be supported. And as for the kittens thing, can I have 2, just leave the puppies alone ;:-)
Craig
Title: Re: Graphics card for CPC.
Post by: TFM on 03:05, 13 October 14
E.g. LDI (5us) is a little bit faster (not couple of times) than OUTI:INC B (6us), but you don't loose time for line jumping. You just define a rectangle where to copy the bitmap data into and then start the transfer.


That's the problem, you have to fill the complete area. On CPC I can have dedicated sprite routines / tile routines which only write what they need. btw. never used ldi for CC.  ;)  But of course it depends on the graphics mode and screen format you use.  :)
Title: Re: Graphics card for CPC.
Post by: TFM on 03:21, 13 October 14
And, ultimately why stop at just a graphics card? Why not just stick a whole PC on the back end, then the CPC can play Crisis....


Sure why not? Lot's of other systems have similar stuff. Of course I wouldn't waste my time with that games, but I wouldn't need a dame PC at its own. And an AMD is a fair slave for the Z80.  ;)
Title: Re: Graphics card for CPC.
Post by: TFM on 03:29, 13 October 14
As we all know we had this discussion again and again.
1.) It's cool to get as much out of the old original machine as possible. How can we make software better and better for the CPC without "cheating" and adding new hardware?
2.) Most good computer systems are designed to be expandable (even 70ies home computers). In many cases it really makes fun to extend these old machines and use the new features in new software projects.

I am always going for both options. In my case: 1.) SymbOS will always run on an original CPC6128 directly from disc without any additional hardware (no rom expansion required, no additional ram etc., no mouse/joystick whatever...). But 2.) it's cool to have additional stuff to have a more powerful and modern feeling while still using the 8bit core - the Z80. Noone wants to replace the Z80 with a 32bit CPU. Maybe you want to run it at a faster speed, but nothing more.
The only good argument against new powerful hardware is, that noone will support it. But that's not a philosophical question but more the problem of the software-part of the project.

I pretty much agree with that. FutureOS will always run with a 6128 (and ROM expansion), but will always support as much hardware expansions as possible. I would even support a eZ80 / Z280 / Z380 for the CPC. Why not? The only limit is my limited amount of spare time for coding.


@Trebmint (http://www.cpcwiki.eu/forum/index.php?action=profile;u=238): You're totally right about the community! Can I have three of these machines for dogs?  :D

Title: Re: Graphics card for CPC.
Post by: AMSDOS on 09:35, 13 October 14
The CPC already has an equivalent, the Plus machines, and they're woefully underused. Why do people assume that sticking something on the back of a machine will solve that prolem?


Simple fact that Amstrad Announced they would not release the CPC Plus range to Australia (http://www.cpcwiki.eu/imgs/9/91/TAU_69Page7.JPG). Amstrad couldn't even bring out a Bloody GX4000 and had to settle for an Atari 2600 initially.


Other Add-ons seem to work, why not a Plus Add-on minus the Cartridge port.
Title: Re: Graphics card for CPC.
Post by: TotO on 11:18, 13 October 14
As I said we all clearly have our ideas of where the CPC stops being a CPC. Personally I cant see why a significant improvement in sound is okay, but an improvement in graphics isn't.
If you start to use a 9938/58 VDP for the display, that means the screen modes will no more match with what does the CPC or PLUS. The good way to improve the CPC display is to replace the Gate Array with a new version that handle CPC old and new screen modes matching with the CPC horizontal dans vertical frequencies.
There is a gap between improving features and stay CPC friendly OR replacing parts using IC from C64 or MSX world.
And, I think that some peoples don't see this difference because ideas not match with the reality.
Title: Re: Graphics card for CPC.
Post by: Ygdrazil on 11:41, 13 October 14

I like all expansions for the CPC.. but I would prefere new expansions to create something new, instead of just reinventing the MSX! ...


No point in creating the look and feel off the MSX on the CPC ... anyway it would always be inferior to the MSX, just by taking the sheer amount of software utilising the MSX features into account!


If making a new graphics adapter for the CPC why not go for something more modern? (instead of a VDP from the 80's)


Just my thoughts


/Ygdrazil




PS. I own CPC, MSX and an Enterprise. All three machines has a very distinct look and feel  ;D

If you start to use a 9938/58 VDP for the display, that means the screen modes will no more match with what does the CPC or PLUS. The good way to improve the CPC display is to replace the Gate Array with a new version that handle CPC old and new screen modes matching with the CPC horizontal dans vertical frequencies.
There is a gap between improving features and stay CPC friendly OR replacing parts using IC from C64 or MSX world.
And, I think that some peoples don't see this difference because ideas not match with the reality.
Title: Re: Graphics card for CPC.
Post by: Prodatron on 12:32, 13 October 14
That's the problem, you have to fill the complete area.
No, only the area you defined (example: a 12x12 rectangle). And this is only for bitmap data, which can't be pre-stored in the hidden part of the VRAM. Usually you prepare everything which is needed in this invisible VRAM area (which is quite large, you have a total Vram of 128K) and let the VDP do the copy process to the screen, which is always the fastest way, while the Z80 is available for other tasks.

Quote
On CPC I can have dedicated sprite routines / tile routines which only write what they need. btw. never used ldi for CC.  ;)   
As I said before, instead of using direct addressed sprites (e.g. LD (HL),xx:INC L:ld (HL),yy:INC L:etc...) you will always use hardware sprites on the VDP, which is of course many times faster.
Title: Re: Graphics card for CPC.
Post by: Trebmint on 14:00, 13 October 14
Obviously the best choice would be to have a FPGA that improved the graphics to say x2 or x4 the colour depth of the current modes while keeping complete backward compatibility and a larger palette. A 16x320x200 or a 256x160x200 would be an amazing leap. I would imagine the T-Rex FPGA code for nearly achieving this already exists. However if you did this then the Z80 wouldn't be able to shift the memory about so it would need help... and that kind of comes back to the VDP.
Problem is nobody has ever tried to do something like this, and I think a lot of non hardware guys see that its something a number of the clever hardware guys could do.
Also in a silly way the idea of using chip sets from the 80's sounds more authentic than using some brand new FPGA, but I dont see the issue really with either. Its a personal choice



Title: Re: Graphics card for CPC.
Post by: steve on 15:07, 13 October 14
Obviously the best choice would be to have a FPGA that improved the graphics to say x2 or x4 the colour depth of the current modes while keeping complete backward compatibility and a larger palette. A 16x320x200 or a 256x160x200 would be an amazing leap. I would imagine the T-Rex FPGA code for nearly achieving this already exists. However if you did this then the Z80 wouldn't be able to shift the memory about so it would need help... and that kind of comes back to the VDP.
Problem is nobody has ever tried to do something like this, and I think a lot of non hardware guys see that its something a number of the clever hardware guys could do.
Also in a silly way the idea of using chip sets from the 80's sounds more authentic than using some brand new FPGA, but I dont see the issue really with either. Its a personal choice

I like all expansions for the CPC.. but I would prefere new expansions to create something new, instead of just reinventing the MSX! ...


No point in creating the look and feel off the MSX on the CPC ... anyway it would always be inferior to the MSX, just by taking the sheer amount of software utilising the MSX features into account!


If making a new graphics adapter for the CPC why not go for something more modern? (instead of a VDP from the 80's)


I started this thread because of the page linked to in the first post, someone had already designed a graphics card using the V9958, and I thought it might not be too difficult to attach that design to the cpc expansion bus via the motherX4.
It would also create some common ground between CPC and MSX software.

Using a different graphics chip or creating one in an FPGA would be much, much harder and an unreasonable suggestion.
Title: Re: Graphics card for CPC.
Post by: TFM on 19:38, 13 October 14
If making a new graphics adapter for the CPC why not go for something more modern? (instead of a VDP from the 80's)


Second that.
Title: Re: Graphics card for CPC.
Post by: TFM on 19:43, 13 October 14

No, only the area you defined (example: a 12x12 rectangle). And this is only for bitmap data, which can't be pre-stored in the hidden part of the VRAM. Usually you prepare everything which is needed in this invisible VRAM area (which is quite large, you have a total Vram of 128K) ...

128 KB is space for eight CPC screens, which is not that much. 1 MB would be acceptable, that would be space for enough level data and sprites.

As I said before, instead of using direct addressed sprites (e.g. LD (HL),xx:INC L:ld (HL),yy:INC L:etc...) you will always use hardware sprites on the VDP, which is of course many times faster.

Sorry, but no. I like to use sprites in dimensions not dictated by the VDP. Of course I would use them for shapes which just fit. But f.e. for my last game the MSX VDP wouldn't even have enough sprites.  ;)


Don't get me wrong, the MSX VDP is surely great for the 80ies, but the year is 2014 now.  :)
Title: Re: Graphics card for CPC.
Post by: Poliander on 20:28, 13 October 14
If making a new graphics adapter for the CPC why not go for something more modern? (instead of a VDP from the 80's)

Make sure there will be both an AMD and a nVidia version! Just in case.
Title: Re: Graphics card for CPC.
Post by: TFM on 21:16, 13 October 14
No, one is enough, we don't need another multitude of mixed (non-)standards. So stick with one real standard - which ever it will be. Gladly on the CPC nearly everything has it's standard.

Title: Re: Graphics card for CPC.
Post by: Bryce on 23:29, 13 October 14
The V9958 may be old, but it's about the limit that could be usefully implemented in a CPC. Even a basic low-res PC screen at 640x480 256 Colours would need more than 300K of data per screen. It may be pretty, but it's not going to be fast.

Bryce.
Title: Re: Graphics card for CPC.
Post by: Prodatron on 23:36, 13 October 14
128 KB is space for eight CPC screens, which is not that much. 1 MB would be acceptable, that would be space for enough level data and sprites.

So for every level you want to load 1MB from... what?  :laugh: The V9990 contains 512KB btw.
TBH this discussion currently seems to go into a strange direction... :o

Sorry, but no. I like to use sprites in dimensions not dictated by the VDP. Of course I would use them for shapes which just fit. But f.e. for my last game the MSX VDP wouldn't even have enough sprites.  ;)

The limitation is 8 sprites per line. Everything else can be multiplexed. Your game would run much faster on a VDP with hardware sprites.

Don't get me wrong
The VDP contains hardware sprites, a blitter and the possibility to copy bitmap graphic into the vram in a very fast way (even including logical operations). All three methodes are faster than using the Z80 directly for plotting and animating graphics. And I am not speaking especially about the 9938 but in general about this advanced type of video hardware. As you know it's the basic way how all todays' graphic hardware work.
Title: Re: Graphics card for CPC.
Post by: TFM on 00:47, 14 October 14
Eight sprites per line is not that much, but if you realize smaller objects in software it could be ok. Depends on the game too. Usually eight is enough probably.
Title: Re: Graphics card for CPC.
Post by: ralferoo on 01:30, 14 October 14
Using a different graphics chip or creating one in an FPGA would be much, much harder and an unreasonable suggestion.
Not really. It's trivial for me to make my FPGA support ST/Amiga OCS resolutions, it's just a doubling of the bits per pixel. The problem comes, as Trebmint says, in that then the normal speed CPC (which can't fill the screen in a single frame already) is then even more overworked, so then it needs to be clocked faster (which again is trivial, I can run at 16MHz if I want) and then it feels even less like a CPC...

That said, I definitely plan to add a turbo mode. Because that doesn't really change the nature of the machine, just makes it a bit more fun... :)

I guess the point I was making is... take the C64 clones in a joystick thing. These can run in an extended C64 like mode, has a blitter, more colours and can run faster. But then all it does is fragment the system a bit more. There are some demos that only run on these joysticks, they're still called "C64 demos" but nobody can run them on a C64. They don't even run on all the joysticks, and in any case they were a limited production run and not made any more. It's definitely "cool", but it's not really positive for the C64 scene as a whole.

EDIT: just wanted to add that overall that post sounds negative in a "don't do it!" way. That's not really what I mean... if you want to do it, make it. You'll enjoy doing it, learn a lot and having something pretty cool. I'm just meaning that to others it might not feel like a CPC any more. Incidentally, personally I don't really think of the CPC+'s extra features as being CPCish. Nothing much uses them - apart from the cartridge games there are what 3 or 4 games and a handful of demos... So I guess, what I mean is that anything "CPC-like" will almost certainly be less prevalent than the CPC+ and so likely to be supported to about the same degree. I know people disagree with me on the CPC+ matter though and that's cool! :)

EDIT 2: even despite the last edit, sprites are cool and actually a CPC with sprites would be nice as it'd still feel like a CPC, but add some benefit as it offloads some work. I guess I kind of like the idea of the CPC+ and your project after all! :)
Title: Re: Graphics card for CPC.
Post by: steve on 02:45, 14 October 14
@ralferoo (http://www.cpcwiki.eu/forum/index.php?action=profile;u=476), how hard would it be to replicate the plus features in an FPGA so that "old" CPCs can be upgraded to plus spec?
Title: Re: Graphics card for CPC.
Post by: rpalmer on 12:29, 14 October 14
People,

It would be nice to get an adapter which can act like those of PC's.  I can envisage that the adapter having dual port memory and mirrors the same as that on the motherboard with the 6845, but the display processor works independently with drivers to control it via I/O ports.

Rpalmer
Title: Re: Graphics card for CPC.
Post by: Optimus on 13:45, 14 October 14
I would like to see something like that, but only as a curious proof of concept. Could our little CPC have something like a GPU making simple flat polygons fast or hardware rotating sprites and such? If I was into electronics and that, I would love to think and work on such a project.


But I agree with Toto, it's not like we are gonna make games for a card 2-3 people might own. Or even if it's mass produced, I think I'll still enjoy more software for the original CPC.


It's an interesting curiosity for me, but not something where the scene would be willing to evolve.
Title: Re: Graphics card for CPC.
Post by: Bryce on 13:52, 14 October 14
None of these ideas will solve the main problem. These cards need massive amounts of data sent to them. Even with dualport RAM, FPGAs or anything else, the Z80 just isn't fast enough to feed a serious graphics card. It's difficult enough to manage a 16K screen and juggle gameplay code at the same time. Even if you "just" went up to 128K screens (still well within 90's technology), the CPU wouldn't cope.

Bryce.
Title: Re: Graphics card for CPC.
Post by: Prodatron on 15:10, 14 October 14
The amount of data itself is not a problem. If you have a mass storage device it only takes less than 10 seconds to transfer 1MB. Well, I don't know about what video specs you are speaking :D It should still look a little bit realistic.
But once the data is on the card the Z80 is doing nothing else than sending some coordinates to the VDP. The V9990 demonstrated it already in a very impressive way, that such advanced graphic modes are possible on 8bit machines.
Title: Re: Graphics card for CPC.
Post by: Bryce on 15:18, 14 October 14
So really we should be looking at mass storage solutions first and then worry about graphic cards?

Bryce.
Title: Re: Graphics card for CPC.
Post by: CraigsBar on 15:27, 14 October 14
So really we should be looking at mass storage solutions first and then worry about graphic cards?

Bryce.
oh yes. A dual sd card, rtc and mouse interface for the mother x4 please.
Title: Re: Graphics card for CPC.
Post by: CraigsBar on 15:28, 14 October 14
oh yes. A dual sd card, rtc and mouse interface for the mother x4 please. :-)
Title: Re: Graphics card for CPC.
Post by: Prodatron on 15:35, 14 October 14
So really we should be looking at mass storage solutions first and then worry about graphic cards?

There should be about 200 SYMBiFACE II cards around :P I hope there will be a successor available at some day.
I am currently working on HxC native SD card support for SymbOS. As soon as this is working every HxC owner will have a FAT32 mass storage with up to 32GB which is accessible at a reasonable speed.

oh yes. A dual sd card, rtc and mouse interface for the mother x4 please.

I absolutely agree! :)
Title: Re: Graphics card for CPC.
Post by: Bryce on 15:57, 14 October 14
There should be about 200 SYMBiFACE II cards around :P I hope there will be a successor available at some day.
I am currently working on HxC native SD card support for SymbOS. As soon as this is working every HxC owner will have a FAT32 mass storage with up to 32GB which is accessible at a reasonable speed.

Does this have to be embedded in SymbOS? Wouldn't it be possible to make it accessable through BASIC from a standard expansion ROM?

Bryce.
Title: Re: Graphics card for CPC.
Post by: CraigsBar on 16:18, 14 October 14
There should be about 200 SYMBiFACE II cards around :P I hope there will be a successor available at some day.
I am currently working on HxC native SD card support for SymbOS. As soon as this is working every HxC owner will have a FAT32 mass storage with up to 32GB which is accessible at a reasonable speed.

I absolutely agree! :)
then I will be buying another hxc lol.
Title: Re: Graphics card for CPC.
Post by: Prodatron on 16:23, 14 October 14
Does this have to be embedded in SymbOS? Wouldn't it be possible to make it accessable through BASIC from a standard expansion ROM?
The question is: When will we have FAT support in Amsdos? There were already several attemps like SymDos, but unfortunately nothing has been finished during the last 10 years, after the CPC-IDE 1 has been released.
On the XzentriX 2014 party I had a look at an alpha-version of a FAT16 implementation for Amsdos. I really hope that this project will be finished. That would mean that FAT-storages are finally accessible outside SymbOS, too.
Title: Re: Graphics card for CPC.
Post by: Prodatron on 16:26, 14 October 14
then I will be buying another hxc lol.
If you already have one, it should be enough. It should be possible to access a disc image (e.g. as drive B) and the native SD card (e.g. as drive C) at the same time.
Ops, we are a little bit off-topic now...
Title: Re: Graphics card for CPC.
Post by: CraigsBar on 16:32, 14 October 14
If you already have one, it should be enough. It should be possible to access a disc image (e.g. as drive B) and the native SD card (e.g. as drive C) at the same time.
Ops, we are a little bit off-topic now...
heading more off topic now.... I will need one for my 6128plus, the one I have . And a second one for my 4128plus when I get it back from Bryce.
Title: Re: Graphics card for CPC.
Post by: TFM on 21:12, 14 October 14
I am currently working on HxC native SD card support for SymbOS. As soon as this is working every HxC owner will have a FAT32 mass storage with up to 32GB which is accessible at a reasonable speed.


How quick would it be? Floppy-like speed or faster?
Title: Re: Graphics card for CPC.
Post by: Bryce on 10:35, 16 October 14

How quick would it be? Floppy-like speed or faster?

Well the HxC would still need to be connected to the FDC I assume. So it couldn't be much faster than floppy speed.

Bryce.
Title: Re: Graphics card for CPC.
Post by: Munchausen on 15:44, 16 October 14
I think it goes at up to 250Kbps... supposedly the HxC can go up to 500Kbps though, so either way it isn't exactly slow (for a Z80 mass storage solution anyway). I don't think it is going to be slowing you down too much.
Title: Re: Graphics card for CPC.
Post by: Bryce on 15:55, 16 October 14
Yes, but to get the CPCs FDC to deliver/read 500Kbps would require hardware changes inside the CPC.

Bryce.
Title: Re: Graphics card for CPC.
Post by: Prodatron on 16:49, 16 October 14
- The theoretical maximum speed for any I/O-transfer is about 200KB/s for the CPC (using INI:INI:INI:... and beeing able to use up to 256 sequently port addresses for the data).
- If you have one port for the data, the maximum speed is about 160KB/s (like we have with the SYMBiFACE II).

Regarding the FDC and the HxC I currently have no idea how the HxC behaves while transfering one sector. Usually there is a delay between two bytes because of the rotating speed of the disc drive. So after each byte you always have to check, if the next byte is available, which would decrease the maximum speed down to something like maybe 45KB/s (after transfering 8 sectors you always have to write a control sector for setting the new LBA).
If the HxC doesn't emulate a delay between each byte you could reach really high transfer rates on the CPC, too.
But let's see...

CU,
Prodatron
Title: Re: Graphics card for CPC.
Post by: TFM on 20:49, 16 October 14
It does matter what the HxC does of course. But the FDC is the critical component. It has it's own timing dependent on the frequency it runs with (for the FDC765 this is typically 4 MHz or 8 MHz). Gaps need to be considered and the data transfer protocol too. It does not matter if you poll or use interrupt controlled I/O, the speed is the same, because it depends on the FDC.


Even with the fastest disc routines the FDC will never be as quick as a HD. I used FutureOS to assess the HxC and yes, when using the right format it can be faster than a real floppy disc drive (of course). But I really wouldn't call the difference in speed worth to be mentioned here. We talk in orders of magnitude, nobody is interested in a couple of percent speed up.


So let the HD do what the HD is for.   :laugh: :) :)
Title: Re: Graphics card for CPC.
Post by: Prodatron on 22:57, 16 October 14
HxC direct access in SymbOS is alive!!  :P :P

 [ You are not allowed to view attachments ]

So we have another 32GB FAT32 mass storage device available for the CPC now :)
Have to fix some bugs now...

CU,
Prodatron
Title: Re: Graphics card for CPC.
Post by: TFM on 23:09, 16 October 14
Well done! And quick too!  :) :) :)


Can you tell us something about the data transfer rate when using direct FAT access?
Title: Re: Graphics card for CPC.
Post by: Neil79 on 23:44, 16 October 14
Ooh tell me more!


So it runs from a HxC, like an OS?
Title: Re: Graphics card for CPC.
Post by: Prodatron on 00:40, 17 October 14
So it runs from a HxC, like an OS?
In SymbOS you can access the SD card in your HxC device directly.
Example:
- you have a CPC6128 with an internal 3" drive (which is drive A)
- now you add the HxC as the external disc drive (which is drive B)
- the HxC is using an SD card for storing all disc images; but the SD card for the HxC itself is a FAT32 mass storage and can have a capacity up to 32GB - so why not using it for direct access, too?

Now SymbOS can add the SD card of the HxC directly as a new device for the CPC. So you usually have drive A+B as (HxC-emulated) disc drives and drive C as the complete SD card with FAT32, subdirectories etc...

CU,
Prodatron
Title: Re: Graphics card for CPC.
Post by: Munchausen on 08:42, 17 October 14
HxC direct access in SymbOS is alive!!  :P :P

 [ You are not allowed to view attachments ]

So we have another 32GB FAT32 mass storage device available for the CPC now :)
Have to fix some bugs now...

CU,
Prodatron


Awesome news! And this means a mass storage solution for the PCW machines has arrived too!
Title: Re: Graphics card for CPC.
Post by: zhulien on 06:21, 01 November 17
In SymbOS you can access the SD card in your HxC device directly.
Example:
- you have a CPC6128 with an internal 3" drive (which is drive A)
- now you add the HxC as the external disc drive (which is drive B)
- the HxC is using an SD card for storing all disc images; but the SD card for the HxC itself is a FAT32 mass storage and can have a capacity up to 32GB - so why not using it for direct access, too?

Now SymbOS can add the SD card of the HxC directly as a new device for the CPC. So you usually have drive A+B as (HxC-emulated) disc drives and drive C as the complete SD card with FAT32, subdirectories etc...

CU,
Prodatron


If we have an internal drive replacement HxC and a drive B HxC and an M4, do we get 3 mass storage devices at once?
Title: Re: Graphics card for CPC.
Post by: Prodatron on 20:07, 01 November 17
Awesome news! And this means a mass storage solution for the PCW machines has arrived too!
Yes, finally HxC direct SD card support has been added to SymbOS PCW last month :) It will be available in the next release.

If we have an internal drive replacement HxC and a drive B HxC and an M4, do we get 3 mass storage devices at once?
FDC support and the HxC direct SD card access are implemented in the same driver. So yes, e.g. with the M4Board driver you have Floppy, SD card HxC and MicroSD card M4Board access at the same time.
(still very offtopic)
Title: Re: Graphics card for CPC.
Post by: zhulien on 11:52, 03 November 17
Yes, finally HxC direct SD card support has been added to SymbOS PCW last month :) It will be available in the next release.
FDC support and the HxC direct SD card access are implemented in the same driver. So yes, e.g. with the M4Board driver you have Floppy, SD card HxC and MicroSD card M4Board access at the same time.
(still very offtopic)


Is it totally off topic?  we are talking drives... ram drives are what the gfx card is for if not being used as a gfx card  :D
Title: Re: Graphics card for CPC.
Post by: zhulien on 05:21, 06 December 17
hi, has anyone received their gfx cards yet?
Title: Re: Graphics card for CPC.
Post by: GUNHED on 14:18, 06 December 17
Not me.