Thought I would post an update here since its been a good while. The Symbos/Quigs/G9K project is coming along nicely and Edo and I have been working on a demo of MicroMachines we're calling Mini Micro Machines which runs 50fps on a CPC and MSX. Obviously it runs exclusively on Symbos 4.0 so is completely cross platform and will run on any machine with the Symbos/V9990 combo. Hopefully a playable demo will be released in a few weeks, followed by Quigs and the G9k dev engine.
For those that don't know the G9k or V9990 is a graphics card that runs cross platform on the MSX/CPC/Enterprise etc on the Symbos OS. Quigs is a development GUI and language for Symbos and it now has a G9K engine addition making it easier than ever to create. MMM is a tech demo and the source will be fully available when Quigs is released in a short while. Thanks
looking forward to trying it out on my CPC :o :o
Impressive! Is the video from MSX version? Because the sound/fx is kinda superior to CPC ::)
Quote from: dodogildo on 08:40, 12 March 25Impressive! Is the video from MSX version? Because the sound/fx is kinda superior to CPC ::)
It is captured from an MSX emulator (OpenMSX), as Trebmint currently doesn't have a real machine, and there is currently no CPC emulator with finished G9K support.
The CPC is a little bit faster than the MSX, so it runs at the same speed (50 FPS) on a real CPC.
MMM is using the Sound Daemon for playing music and sound effects, so you can choose between wavetable (OPL4) and PSG, and in this video the effects are coming from the OPL4 indeed. CPCs without an OPL4 will just play PSG music and effects.
Like the G9K (V9990) the OPL4 sound card runs cross platform on the CPC/MSX/Enterprise etc (PCW is coming as well), and this device is still available.
Wow,
@Trebmint used Quigs for this game, I assume? That would mean there's a library in Quigs for the V9990 and OPL4 which talks to SymbOS available to use?
Did you try it on a real CPC? Would be interesting to see the CPU usage.
Also, I assume a lot of data transferred to the VDP and OPL because of tons of data for graphics and sound. Are there libraries in Quigs available which do this?
Quote from: HAL6128 on 20:33, 12 March 25Wow, @Trebmint used Quigs for this game, I assume? That would mean there's a library in Quigs for the V9990 and OPL4 which talks to SymbOS available to use?
Did you try it on a real CPC? Would be interesting to see the CPU usage.
Also, I assume a lot of data transferred to the VDP and OPL because of tons of data for graphics and sound. Are there libraries in Quigs available which do this?
Yes MMM is a tech demo for the Quigs g9k engine. Yes its a library, but it mostly specific to the Quigs language g9k subset. The plan with quigs has always been to make development as as easy as possible. To that end Quigs has a map importer which allows you to take a straight BMP for a back and foreground layer and instantly import them, generate all the patterns and meta patterns and apply an attribute layer. So a map is an actual loadable object. You can them set the scroll point of back or foreground layers and it will display that part of the map. Maps are pretty massive too. I loaded a map today with two layers of 320x5120. You have obviously normal access to sprite, but you also have map sprites which are in effect have an X/Y on the map and are shown if that part of the map is viewable. You have a sprite grouper so you can chain sprites together and treat them as one... animation and all sorts is also coming.
As for speed MMM runs within a 50th. I have worked quite hard to get the code working efficiently, but its all 100% quigs, no special case z80. Normally its taking between 60-90% of frame time. If the game is scrolling fast it has to do more edge updates and that causes a cpu hit. Basically however you tell the engine how long a game frame should be, so it can run at 50/60 or 25/30 etc.
Its also using the v9990 command which are can copy data around the vdp while the z80 is doing other stuff. This is how I achieve map animations for the corn in this video... and this is just a single line of quigs code to do.
I plan to make a video on how MMM was made after the mmm demo release as a demonstration of the Quigs IDE and engine
Oh and yes quigs g9k code runs on real hardware msx/cpc/enterprise as it does in openmsx
Very nice work! :) :) :)
Thanks
@Trebmint.
Really impressed, not only by the game also by your Quigs IDE!
I started my experiences with the V9990 a couple of months ago and adapted a MSX Demo to the CPC. It works with the Pattern mode 2, just a background and some sprites moving. No scrolling.
What I had to do (apart from adapting Z80 code - sadly no OTIR available) is to create a code for transferring all the data (images, tables, pallettes, sprites) from drive to RAM and into VRAM. And it's only possible to do that in 2k snippets (with the usage of the firmware) because of it's size (up to 100KB to transfer)
Is it different in Quigs because you can use the SymbOS environment / capabilities/ internal routines?
Quote from: HAL6128 on 07:23, 13 March 25Thanks @Trebmint.
Really impressed, not only by the game also by your Quigs IDE!
I started my experiences with the V9990 a couple of months ago and adapted a MSX Demo to the CPC. It works with the Pattern mode 2, just a background and some sprites moving. No scrolling.
What I had to do (apart from adapting Z80 code - sadly no OTIR available) is to create a code for transferring all the data (images, tables, pallettes, sprites) from drive to RAM and into VRAM. And it's only possible to do that in 2k snippets (with the usage of the firmware) because of it's size (up to 100KB to transfer)
Is it different in Quigs because you can use the SymbOS environment / capabilities/ internal routines?
Well indeed the amount of data you are shifting into vram is large. And with pattern modes or at least P1 which quigs uses you have to upload in minimum 1k chunks. Hopefully switching to compression soon and even though it wont be faster it will be memory efficient file wise. There really isn't away around it, but we have 512k of lovely Vram to play with so you have to put up with a little loading times I guess.
As for whether its Symbos helps, well yes. Its a superior OS, handles files / keyboard / sound etc all cross platform. If you'd like a pre-release peek drop me a message on discord, but it wont be long before the first engine release.
Quote from: HAL6128 on 07:23, 13 March 25And it's only possible to do that in 2k snippets (with the usage of the firmware) because of it's size (up to 100KB to transfer)
Is it different in Quigs because you can use the SymbOS environment / capabilities/ internal routines?
In contrast to Amsdos files can be random accessed in SymbOS, so you can always set the current file pointer to any position in a file and load any amount of data in one step from this position (in CP/M this is at least possible in 128byte steps, in Unidos also byte-based IIRC). If you would have a 2K buffer in CPU RAM for the VRAM transfer, you just load 2K chunks step by step from your one big 100KB file.
I assume that also the MSX Dos handle random access. E.g. if I want to load a G9B image which is compressed I need to decompress it in chunks (as far as I have understood bitbuster right) and with firmware I will need a workaround for big files and RAM is limited.
Let's dive into SymbOS and Quigs.
Quote from: HAL6128 on 12:09, 13 March 25I assume that also the MSX Dos handle random access.
That is correct. I think most DOS support this kind of file access.
Only Amsdos and other primitive implementations have to load one file in one piece at once (not speaking about slow char-by-char reading or the hack for fast-loading ASCII files in 2K steps). For loading big data you then have these overflowing directories full of small file snippets.
So yes, in MSX-DOS the file pointer is byte based as well like in CP/M Plus.
Quote from: HAL6128 on 12:09, 13 March 25Let's dive into SymbOS and Quigs.
Good idea :)
Just thought I'd throw up another video since we tacked the front-end and game together now, plus fixed a lots of silly issues. Coming very soon... honest
After fixing some things, since today it is again working perfectly on the Amstrad CPC as well, even with more performance left compared to the MSX:
https://www.youtube.com/watch?v=2yAHz4felTo
As you can see I am the worst MMM driver ever haha.
It's still a 4MHz CPU, using an I/O based graphic hardware.
Rob Buckley (Trebmint), a CPC game developer legend, did such an amazing job!
My mind thinks of a future arcade alien game under symbos and I start enjoying it. This mini car game looks and sounds great.
Great work - it shows just how much CPU time the CPC spent on moving graphics around in most games, so when that's entirely offloaded you can do a lot!
Damn... how to tell my wife, I HAVE to buy a V9990 ???
Steven
Quote from: St-BeidE(DE/GB) on 19:04, 18 March 25Damn... how to tell my wife, I HAVE to buy a V9990 ???
It is more easy and affordable to buy a Mister Pi or a Mega Drive to play this game (and many others)
Quote from: Egg Master on 19:53, 18 March 25It is more easy and affordable to buy a Mister Pi or a Mega Drive to play this game (and many others)
Like it is more easy not to use a CPC anymore and just play games on your smartphone.
Wrong forum? ;)
Quote from: Prodatron on 20:19, 18 March 25Like it is more easy not to use a CPC anymore
It is close to what does this game. Not CPC gfx, not CPC sound... And the Z80 is common to all SymbOS systems.
Quote from: Prodatron on 20:19, 18 March 25Wrong forum? ;)
Yes, this topic should be on Other Retro. ;)
No, it shouldn't as this is still the CPC itself, who is doing everything.
To say that all old and new hardware expansions is "other retro" is absurd.
Quote from: Egg Master on 20:26, 18 March 25Quote from: Prodatron on 20:19, 18 March 25Like it is more easy not to use a CPC anymore
It is close to what does this game. Not CPC gfx, not CPC sound... And the Z80 is common to all SymbOS systems.
Quote from: Prodatron on 20:19, 18 March 25Wrong forum? ;)
Yes, this topic should be on Other Retro. ;)
If you're not interested in a project then its probably better to ignore it and say nothing.
Quote from: Egg Master on 19:53, 18 March 25Quote from: St-BeidE(DE/GB) on 19:04, 18 March 25Damn... how to tell my wife, I HAVE to buy a V9990 ???
It is more easy and affordable to buy a Mister Pi or a Mega Drive to play this game (and many others)
Hey, Egg Master, you're missing the point. It's not about how easy it is to buy something elseāit's about the challenge of creating this on a limited 8-bit system like the CPC. This demo-game is a fascinating experiment in pushing the boundaries of what can be achieved. I find it absolutely amazing that this was made on a CPC, using the vintage V9990 retro VDP, while it runs under SymbOS, This achievement by Trebmint is i think outstanding, especially because SymbOS enables it to run across multiple 8-bit platforms. Besides the fact that the G9k is still undiscovered area .. So, yes, one can go for easy but to be honest i'm very impressed!
Yes, it's really outstanding. Imagine creating all the graphics and soundfx (maybe even copied from somewhere you still have to adapt it.... loooots of time necessary... look at the developing time of BombJack, Sonic, etc.), programming Quigs takes also a lot of effort and by the way, improved an IDE (Quigs) with the experiences out of creating a game, huuuuge effort!!!
Quote from: Egg Master on 19:53, 18 March 25Quote from: St-BeidE(DE/GB) on 19:04, 18 March 25Damn... how to tell my wife, I HAVE to buy a V9990 ???
It is more easy and affordable to buy a Mister Pi or a Mega Drive to play this game (and many others)
Of course (also an old discussion), it doesn't feel like a CPC anymore (V9990 / OPL4) .... but.... enhancing the CPC is fun and programming it also.
By the way, how many expansions exist which enhance the capability of the CPC? Look at all these expansions ( Peripherals - CPCWiki (https://www.cpcwiki.eu/index.php/Peripherals) ) which all do this. They change the CPC in one or more way; some are modern, some are old school. Who cares?!
Good old CPC makes it possible.
Quote from: Trebmint on 20:40, 18 March 25If you're not interested in a project then its probably better to ignore it and say nothing.
I'm very interested in SymbOS and all related projects. But I also notice that connecting MSX graphics and sound cards to the Z80 via the expansion port to run custom games no longer requires a CPC. I just feel you're attacking me because I don't have the same point of view. It's a great project, but I will prefer to see SymbOS using the Amstrad Plus features.
Quote from: HAL6128 on 21:49, 18 March 25Of course (also an old discussion), it doesn't feel like a CPC anymore (V9990 / OPL4) .... but.... enhancing the CPC is fun and programming it also.
I agree, but here it is more an enhanced MSX game on a Z80 OS. Where can we bought the V9990 or the OPL4 cards for CPC today? I just suggest an alternative with the Mister Pi. They feel offended and tell me to shut up and to go to another forum, it is not kind and respectful.
No worry, I will no more "disturb" you here.
You said it was pointless and to play the megadrive version which given I assume you understand how much time and effort has gone into this so far is not a great thing to say. What you think is still CPC and what isn't CPC is up to you, but many people on the forum bought the g9k hardware, so I dont see that developing for it should be something thats mocked.
With all this hardware (MSX extensions visible in the video), the CPC no longer produces sound, the image is no longer displayed on the monitor and the USB mouse and gamepad are no longer connected to the keyboard. Anyway, the Tecnobytes V9990 card has been sold out since 2008 (7 years ago!) and, judging by the cpcwiki topic, not many people got it.
As said, I will not post again, so please do not reply to me here. Thank you.
Your opinion is valid, but its more the disrespect for other peoples hard work that's the issue. So you can justify your opinion, but I'm questioning why you even voiced it... it was just a bit nasty and snide
Quote from: Egg Master on 10:41, 19 March 25I just suggest an alternative with the Mister Pi.
Then do it.
While I'm personally not interested in these Super Transformers Megazord versions of the CPC, I also admit they're pretty cool technologically speaking.
And there's also a lot of work behind this stuff, so it's probably wiser not to post negative comments about it... especially in the dedicated topic. ;D
So I prefer to concentrate in something that both fans and not fans of this could share:
1) A regular Amstrad CPC version of Micro Machines or a similar game would be cool. I'm not sure if there's already any clone available, but I don't think so.
2) My only Micro Machines experience was pretty cool: Mashed, for the Playstation 2. I recommend everyone to try that game, it's a super fun 4 player experience and can be also enjoyed 1 player. The cars that "die" start controlling some helicopter missile crosshair.
I think its a actually an interesting discussion as to where a machine stops actually being the original machine. I guess when it comes to graphics its an extremely personal thing, so whereas you'd happily accept a wifi network card or SD card reader as still canon to the original CPC something that's as different as graphics is just too far. Lots of Spectrum Next guys were mighty annoyed with any game that decided not to have colour clash and that's understandable and personal
As part of the Symbos team for longer that I remember its been the ethos of Prodatron to support every bit of hardware possible, and thats become even more the case when the cross-platform with MSX and Enterprise etc became a thing. Personally I now see Symbos as its own thing that runs on various machines rather than a piece of software that say runs on a CPC, and consequently I now consider myself a symbos developer not a CPC/MSX coder etc. When it comes to the g9k it should be pointed out that its from exactly the same era as the plus machine 1991, so I think to claim it similar to a PI is a bit of a leap. The truth is that somebody could have have this running on a CPC in the early 90's so in many respects I think its a far more valid expansion than some FPGA boards people just seem to accept as fine.
Obviously its a personal viewpoint, but since the hardware exists we committed to supporting it.
As for Micro Machines itself, I'd be very happy to see it in native mode 0. All development should be applauded as nobody is doing it for the money, but the love and the challenge.