News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Edoz(MSX)

Using SymbOS with the GFX9000 (MSX grapics card)

Started by Edoz(MSX), 14:27, 27 March 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

keith56

Quote from: Bryce on 15:02, 24 July 17
A nice idea and proof of concept, but as long as it's external it will never get even close to being useful. An internal solution that reads the same RAM as the 6845 is the only way it's going to be fast enough for gaming.

The 9990 has more ram than the whole CPC, so there's no need to worry about it accessing the CPC's memory itself...
I've looked at the MSX2 GPU as I plan to port my Chibi Akumas game to it, as far as I understand this 9990 works about the same for the CPC as the built in GPU of the MSX2... and I can say that if you try to do things with an 'external' (OUT based) GPU the same way as you did with an internal (memory addressed) one, you are probably going to struggle, but that's not to say it's not capable of fast stuff.. you can tell it 'copy that area of the screen to here'... and it will start, and you can just get on with other things while it does it... on the CPC, you'd have to copy each byte yourself, and couldn't do other things at the same time...

I'll know more when I really dig into the MSX next year, but I think to say 'external GPU's are too slow' is wrong, 'You have to program and design differently to be fast with external GPU's' would be more accurate.

I can't see this taking off in a big way on the CPC unless a lot of people had it, or there were some big name games using it... the average CPC developer is only going to target what the average CPC user has.

but as I said, If some of the developers using it on the MSX were to consider porting their games to the CPC, maybe it could take off... the CPC has the same sound chip, and 64k of ram like the MSX, so there would probably not be too much work needed to get a game running on both systems.
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

Bryce

Quote from: Prodatron on 15:39, 24 July 17
The VDP9990 is a dedicated graphic card which supports both bitmap and pattern mode (2 layers + sprites; paralax scrolling), games implemented with it will be much faster at a higher resolution and more colours. But that was already discussed and described in this thread some pages ago. Writing bitmap data from the CPU into the VRAM of the graphic card can be done at about the same speed, you define a rectangle and then just OUT all bytes to its port without the need to do a "next line" after x bytes. OUTI:INC B is 1 nop slower than LDI, but you don't have the "next line" thing. But escpecial in games you will hardly copy bitmap data to the VRAM anyway during the normal gameplay, as you have 512KB of dedicated video ram. Moving/copying stuff inside the 9990 video ram is unbelieveable fast and doesn't require any relevant Z80 time anyway.

If that's the case and there's no bottleneck getting data to it, then it could be very interesting indeed. I hadn't read the whole thread, so I haven't seen those details earlier.

Bryce.

Edoz(MSX)

The v9990 is far from slow. Cool thing is that it was designed for 8 bit computers. And yes, it was planned back then to put in the MSX3, but MSX3 was never released.

After the port to the CPC you can run SymbOS on it. Like in this movie:



I guess, in SymbOS there will be no difference if you compare the CPC and MSX. In fact, the CPC is a little bit faster then the standard MSX2.  ;D ;D ;D   





Trebmint

#53
Hey I thought I would give a bit of insight as to what is planned. Potentially this could be the CPC upgrade I always dreamed of


First its strange that Edo, who is an MSX guy had the idea to add this add-on card for the MSX, and then supplied another MSX hardware guy with a CPC so this could be tried.


Edo is part of our little Symbos group... and coding cross platform - different resolutions - 2/4/16 colours. Edo has been responsible for coding a number of apps and games that ran amazingly well within the GUI of Symbos... however we all knew that anything but simple games would be near impossible cross platform given Symbos works to a lowest common denominator graphics hardware-wise. This has led to many late night discussion of how great it would be if the baseline hardware was the vdp9990 (gfx9000). Edo went to the MSX community and found somebody who could make this add-on happen... it appears to work just as the gfx9000 does for the MSX range and turns the video into an Amiga level game machine.


So here's the plan for Symbos & the V9990 as I think I understand it.


1. Symbos will have a full screen mode targetted to the v9990 (Kinda DirectX). So cross platform... Not ports. This means the same game will run on MSX+Card, Turbo-R, CPC+Card and any new hardware that might be added like Enterprise+Card in the future.
2. Having Symbos as the OS means we have the benefits of Mass Media storage and even Network support.
3. Development will be made as easy and fast as possible using Quigs which will contain a compiler, mapping tools, animator (Think halfway between AGD and Unity)


If this happens like this I'd like to think people will create games, but even if not I know Edo and I will.


Obviously from a non Symbos viewpoint its just video card and a CPC-centric coder could develop for this themselves, but it will be easier via the symbos  library imho

keith56

Quote from: Edoz(MSX) on 08:18, 25 July 17
After the port to the CPC you can run SymbOS on it. Like in this movie:

Now, to be fair, that's running on the turbo-R!! - isn't it's performance the equivalent of 10X a conventional Z80?

Is there any possibility of this thing being converted for the ZX spectrum? Heck those guys need a video upgrade more than the CPC owners!!
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

Trebmint

