News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_jcgamestoy

WIP Retro Virtual Machine v2.0.

Started by jcgamestoy, 14:53, 21 October 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jcgamestoy

Hello forum!


Some progress in my new emulator (for MacOs and Windows).


This time I show you the emulation of the CRTC/Monitor with the game Relentless and the Mario demo by Batman Group.


At the end of the video you can see also the low level (mfm) emulation of the disc system in Discology.



https://youtu.be/kJR37C8yOcI


Enjoy, there are a lot of things to finish yet. But i make a great progress in the last Month

Gryzor


ThomH

#2
Most minor observation ever: I think perhaps you don't quite have the correct output aspect ratio. Pixels in Mode 1 aren't quite square. Pixels run for 40/64ths of the line, which is close to 77% of the visible area. 320 pixels of height would be about 111% of the visible area. So I make each Mode 1 pixel only about 92% as wide as tall.

EDIT: proper workings:

Per PAL, 52us of each line is visible and 288 lines are visible, with the screen having an aspect ratio of 4/3. In Mode 1 there are 320 pixels across and they take 40us to output, with each line being unique.

So each pixel is 1/288th of the screen tall and (40/52) * (1/320) = 1/416th of the screen wide. Correcting for screen aspect ratio, each pixel has an aspect ratio of (288*4)/(416*3) = 12/13.

So, a touch thinner than tall.

jcgamestoy

Quote from: Gryzor on 10:05, 26 October 17
How can we beta-test this? :)


Soon, but there are a lot of things to finish.


Quote from: ThomH on 01:01, 02 November 17
Most minor observation ever: I think perhaps you don't quite have the correct output aspect ratio. Pixels in Mode 1 aren't quite square. Pixels run for 40/64ths of the line, which is close to 77% of the visible area. 320 pixels of height would be about 111% of the visible area. So I make each Mode 1 pixel only about 92% as wide as tall.

EDIT: proper workings:

Per PAL, 52us of each line is visible and 288 lines are visible, with the screen having an aspect ratio of 4/3. In Mode 1 there are 320 pixels across and they take 40us to output, with each line being unique.

So each pixel is 1/288th of the screen tall and (40/52) * (1/320) = 1/416th of the screen wide. Correcting for screen aspect ratio, each pixel has an aspect ratio of (288*4)/(416*3) = 12/13.

So, a touch thinner than tall.


Thanks for the info, I know, the development versions use a 1-1 pixels but how i use OpenGL for the video i will correct this in the final version. The overscan is configurable also.


By the way, I'm working in a Linux version too  :P


https://www.youtube.com/watch?v=golJpJ4tOXc&t=11s

ThomH

#4
Quote from: jcgamestoy on 15:29, 04 November 17
By the way, I'm working in a Linux version too  :P
That's pretty cool! Dull questions: which underlying library are you using for the Linux port? As in: SDL, Qt or something like that? And is your code ES 2.x compatible, for a potential Raspberry Pi build?

(I checked for source code to try to answer this question for myself, but found none; apologies if you are open source and I should have been able to find out without asking)

I'm a Mac user usually, so I've used the previous version of your emulator, but I have a Pi behind the TV. Also I'm partway through porting my efforts via SDL but finding window management to be a hassle. It's one call in Cocoa but there actually seems to be no functioning way to request that a resizeable window will maintain a certain content-size aspect ratio in X11 and quite a few of the window managers ignore programmatic window events while the mouse button is down so you can't intercede there either. I guess that's why VLC doesn't even try.

jcgamestoy

Quote from: ThomH on 19:39, 07 November 17
That's pretty cool! Dull questions: which underlying library are you using for the Linux port? As in: SDL, Qt or something like that? And is your code ES 2.x compatible, for a potential Raspberry Pi build?

(I checked for source code to try to answer this question for myself, but found none; apologies if you are open source and I should have been able to find out without asking)

I'm a Mac user usually, so I've used the previous version of your emulator, but I have a Pi behind the TV. Also I'm partway through porting my efforts via SDL but finding window management to be a hassle. It's one call in Cocoa but there actually seems to be no functioning way to request that a resizeable window will maintain a certain content-size aspect ratio in X11 and quite a few of the window managers ignore programmatic window events while the mouse button is down so you can't intercede there either. I guess that's why VLC doesn't even try.


I'm using SDL2 but i'm in the process of making my own library. The final version will not use SDL2 at all.


The OpenGL part is OpenGL v2.1, then yes is "almost" OpenGL ES 2.x compatible.

Phi2x

#6
.

jcgamestoy

I made some progress now we have a new phosphor screen shader  :P :



https://www.youtube.com/watch?v=o8pBiy3qc9k


And the CRTC implementation seems stable now.


Stay tunned  ;)

Gryzor

I just love this. I really do! Say, after this, can you do a terminal program for Windows (ssh please!) with those kinds of filters? I'd pay for one :D

jcgamestoy

Another video this time, showing the first device implemented in the Amstrad CPC (Toto's X-Mem)


And a short view of the debugger.



https://youtu.be/R3eKzs9Mtu4


Enjoy

Gryzor

So sexy! Please bring the Windows version forward :)

alan.turner

This is very nice - love it on the Mac!! When can I get it???


Sent from my iPhone using Tapatalk Pro

tjohnson

This looks cool, on you're first video you had an untuned tv effect i presume this doesn't represent ctm640 emulation which would fade up when switched on.   The green screen, the general screen wobble and  line slowly running down the screen, did they do that? I haven't got one but is be surprised if this represents a healthy screen.  great work keep it up.  Trevor

Sent from my E5823 using Tapatalk


blackdalek

I'm keen to try out the linux version. Looks great.
CPC6128 modded with ABBA switch. External 5.25" floppy drive with side switch and Multiface 2. Now also sporting a joystick splitter and M4 WiFi board.

remax

Brain Radioactivity

arnoldemu


Quote from: tjohnson on 14:48, 06 January 18
This looks cool, on you're first video you had an untuned tv effect i presume this doesn't represent ctm640 emulation which would fade up when switched on.   The green screen, the general screen wobble and  line slowly running down the screen, did they do that? I haven't got one but is be surprised if this represents a healthy screen.  great work keep it up.  Trevor

Sent from my E5823 using Tapatalk
None of those effects happen on the CPC or Plus.


The CPC screen was always solid and clear.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

VincentGR


Apollo

Looks really good!!
Any news when a beta version is available? Seems like it is stable enough already to give some other hands the chance to find bugs  ;D
CPC - My beloved first computer!

jcgamestoy

New video.



https://youtu.be/wks6g79soVg


Low pass filter in the audio working.
Tape recording (CDT, PZX, TZX, CSW) working.


The Beta 1 is more close now. Stay tunned




robcfg

Looking forward to try it!  :D

Gryzor


VincentGR

Quote from: Gryzor on 17:21, 21 April 18
I want this :)


You will burn in hell if you want this sorcery  ;D

dXoXb

This looks fantastic!  :o 8) Please, please keep this up  :)

jcgamestoy

More work.


Now supporting the "CPC Dandanator" cartridge.



https://youtu.be/DkENuyTVDxM


Enjoy

dXoXb

Very nice  8) :)

When do we get to play around with the Windows version?

Powered by SMFPacks Menu Editor Mod