News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Graphics card for CPC.

Started by steve, 19:30, 10 October 14

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

steve

This page Memotech MTX 512 - MTXPlus+ (Video Board) 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?

Gryzor

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

steve

We will have to wait and see how long it will take.
Just think instead of speccy ports, we can have msx ports. ;D

McKlain

As long as they are MSX2 ports, I'm ok with that  ;D

TFM

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.  ;)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

steve

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.

TFM

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).
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Poliander

A graphic card for CPC... well... imagine yourself for one short moment such a device (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 ...had the BTX module an overlay or did it switch over after typing in "|BTX"? I'm not quite sure...
Schneider CPC 664 • X-MEM • Vortex F1-X Drive • CTM 644 • DMP 2160
Schneider CPC 6128 • Z-MEM • M4 Board • MultiPlay + Amiga Mouse • OSSC

AMSDOS

Quote from: TFM on 19:30, 11 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.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Prodatron

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.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

TFM

#10
Quote from: Poliander on 21:39, 11 October 14
@TFM ...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: You talk like such are VDP99xx card would already exist for the CPC, can you tell us more?  :)


TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TotO

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.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

steve

#12
Quote from: TotO on 23:24, 11 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?

TFM

Quote from: TotO on 23:24, 11 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...
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

steve

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.

MacDeath

#15
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:

TotO

#16
Quote from: steve on 02:05, 12 October 14What 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) 

Quote from: TFM on 00:21, 12 October 14It'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.  ;)

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

McKlain

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.

Trebmint

Quote from: TotO on 23:24, 11 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

Prodatron

Quote from: TFM on 19:30, 11 October 14Because 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.

Quote from: TFM on 19:30, 11 October 14The 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.

Quote from: TFM on 22:41, 11 October 14@Prodatron: 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

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Prodatron

Quote from: McKlain on 09: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.
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!).

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

andycadley

Quote from: Prodatron on 10:39, 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....

CraigsBar

Quote from: McKlain on 09: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.
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
IRC:  #Retro4All on Freenode

ralferoo

#23
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!  :)

Prodatron

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.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Powered by SMFPacks Menu Editor Mod