Quote from: keith56 on 10:09, 25 July 17
Now, to be fair, that's running on the turbo-R!! - isn't it's performance the equivalent of 10X a conventional Z80?

Is there any possibility of this thing being converted for the ZX spectrum? Heck those guys need a video upgrade more than the CPC owners!!


I think the 4mhz z80 and VDP9990 will create a beast. Oh and the Spectrum crowd are getting the Spectrum Next which offers a similar upgrade in graphics to this.

keith56

Quote from: Trebmint on 10:26, 25 July 17
Oh and the Spectrum crowd are getting the Spectrum Next which offers a similar upgrade in graphics to this.
The MSX, Spectrum 128 and CPC all have the same sound chip, if the 9990 GPU was available on the spectrum as well one could port the same game to all three systems without too many changes - I'm aware that the spectrum Next offers crazy upgrades - but it's a FPGA, not discrete hardware, and I'm afraid that doesn't count in my book!
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

Trebmint

Quote from: keith56 on 10:47, 25 July 17
The MSX, Spectrum 128 and CPC all have the same sound chip, if the 9990 GPU was available on the spectrum as well one could port the same game to all three systems without too many changes - I'm aware that the spectrum Next offers crazy upgrades - but it's a FPGA, not discrete hardware, and I'm afraid that doesn't count in my book!
Well as part of the symbos team I'm really only thinking along the lines of hardware that can support symbos and the Spectrum doesn't. If somebody clever enough wants to take this idea that's now been proven on the cpc and convert it to the spectrum - well they'd probably get a lot of orders for it.

rpalmer

While the MSX graphics card be (and appears to have been) ported to the CPC in a hardware sense, the issue performance is a different issue to consider. I could easily interface a standard PC VGA card to the CPC and get it to work. The obvious issue is now how much performance I gain from such a device connected to the CPC. In both cases i would speculate the both would be slower than what has been we can expected from the native CPC designs.

To put this example into perspective, the MSX system probably does not slow down the Z80/R800 CPU to get video data. This leaves the MSX the ability to use a DMA which can transfer large amounts of data far more quickly than with simple software solutions. The Z80 DMA will have been most likely included into the MSX design which can send data from memory to a single port and this makes the whole issue of video data transfers far easier and certainly far quicker. There is also the possibility to transfer data from media to the graphics card direct.

rpalmer

Trebmint

#59
Quote from: rpalmer on 11:33, 25 July 17
While the MSX graphics card be (and appears to have been) ported to the CPC in a hardware sense, the issue performance is a different issue to consider. I could easily interface a standard PC VGA card to the CPC and get it to work. The obvious issue is now how much performance I gain from such a device connected to the CPC. In both cases i would speculate the both would be slower than what has been we can expected from the native CPC designs.

To put this example into perspective, the MSX system probably does not slow down the Z80/R800 CPU to get video data. This leaves the MSX the ability to use a DMA which can transfer large amounts of data far more quickly than with simple software solutions. The Z80 DMA will have been most likely included into the MSX design which can send data from memory to a single port and this makes the whole issue of video data transfers far easier and certainly far quicker. There is also the possibility to transfer data from media to the graphics card direct.

rpalmer


All those points are incorrect. The Turbo-R has a souped up R800 to be fair but the standard MSX2 + the CPC communicate in the same way to the VDP9990 via IN's & OUT's. The MSX2 doesnt have DMA. The MSX2 has a slightly slower Z80 than the CPC.
So if anything a CPC with a vdp9990 card will be a tiny bit faster than a MSX2 with a GFX9000 card (and yet those fly)


The speed comes because once you taken the time to OUT the data to the 512k VRAM all the z80 has to do is issue the commands to move that data around... the shifting work is all done by the card. Useless for graphically dynamic games like Elite perhaps, but for Platformers, Shooters, Arcade and most other common 8bit titles the improvement over standard cpc modes will be astonishing imho

Prodatron

Quote from: rpalmer on 11:33, 25 July 17I could easily interface a standard PC VGA card to the CPC and get it to work.
A standard VGA card doesn't have a blitter, pattern mode and hardware sprites.

Quote from: rpalmer on 11:33, 25 July 17The Z80 DMA will have been most likely included
There is no need for DMA regarding transfering data from the Z80 memory to the video memory during gameplay. Pre-filled 512KB of video RAM usually is more than enough.

The 9990 is already much faster on a normal 3,5MHz MSX2 compared to the standard MSX VDP9938 graphic. And this (the old 9938) is already accelerated compared to the CPC way of handling graphics.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

rpalmer

I was not trying to make an issue of what has been done, but I think this is great conversion of hardware from one platform to another.

In regards to VGA card connection I was only just putting it up for comparison with what can be achieved (and it can be done with the right hardware interface), but i too doubt there is a need for a VGA card connected to the CPC. For the moment I also cannot see an immediate need for such a card, since much of the software outside of symbos would need substantial changes to make them work.

The design of the MSX and DMA was my error and I assumed such was incorporated (thanks for pointing that out to me). But you have to agree that it is more easily connectable to an MSX than to a CPC.

The issue of a DMA was to highlight that data transfers could be made to be faster to relieve the burden from the Z80 or even the R800.

rpalmer

robcfg

The thing is, you're thinking on using the GFX9000 the same way you usually do things on the CPC.


The win here is that you upload the heavy graphics data to the GFX9000 and then you only have to issue commands like "put that sprite here" or "copy that tile there" instead of copying the sprite or tile data.


So, no need for DMA and no slowdowns or bottlenecks once you uploaded your data to the GFX9000.

Scarlettkitten


Exactly, I for one am looking forward to what can be done with this on the cpc, plus I'm a big symbos fan so.... :)



Quote from: robcfg on 13:44, 25 July 17
The thing is, you're thinking on using the GFX9000 the same way you usually do things on the CPC.


The win here is that you upload the heavy graphics data to the GFX9000 and then you only have to issue commands like "put that sprite here" or "copy that tile there" instead of copying the sprite or tile data.


So, no need for DMA and no slowdowns or bottlenecks once you uploaded your data to the GFX9000.
Sophie Rose:- My musical works https://soundcloud.com/sophierosemusics

roudoudou

My pronouns are RASM and ACE

Trebmint

Well clearly a piece of hardware such as this only becomes worthwhile when it is supported by software. Hopefully something we will achieve. One other small worry would be lack of emulation. At the moment we can emulate the symbos v9990 in OpenMsx, but obviously for CPC users that would be wrong, as they'd want to emulate in WinApe or Arnold etc.

roudoudou

I trust Kevin  8)


Such a card would be fun but the cost of 90$ (for MSX version) may be too expensive for a massive spread.



My pronouns are RASM and ACE

Bryce

Quote from: roudoudou on 14:30, 25 July 17
I trust Kevin  8)


Such a card would be fun but the cost of 90$ (for MSX version) may be too expensive for a massive spread.

The MSX version doesn't need a convertor card, so unless a CPC specific version is made, the CPC expansion will be more expensive.

Bryce.

andycadley


Quote from: keith56 on 10:09, 25 July 17
Now, to be fair, that's running on the turbo-R!! - isn't it's performance the equivalent of 10X a conventional Z80?

Is there any possibility of this thing being converted for the ZX spectrum? Heck those guys need a video upgrade more than the CPC owners!!


I suspect the feedback from the Speccy scene would be along the lines of: If all you're doing is using the Z80 to drive an MSX graphics chip, in what way is this a Speccy? Certainly this was raised the argument raised against a whole bunch of suggested graphical improvements, prior to ULA+, which inherently just removed the Speccy-ness in the pursuit of adding better graphics. It is an argument I'd tend to follow along with. If I wanted to write for the MSX, why wouldn't I just target an MSX?

Trebmint

Quote from: andycadley on 23:18, 25 July 17

I suspect the feedback from the Speccy scene would be along the lines of: If all you're doing is using the Z80 to drive an MSX graphics chip, in what way is this a Speccy? Certainly this was raised the argument raised against a whole bunch of suggested graphical improvements, prior to ULA+, which inherently just removed the Speccy-ness in the pursuit of adding better graphics. It is an argument I'd tend to follow along with. If I wanted to write for the MSX, why wouldn't I just target an MSX?


Hmmm well I'd say its still the Spectrum but with a piece of late 80's hardware attached to it. The Spectrum Next is this but without one piece of genuine hardware.... and yet 3000 of these have been bought so not all the Speccy scene can believe this.


Perhaps just don't buy this piece of hardware If you think this hardware makes the CPC no longer a CPC, or it will be slow, or it will be too expensive. personally I'm not sure why people have to make these comments unless you want it to fail




robcfg

I guess nothing prevents using both displays, right?


It would be awesome to have a double screen game, hehe  ;D

Bryce

Quote from: Trebmint on 09:20, 26 July 17
personally I'm not sure why people have to make these comments unless you want it to fail

I don't think it undermines the original computer, be it MSX, CPC or Spectrum. Nor do I think it would be too expensive if done properly. However, the "questioning" comments from users are a very important part of the development process. If everybody just sang its praise and there were no critical comments, then the product would not end up technically or financially optimised. That's how hardware development works.

Bryce.

Trebmint


Its just a moot point discussing whether something should exist when it already does and we've got a number of pages of people saying they'd like to buy it.
The argument over whether a piece of new hardware makes it no longer the original hardware has been discussed forever, is 100% a personal opinion and its just an easy way to derail something you don't want but others might. 


Basically there comes a point where the 'should we create this' becomes 'what can it do and do I want it?'


HAL6128

Quote from: Trebmint on 09:26, 25 July 17
3. Development will be made as easy and fast as possible using Quigs which will contain a compiler, mapping tools, animator (Think halfway between AGD and Unity)
...is Quigs or Unity still under development?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

Trebmint

Quote from: HAL 6128 on 10:50, 26 July 17
...is Quigs or Unity still under development?
Yes, that's what I'm doing

Powered by SMFPacks Menu Editor Mod