At last today launch my new emulator.
https://youtu.be/OgZj4dzcBRg
Features
v2.0.Beta-1.r0 22/12/2018
* Multiplatform
* Windows (Vista+)
* Linux
* MacOs (10.9+)
* Multi System
* ZX Spectrum
* ZX Spectrum 16k
* ZX Spectrum 48k (issue2/3/+/+English)
* ZX Spectrum 128k (eng/spa)
* ZX Spectrum +2 (eng/spa/fr)
* ZX Spectrum +2A (4.0eng/4.0spa/4.1eng/4.1spa)
* ZX Spectrum +3 (4.0eng/4.0spa/4.1eng/4.1spa)
* ZX Spectrum +2E (eng/spa)
* ZX Spectrum +3E (eng/spa)
* Inves Spectrum +
* ZX-Uno (v4.1/v4.2)
* Amstrad CPC
* Amstrad CPC 464 (CRTC-0)
* Amstrad CPC 664 (CRTC-0)
* Amstrad CPC 6128 (CRTC-0)
* Multi machine
* Possibility of opening several machines in parallel
* Virtual Cassette
* Support TAP,TZX,PZX,CSW,CDT in playback or recording.
* Floppy disks
* Low level disc (mfm)
* New implementation of upd765
* HFE/DSK support
* Monitor
* Emulation of synchronism (H-sync/V-sync)
* New Shader
* Joysticks / Gamepad
* Autodetection
* Devices
* ZX Spectrum
* DivMMC
* Kempston Mouse
* Magic-AY
* Turbo Sound
* Amstrad CPC
* X-Mem
* CPC Dandanator
* AMX Mouse
* Supported file systems in the integrated explorer
* FAT 16
* FAT 32
* CPM
* SD Emulation (SPI)
* SD (max 2GB)
* SDHC (max 32GB)
* Development system (ALPHA)
* Editable hexadecimal view
* Editable disassembly view
* Multiple monitors
* Assembler with LUA pre-processor
* Command terminal
You can download it from:
https://www.retrovirtualmachine.org
Thanks a lot! Amazing emulator with full Linux support!
This is Awesome !!! :o :o :o
No cpc+...
Quote from: GOB on 21:50, 22 December 18
No cpc+...
Not yet, the goal of the Beta-2 will be the cpc plus and all the crtc models (now it only emulates the crtc0)
Runs brilliantly well for me on Arch Linux.
Couple of thoughts after a quick test:
Zip support would be nice. Most of my software is zipped (so I know the images won't change)
Mapping the joystick inputs to keyboard would also be useful (because I'm too lazy to get a gamepad/stick to plug in).
Very good been having a play with it today, works well. Does it support joystick emulation? Look forward to plus support. Will it run on Raspberry Pi?
Quote from: jcgamestoy on 22:14, 22 December 18
Not yet, the goal of the Beta-2 will be the cpc plus and all the crtc models (now it only emulates the crtc0)
Will you add an option to emulate the joystick with the keyboard?? And also the posibility of map the buttons?? That would be really good (like capricenforever does)
HelloIt do not work on my machine.Ubuntu 18.10/nviudia drivers 390.87 for Quadro M2200The monitor stays black
Ahhh been waiting for this :)
Looks great and it's obvious that so much wok has gone into it!
I second the argument for zip support, but also, I must be going stupid because I can't figure out how to load a disk? I mean I've switched the drive on, have inserted a disk, and then...? I always get "disk missing"...
Thanks for the great Xmas gift! :)
Oh also, how about file associations? :)
Quote from: Gryzor on 19:04, 23 December 18I second the argument for zip support, but also, I must be going stupid because I can't figure out how to load a disk? I mean I've switched the drive on, have inserted a disk, and then...? I always get "disk missing"...
The drive that you turn on is presumably the external disk drive, so on a 664 or 6128 setup that will be drive B. Try the internal drive at the bottom right of the screen.
Quote from: Gryzor on 19:04, 23 December 18
Ahhh been waiting for this :)
Looks great and it's obvious that so much wok has gone into it!
I second the argument for zip support, but also, I must be going stupid because I can't figure out how to load a disk? I mean I've switched the drive on, have inserted a disk, and then...? I always get "disk missing"...
Thanks for the great Xmas gift! :)
This misunderstanding is happening a lot, I should have labeled the units. Drive A is the bottom one, the one with the power switch is Drive B, see the manual:
https://www.retrovirtualmachine.org/book/usermanual/en/disk.html
Quote from: krusty_benediction on 18:51, 23 December 18
HelloIt do not work on my machine.Ubuntu 18.10/nviudia drivers 390.87 for Quadro M2200The monitor stays black
I'm sorry to hear that, I'm surprised because I program it in ubuntu and also with an nvidia card. What window manager do you use?
Successfully tested with Lubuntu 18.04 on my old i5-2500 / Nvidia GTX-650
Great work, very nice interface, easy to use!
Tested on i7 875K with HD7870O.C and Windows 7 Home Premium x64
Also on a laptop with i5 and intel HD gfx with Linux Mint 19.
Works like a charm, thanks.
Just a pity the emulated 464 doesn't support Disk Drive, otherwise a nice emulator.
Tested it a bit, so far I'm quite impressed, especially by the monitor emulation, which I find quite realistic :) .
Some things I'd like to have:
- A cycle counter in the disassemble area, which can be reset at will.
- I couldn't really grasp how the disassemble window work. I can only see a window of #400 wide. Why? I'd prefer see the whole 64kb, and select the rom configuration (#c1, #c2, etc.).
- I didn't check, but can your loaded SNApshots interpret the (unofficial) breakpoints structures (http://www.cpcwiki.eu/index.php/Format:SNA_snapshot_file_format#Breakpoint_chunk_.28Winape_emulator_specific.29)? Really important for developers.
- I use an external editor to assemble my projects and generate DSK and SNA. Then I use to hack them into Winape by using AutoHotKey to simulate a SNA or DSK insertion. Do you think you can provide some kind of interface to do that? I have no idea how a cross-platform project can handle that... I believe this is impossible :) . (Just thinking about it... I could simply simulate a drag'n'drop...)
- The SNA I've attached to this message does not work, if you want to have a look at it.
- On reloading the software, it would be fine if the windows, or at least the machine, was put back in the state if was (maybe an option about it?).
- The Pause option is great looking, but not very practical. I think a "pause" written somewhere would be more relevant instead of a Fallout-inspired shader on the screen :).
I'm really looking forward the debug feature, since this is what interest me primarily! Awesome work so far!
Quote from: Targhan on 12:16, 24 December 18
- I use an external editor to assemble my projects and generate DSK and SNA. Then I use to hack them into Winape by using AutoHotKey to simulate a SNA or DSK insertion. Do you think you can provide some kind of interface to do that? I have no idea how a cross-platform project can handle that... I believe this is impossible :) . (Just thinking about it... I could simply simulate a drag'n'drop...)
There's a CLI interface, run the app on a console with "-h".
QuoteThere's a CLI interface, run the app on a console with "-h".
Yes I saw that. But I want to automatize. Maybe I can inject external commands to this command line (via AutoHotKey). This is probably what is the simplest. Provided I can load and execute SNA from it (but I guess I can, I didn't check).
Well no, you can't load a SNA or a DSK from command line. This is one more feature request :).
Quote from: Targhan on 15:22, 24 December 18
Well no, you can't load a SNA or a DSK from command line. This is one more feature request :).
I haven't tried it, but that's what it says on the tin.
EXAMPLE: RetroVirtualMachine -b=cpc464 -s snap.sna ;boots a cpc464, and load the snapshot file.
Yes, it works this way but it is not exactly what I want, because it will open a new instance of the emulator. I want to always work on the same instance, so a "load sna" via the integrated command line tool is what I need.
(for the dev: if the sna was not found, a segfault is shown).
Quote from: jcgamestoy on 23:14, 23 December 18
This misunderstanding is happening a lot, I should have labeled the units. Drive A is the bottom one, the one with the power switch is Drive B, see the manual:
https://www.retrovirtualmachine.org/book/usermanual/en/disk.html (https://www.retrovirtualmachine.org/book/usermanual/en/disk.html)
Oh there's an online manual! I had only found the pdf cheat sheet :)
Thanks, that makes more sense!!
Quote from: Targhan on 15:22, 24 December 18
Well no, you can't load a SNA or a DSK from command line. This is one more feature request :) .
SNA no, but is a interesting feature, maybe I add a new command soon.
DSK yes ;D :
mount file.dsk a (or b)
umount a ;to eject the disk
You can access the files in the dsk from the terminal:
cd a@
To return to your hd sys@
By example you can copy files from the hd to the A drive:
cp sys@file a@
I have not much time now, but soon I will begin to document all the debugger.
About the "undocumented" breakpoints is easy doable, but I don't understand the 2 bytes of the condition, is this documented?
Regards
Quote from: Targhan on 15:03, 24 December 18
Yes I saw that. But I want to automatize. Maybe I can inject external commands to this command line (via AutoHotKey). This is probably what is the simplest. Provided I can load and execute SNA from it (but I guess I can, I didn't check).
MMM the ALT+O Hotkey allows you to insert a dsk, cdt or load a snapshot, maybe with this you can automatize...
Quote from: jcgamestoy on 00:48, 26 December 18
About the "undocumented" breakpoints is easy doable, but I don't understand the 2 bytes of the condition, is this documented?
Rasm generate Winape breakpoint with those 2 bytes zeroed. I guess other values are for other kind of breakpoints (I/O, ...)
Then you may skip them? Or reverse Winape breakpoints :P
Quote from: jcgamestoy on 23:16, 23 December 18
I'm sorry to hear that, I'm surprised because I program it in ubuntu and also with an nvidia card. What window manager do you use?
Using Gnome 3. Here is a screenshot (
edit: screenshot removed as not displayed). Whe nthe screen is not black it is probably the very first frame you display.
Here is also the output of your applicaiton :
Retro Virtual Machine v2.0 BETA-1 r0
Linux x64 Build: 6395 - (Sat Dec 22 01:08:19 2018 UTC)
©2018 Juan Carlos González Amestoy.
GLXContext direct
GLXContext direct
App exit successfully
And the output of nvidia-smi while launching your applicaiton :
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.87 Driver Version: 390.87 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro M2200 Off | 00000000:01:00.0 On | N/A |
| N/A 49C P0 N/A / N/A | 1343MiB / 4036MiB | 15% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1483 G /usr/lib/xorg/Xorg 57MiB |
| 0 1648 G /usr/bin/gnome-shell 107MiB |
| 0 3805 G /usr/lib/xorg/Xorg 578MiB |
| 0 4104 G /usr/bin/gnome-shell 369MiB |
| 0 10384 G /usr/lib/firefox/firefox 1MiB |
| 0 20685 G ...uest-channel-token=12055094984229229253 122MiB |
| 0 28430 G RetroVirtualMachine 99MiB |
+-----------------------------------------------------------------------------+
No idea how I can help more
Found another issue, being that the Copy key (is mapped to Right Alt) does not seem to release, unless I close the emulation window, it will remain pressed.
Did confirm that the Right Alt key is working, by mapping Copy to Right Alt in MAME, which works fine.
QuoteMMM the ALT+O Hotkey allows you to insert a dsk, cdt or load a snapshot, maybe with this you can automatize...
Yes indeed. But I believe the "insert snapshot" in your command line tool would be better.
QuoteAbout the "undocumented" breakpoints is easy doable, but I don't understand the 2 bytes of the condition, is this documented?
Just like Roudoudou said, these two bytes are not documented to my knowledge. Simply put 0 and be done with it :).
I tested your emulator on Windows and Linux (Mint), no problem at all!
I installed RVM on my Ubuntu Linux today. Looks really nice (when disabling all those effects that has nothing to do with the CPC).
But I encountered a problem while trying to check out Shadows of Sergoth: Disk is write protected apparently.
Can I do anything about that?
EDIT: mahlemiut opened my eyes for the write protection switch when inserting a disk, but even when I toggle this to unprotected, I'm still met with the write protected error.
EDIT2: Aaah.... I gotta first insert the disk, then switch the toggle..... :)
QuoteLooks really nice (when disabling all those effects that has nothing to do with the CPC).
How did you manage to do that? It's true that the "wow" effect is nice at first, but it goes a bit against what a CPC/Spectrum is about :). I wouldn't mind a "focus mode", but maybe it already exists.
Quote from: Targhan on 15:57, 29 December 18
How did you manage to do that? It's true that the "wow" effect is nice at first, but it goes a bit against what a CPC/Spectrum is about :) . I wouldn't mind a "focus mode", but maybe it already exists.
Once I've started the CPC emulator, I click the icon that looks like a TV.
I pick the preset "CRT Flat"
Don't touch colour, brightness and contrast.
Turn Mask up 3/4 or maybe even all the way up. This looks a lot like what the CPC monitor has in my opinion.
Turn everything else all the way down.
That's what it should look like in my opinion.
Oh OK I see. I thought you managed to disable all the fancy effects in the emulator interface.
I already had some fun reproducing the real CPC screen. I especially like the "ghost effect" and the way you can curve the screen. Quite realistic!
Speaking of the 'fancy' stuff; I think I said it before, but I wish all this was available in a text editor or (better) a terminal program like there's on the Macs...
Quote from: Targhan on 17:30, 29 December 18
Oh OK I see. I thought you managed to disable all the fancy effects in the emulator interface.
I already had some fun reproducing the real CPC screen. I especially like the "ghost effect" and the way you can curve the screen. Quite realistic!
The effect can be made quite realistic I think, I don't like the beam though, never seen that on an Amstrad monitor.
I'm really impressed by the expansions support! :o
For the first time, an emulator allows to add a device that looks to work like the real one.
Just used the INSTALL process with FW3.15, EXPROM, RAMDRIVE, CP/M...
You know what? I will be able to update my tools w/o using the CPC when I'm not at home now!!! :-*
Yeah, that's a nice feature indeed. What is also very nice is that you can save those configs as very easily accessible 'machines'...
The "Paused" and "Warp On" effects are really cool, but... Is it possible a have a real pause "without" to do a screenshot? ;D
Thank you!
Quote from: mahlemiut on 03:08, 28 December 18
Found another issue, being that the Copy key (is mapped to Right Alt) does not seem to release, unless I close the emulation window, it will remain pressed.
Did confirm that the Right Alt key is working, by mapping Copy to Right Alt in MAME, which works fine.
Windows? Linux? Mac?
Quote from: TotO on 10:47, 30 December 18
I'm really impressed by the expansions support! :o
For the first time, an emulator allows to add a device that looks to work like the real one.
Just used the INSTALL process with FW3.15, EXPROM, RAMDRIVE, CP/M...
You know what? I will be able to update my tools w/o using the CPC when I'm not at home now!!! :-*
;D
I had to study well the datasheet of the windbond flash chip... I have a preliminary implementation of sst in the next version maybe I will put the two models of your x-mem board.I also want to add the x-mass and the m4... but there is a lot of work to do
Quote from: TotO on 18:01, 30 December 18
The "Paused" and "Warp On" effects are really cool, but... Is it possible a have a real pause "without" to do a screenshot? ;D
Thank you!
Yes using the debugger, (ALT+S/CMD+S)
Quote from: jcgamestoy on 00:06, 31 December 18
Yes using the debugger, (ALT+S/CMD+S)
I was sure to find it somewhere! :-\
About the X-MEM settings, there is a typo on: "Manag
ue Roms..." (u).
Emulating the X-MASS should not be a big problem I think, as it is mainly a 8bit IDE "virtual drive".
I can see you are emulating a 6ch AY for Spectrum. If you require a PlayCity (http://www.cpcwiki.eu/index.php/PlayCity) to do the same for CPC, let me know! ;)
Hi there! Now I had some looks at it and this is my impression:
- Very well polished
- Much new features
- Great to see it contains Dandanator and X-MEM
- Installation to X-MEM works
However... sad thing is FutureOS doesn't work. It would be great it this can be changed, especially since the installer from X-MEM does actually work, but the OS itself does not. I really hope that some update could fix this. :)
I just spent few time testing the emulator and I have to say, it's very promising, very refreshing.
The console command + ability to tweak the screen is awesome. I admit few options (for the screen) seems to do nothing (or at least, I did not find any usage for it).
phX demo works like a charm, including the ending scrolling involving RVI.
Cross-platform is really nice. I tested OSX version.
Note that on OSX, I use a program called "Magnet" that allow to "dock" (cf. move/resize) panels (it's system-wide, works with all programs). For an unknown reason, it does not work with the emulator.
Quote from: jcgamestoy on 22:14, 22 December 18Not yet, the goal of the Beta-2 will be the cpc plus and all the crtc models (now it only emulates the crtc0)
Yes, I second that. Support for other CPCs + Plus/GX-4000 machines (.cpr files) would be splendid !
For now I will continue to stick with WinAPE for development purposes. Looking forward for future versions!
I haven't read through this whole thread, so I dunno if anyone has suggested this yet:
Add a way to paste text (typically a BASIC listing) into a textarea field, to have the emulator create that program. Useful for copying listings on the forum into the emulator.
Quote from: norecess on 01:24, 01 January 19Note that on OSX, I use a program called "Magnet" that allow to "dock" (cf. move/resize) panels (it's system-wide, works with all programs). For an unknown reason, it does not work with the emulator.
I'm using the OSX version too, and an issue I have found is the "open file" window looks to not filter the files using keywords (i.e. dsk).
Nice emulator approach. One question. In the manual for cpc it says that the COPY button is the Right ALT. It doesn't seems to work for me. Is it my keyboard layout?
Quote from: vasilisk on 22:31, 03 January 19
Nice emulator approach. One question. In the manual for cpc it says that the COPY button is the Right ALT. It doesn't seems to work for me. Is it my keyboard layout?
Same here
Quote from: vasilisk on 22:31, 03 January 19
Nice emulator approach. One question. In the manual for cpc it says that the COPY button is the Right ALT. It doesn't seems to work for me. Is it my keyboard layout?
?? On which operating system? Which keyboard map?
Personally I'm using the OSX system and no problem with the copy feature. (except that I will prefert to use LEFT ALT to match with the 6128 layout, or both)
Quote from: jcgamestoy on 10:56, 08 January 19
?? On which operating system? Which keyboard map?
Win7 x64 Ultimate English, English and Greek Keyboard layout.
And win7 x64 home premium :)
Quote from: VincentGR on 18:01, 08 January 19
And win7 x64 home premium :)
Does it work for you or not?
No copy key
I dont know if the problem is the regional settings or the actual keyboard itself ::)
Quote from: vasilisk on 17:56, 08 January 19
Win7 x64 Ultimate English, English and Greek Keyboard layout.
You are right, it is already fixed (and many more things) in the new Beta-1 R2 version that is on the website.
See the Change Log
https://www.retrovirtualmachine.org/book/usermanual/en/changelog.html
And download from:
https://www.retrovirtualmachine.org
It's on the opposite side but works, thanks!!!
Quote from: VincentGR on 20:33, 09 January 19
It's on the opposite side but works, thanks!!!
Right = Droite Left = Gauche ! :-*
Quote from: TotO on 20:18, 10 January 19
Right = Droite Left = Gauche ! :-*
Heeeeey, I need a RAM expansion and that thingy to use it with my M4 WIFI
Yes. COPY is now working :D
@VincentGR (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1053)
He propably assigned the RightALT for Copy because the Left is used for the emulator Shortcuts.
If I remember correct the reset was with CTRL+LeftShift+ESC?
Also, how do we change the default keys for player 1?
Quote from: vasilisk on 21:05, 10 January 19
If I remember correct the reset was with CTRL+RightShift+ESC?
On CPC, I always do a soft reset using the left hand only... ;) (same key code for both SHIFT or CTRL keys)
Same issue still persists for me in r2, COPY still never released, only now it persists after a Machine Reset.
Quote from: krusty_benediction on 18:51, 23 December 18
HelloIt do not work on my machine.Ubuntu 18.10/nviudia drivers 390.87 for Quadro M2200The monitor stays black
Problem fixed. I guess it is a consequence of an issue with the sound stack of my machine. These days, my OS did not recognize my sound card. Today it recognizes it and the emu works.
I guess a fix would be to allow the emulator to work on a machine without sound card
Quote from: jcgamestoy on 20:25, 09 January 19
See the Change Log...
Thanks for the update. Sadly FutureOS still does crash on it. Will there be a fix? :)
Cool, the R4 fixes the chaseHQ loading problem 8)
Retro Virtual Machine 2.0 BETA-1 R5
- Assembler Fixed a bug in the parser that prevented to emit the opcodes "im 1" "im 2" and "im 0".
- Tape When a new tape is created, it is unprotected against writing by default.
- Tape Changed the sense of the write-protect switch to be in line with the floppy drive one.
- Windows The top bar did not hide itself if the task explorer was open especially in Windows 7.
- +3E Corrected the wrong icon of the +3E.
- Amstrad CPC Adjusted the tolerance to the H-Sync in the monitor so that the first screen of One Screen Colonies works (without breaking Darkman).
- ZX-Uno Fixed bug that caused DMA not to work properly in turbo modes
Good! But Amazing Demo from Logon system (|cpm version) part 2 crashes!
Madness Demo from Gozeur/Contrast doesn't run very well too!
Quote from: XeNoMoRPH on 09:16, 31 January 19
Retro Virtual Machine 2.0 BETA-1 R5
- Assembler Fixed a bug in the parser that prevented to emit the opcodes "im 1" "im 2" and "im 0".
- Tape When a new tape is created, it is unprotected against writing by default.
- Tape Changed the sense of the write-protect switch to be in line with the floppy drive one.
- Windows The top bar did not hide itself if the task explorer was open especially in Windows 7.
- +3E Corrected the wrong icon of the +3E.
- Amstrad CPC Adjusted the tolerance to the H-Sync in the monitor so that the first screen of One Screen Colonies works (without breaking Darkman).
- ZX-Uno Fixed bug that caused DMA not to work properly in turbo modes
Nice, however I have a question, where is this key mapped, its not in the same place on my keyboard that I can find.
Quote from: tjohnson on 23:31, 03 February 19Nice, however I have a question, where is this key mapped, its not in the same place on my keyboard that I can find.
Probably at the opposite side of the same raw, because the "PC/Mac" keyboard is shifted.
It will be great to be able to use this "virtual" keyboard too (some laptop can't access to the functions keys).
Quote from: Ast on 13:15, 31 January 19
Good! But Amazing Demo from Logon system (|cpm version) part 2 crashes!
Madness Demo from Gozeur/Contrast doesn't run very well too!
Thank you so much for the notice.
It has taken me a week of madness to make the demo "Madness" work. Anyway all these changes are made in the Beta-2 branch so they will be available in the release that I have planned for the end of the year, along with all the CRTC models.
Quote from: tjohnson on 23:31, 03 February 19
Nice, however I have a question, where is this key mapped, its not in the same place on my keyboard that I can find.
It is mapped to two keys, because they are the only keys that change Scancode between the different keyboard layouts.
See the cheatsheet.pdf file attached with the emulator.
But anyway, with the key to the left of the '1' or the key to the left of the 'z'.
Quote from: GUNHED on 16:04, 12 January 19
Thanks for the update. Sadly FutureOS still does crash on it. Will there be a fix? :)
Crash?
I installed it, but I have no idea how to use it.
I installed it directly from the dsk (English version) with option 11 (Xmem-6128)
Once installed with '|os' it seems to work correctly
Downloaded new R5, installed with option 11 as you did. After !os there is a crash, I will try tomorrow again. Maybe the selected CPC has problems. :-X
EDIT: Created an new CPC6128 with X-MEM, still doesn't work. Its Windows 7, 64 bit.
Can somebody please check?
Hi @jcgamestoy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1202), some suggestions for next releases:
- the "Video adress" field seems to be updated only when using raster display -> display the value every time
- add a counter of lines between two VBL (displayed in green when 312, orange when -5/+5, else red) + corresponding Hz refresh like in ACE emulator
- add a counter of nops between two HBL (displayed green when 64 else red)
- add some shortcuts for trace in debuger (like Winape? F7, F8, ...)
- add a nop counter + reset valueThanks
Quote from: roudoudou on 14:46, 06 February 19
Hi Xenomorph, some suggestions for next releases:
- the "Video adress" field seems to be updated only when using raster display -> display the value every time
- add a counter of lines between two VBL (displayed in green when 312, orange when -5/+5, else red) + corresponding Hz refresh like in ACE emulator
- add a counter of nops between two HBL (displayed green when 64 else red)
- add some shortcuts for trace in debuger (like Winape? F7, F8, ...)
- add a nop counter + reset valueThanks
Sorry for confusion , i'm not author :( , is @jcgamestoy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1202)
sorry, i fix the MSG ;D
found a bug when the emulator auto-save an EDSK
modified DATA tracks does not have the Sector Size info to 2 but 0
below a dump of a DATA floppy where directory+file were modified on the first 2 tracks
Side 0 Track 00 contains 9 sector(s) GAP3:4E Fill:E5 SS:0 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
Side 0 Track 01 contains 9 sector(s) GAP3:4E Fill:E5 SS:0 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
Side 0 Track 02 contains 9 sector(s) GAP3:4E Fill:E5 SS:2 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
Side 0 Track 03 contains 9 sector(s) GAP3:4E Fill:E5 SS:2 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
@jcgamestoy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1202)
Hi there. Amazing work you've done there. Both with the emulator as well as with the site! I tried it under Windows but if it works the same under Linux and Mac... great!
I wouldn't know where to begin with suggestions, so i'll just say this: it would be useful to have tooltips on the (several) buttons that exist in the UI, for quick reference (got this feeling mainly from the "developer mode"). The interface, compared to other emulators is rather "modern", so it will take some time to get used to it.
If you don't mind me asking, in what language/tool is it written?
EDIT: two things that bug me:
1. It would be great if in a future release, there was an option to swap the ALT ("copy" button) between LEFT and RIGHT ones (use left ALT for "copy" and right for emulator actions).
2. When you have selected a green monitor (Amstrad CPC) and you press the Hammer button, it toggles between developer mode and normal mode. In Normal mode you see the "green" monitor but when developer mode is entered, the monitor becomes "colour". Why?
Quote from: roudoudou on 19:12, 09 March 19
found a bug when the emulator auto-save an EDSK
modified DATA tracks does not have the Sector Size info to 2 but 0
below a dump of a DATA floppy where directory+file were modified on the first 2 tracks
Side 0 Track 00 contains 9 sector(s) GAP3:4E Fill:E5 SS:0 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
Side 0 Track 01 contains 9 sector(s) GAP3:4E Fill:E5 SS:0 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
Side 0 Track 02 contains 9 sector(s) GAP3:4E Fill:E5 SS:2 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
Side 0 Track 03 contains 9 sector(s) GAP3:4E Fill:E5 SS:2 / ID:C1 (2) - C2 (2) - C3 (2) - C4 (2) - C5 (2) - C6 (2) - C7 (2) - C8 (2) - C9 (2)
You are right. I will fix this.
Anyway the size sector field in the track header is useless in a edsk cause each sector has is own size field.
Thanks ;)
Quote from: Wanderer on 18:20, 11 March 19
@jcgamestoy (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1202)
Hi there. Amazing work you've done there. Both with the emulator as well as with the site! I tried it under Windows but if it works the same under Linux and Mac... great!
I wouldn't know where to begin with suggestions, so i'll just say this: it would be useful to have tooltips on the (several) buttons that exist in the UI, for quick reference (got this feeling mainly from the "developer mode"). The interface, compared to other emulators is rather "modern", so it will take some time to get used to it.
If you don't mind me asking, in what language/tool is it written?
EDIT: two things that bug me:
1. It would be great if in a future release, there was an option to swap the ALT ("copy" button) between LEFT and RIGHT ones (use left ALT for "copy" and right for emulator actions).
2. When you have selected a green monitor (Amstrad CPC) and you press the Hammer button, it toggles between developer mode and normal mode. In Normal mode you see the "green" monitor but when developer mode is entered, the monitor becomes "colour". Why?
The emulator part is written in plain C. The UI in Lua (luajit).
1. in future versions there will be a panel to configure the keyboard
2.
The explanation is that when you enter the debugger what you see is the view you have selected at the bottom.By default it is the view of the last complete frame that has been shown in the monitor.
More info:
https://www.patreon.com/posts/debugger-part-i-24672534 (https://www.patreon.com/posts/debugger-part-i-24672534)
Quote from: jcgamestoy on 21:01, 11 March 19
The emulator part is written in plain C. The UI in Lua (luajit).
1. in future versions there will be a panel to configure the keyboard
2. The explanation is that when you enter the debugger what you see is the view you have selected at the bottom.
By default it is the view of the last complete frame that has been shown in the monitor.
More info:
https://www.patreon.com/posts/debugger-part-i-24672534 (https://www.patreon.com/posts/debugger-part-i-24672534)
Ah, i see. OK then, thanks for all the info.
Quotev2.0 BETA-1 R6 06/04/2019
- DSK Prevent the emulator from hanging when opening ZX Spectrum Driller +3
- APP Prevent the application from not opening if there is a problem with the options file.
okok
Oh, there's a donation button? Didn't see that!
...and donated :)
Wow!
Two questions...
- Can I use Parados with it?
- Can it be loaded in Retropie easily?
Quote from: jcgamestoy on 12:03, 22 December 18
At last today launch my new emulator.
https://youtu.be/OgZj4dzcBRg (https://youtu.be/OgZj4dzcBRg)
Features
v2.0.Beta-1.r0 22/12/2018
* Multiplatform
* Windows (Vista+)
* Linux
* MacOs (10.9+)
* Multi System
* ZX Spectrum
* ZX Spectrum 16k
* ZX Spectrum 48k (issue2/3/+/+English)
* ZX Spectrum 128k (eng/spa)
* ZX Spectrum +2 (eng/spa/fr)
* ZX Spectrum +2A (4.0eng/4.0spa/4.1eng/4.1spa)
* ZX Spectrum +3 (4.0eng/4.0spa/4.1eng/4.1spa)
* ZX Spectrum +2E (eng/spa)
* ZX Spectrum +3E (eng/spa)
* Inves Spectrum +
* ZX-Uno (v4.1/v4.2)
* Amstrad CPC
* Amstrad CPC 464 (CRTC-0)
* Amstrad CPC 664 (CRTC-0)
* Amstrad CPC 6128 (CRTC-0)
* Multi machine
* Possibility of opening several machines in parallel
* Virtual Cassette
* Support TAP,TZX,PZX,CSW,CDT in playback or recording.
* Floppy disks
* Low level disc (mfm)
* New implementation of upd765
* HFE/DSK support
* Monitor
* Emulation of synchronism (H-sync/V-sync)
* New Shader
* Joysticks / Gamepad
* Autodetection
* Devices
* ZX Spectrum
* DivMMC
* Kempston Mouse
* Magic-AY
* Turbo Sound
* Amstrad CPC
* X-Mem
* CPC Dandanator
* AMX Mouse
* Supported file systems in the integrated explorer
* FAT 16
* FAT 32
* CPM
* SD Emulation (SPI)
* SD (max 2GB)
* SDHC (max 32GB)
* Development system (ALPHA)
* Editable hexadecimal view
* Editable disassembly view
* Multiple monitors
* Assembler with LUA pre-processor
* Command terminal
You can download it from:
https://www.retrovirtualmachine.org (https://www.retrovirtualmachine.org)
https://youtu.be/sCGbZpRFSj0
Oooh! MSX1 only?
Also: how awesome is that tune...
Quote from: Gryzor on 12:12, 07 June 19
Oooh! MSX1 only?
Also: how awesome is that tune...
for the moment, he wants to emulate MSX1 perfectly, then he will get more systems
Quote from: XeNoMoRPH on 12:47, 07 June 19for the moment, he wants to emulate MSX1 perfectly, then he will get more systems
Had been nice to emulate properly the CPC CRTC (at less 0 and 1) first so! ;D
Well, that makes sense!
Quote from: TotO on 12:50, 07 June 19
Had been nice to emulate properly the CPC CRTC (at less 0 and 1) first so! ;D
QuoteNuevo video / new video. New implementation of the Amstrad CPC. More accurate, CRTC-1 support... We are working!!! Stay tunned!!!
https://youtu.be/YJoIQjg8FGw
https://twitter.com/retrovm/status/1140543621411889153
Wohoo!! ASIC support is a major win for me. A big thank you from a recently-converted Linux user. :)
In the long term, I hope the emulator will support all possible edge cases that makes current development so challenging (no PRI at line #37, Plus Vectored Interrupt Bug (http://www.cpcwiki.eu/index.php/Plus_Vectored_Interrupt_Bug (http://www.cpcwiki.eu/index.php/Plus_Vectored_Interrupt_Bug)) and its workarounds (cf. A13 memory configuration), VCC=R4 equals clipped sprites vertically, GX4000 mode where Bank C1/C3 does not work (but work for Amstrad Plus machines), etc.). And a dedicated visualizer that equals WinAPE in term of features (needs to see ASIC Palette, ASIC internal registers.. see http://www.winape.net/help/asic_registers.html).
Asic+Linux :o
Yeaaaaaaaaaah!
So here I am very happy to hear this news :-)
Very good job.
Remains to match and do better than the development tools provided by WinAPE, and we hold the ultimate multiplatform emulator.
Sad for ACE (private joke to Offset hehe) :-D
Still about having the most-accurate ASIC emulation: not all ASIC registers are R/W (please refer to the revised Arnold spec: http://www.cpcwiki.eu/index.php/Arnold_V_Specs_Revised#New_Register_Map (http://www.cpcwiki.eu/index.php/Arnold_V_Specs_Revised#New_Register_Map), more details for correct behavior is described in section "Reading of unmapped ASIC register RAM")
For example, WinAPE allows LD A, (#6800) (PRI register) and returns good value while it's actually forbidden on real hardware. Those things can be a nightmare to catch !!
Quote from: Golem13 on 09:51, 18 June 19
Remains to match and do better than the development tools provided by WinAPE, and we hold the ultimate multiplatform emulator.
Sad for ACE (private joke to Offset hehe) :-D
None of these emulators are multiplatform, they only work on PeeCee. :)
https://twitter.com/retrovm/status/1146393914074640384
QuoteSome fixes for things to come, and other fixes for things that weren't going right.
Quotev2.0 BETA-1 R7 10/07/2019
- UPD765 Fix the format track overflow bug. Thanks to Francisco González for the report.
- CPC6128 Fix the partial decoding of the IO port of the PAL chip. Thanks to Thomas Bressel for the report
- UI Fixed that the emulator hangs when there are a "unknown" ;) machine in the machine.lson startup file
- MACOS The App is "notarized" by Apple now!!!!, ahead of the macOs 10.15 Catalina requirements
https://twitter.com/retrovm/status/1153623289522216960
https://youtu.be/nz2V-NWMZEk
https://youtu.be/p0D1IzzcR58
I really want to congratulate the author of this emulator which is enriched from days to days of functionality. It's beautiful, it's user friendly: congratulations !!
I hope to see it soon in real !
This is nice... Nowadays I have a Mega Sg so no need for Sega emulation, but impressive nonetheless!
Just wanted to add my congratulations to the author of the emulator. It's smooth, beautiful, user-friendly, ... a real 10/10
Enhorabona!
This is a very slick application, I'm impressed.
But is there a little bit of keyboard lag compared to the real thing? I just played a little Dawn of Kernel and was struggling (more than usual).
Hm, I played some games with keyboard on this like THRUST for example, I didn't notice any lag here (MacOS Version btw) ...
https://youtu.be/CS0ydqpBHkI
November Update
https://www.patreon.com/posts/november-update-31861170? (https://www.patreon.com/posts/november-update-31861170?)
Quote from: XeNoMoRPH on 19:50, 18 September 19
https://youtu.be/CS0ydqpBHkI (https://youtu.be/CS0ydqpBHkI)
Ohhhh ! This space harrier tune is Always so greattt ! Thank you !
I tried 2.0 BETA-1 R7 (as written on the official website, why do they SHOUT the version number, that's unnecessary).
TL;DR: nice emulation quality, bad user interface that does the annoying non-necessary steps but gets the essential steps wrong. Very nice ground to build upon because of emulation quality (Z80, CRTC, etc). Urgent wish: add possiblity to disable eye candy.
Techno used?
What technology (language/environment/API) is used to create that?
This command:
nm RetroVirtualMachine | cut -f 3 -d " " | grep -o "^[^_]*" | sort | uniq -c | sort -n | tail -n 20
58 wl
60 GLES2
62 stbtt
65 Wayland
65 WAYLAND
73 recff
73 stbi
88 lua
106 mz
119 z80ldr
129 bit
141 fold
332 resource
334 X11
398 luaJIT
464 res
464 set
579 glad
819 lj
2421 SDL
and this error message:
ERROR IN THE THREAD apps/rvm/code/rvm/controller/main.lua:261: Machine allready opened
stack traceback:
[C]: in function 'error'
apps/rvm/code/rvm/controller/main.lua:261: in function '__openCB'
code/ne/window.lua:888: in function 'saveResponse'
code/ne/window.lua:523: in function 'doEvent'
code/__bootAppThread.lua:102: in function 'doLoop'
[string "doLoop()"]:1: in main chunk
...suggests that :
* it's written with C for low-level (not C++)
* with most logic programmed in lua running on a built-in lua interpreter,
* targets OpenGL for input and output
* with OS portability provided by SDL.
Yet the visual style (resizing icons, boucing panels, etc) suggests HTML/CSS/JS/Electron stack, which it most certainly is not.
Perhaps another framework on top of that provides some middle layer?
Can anyone confirm the technology used? I could find no information on the website.
Personal opinion
Impressive work!
I ran a random conformance test from Kevin Thacker's website, one about Z80 emulation faithfulness and it fully succeeded. By comparison others like caprice32 fail.
On the annoying side
I'm not fond of eye candy. To me, moving backgrounds are silly, bouncing panels are just plain ridiculous, booming speakers are at best a sound monitoring feature.
The user experience is bad bad bad. Somehow powerful (create and configure several machines) but far too complicated, too many steps, unclear icons without tooltip).
10 clicks on 3 windows just to get to a running CPC6128! >:( :picard2: :picard2: :doh:
It would be much better with simple quickstart buttons, one for each machine supported, that bring straight to a running machine with reasonable defaults.
On the plus side
It's really nice to have compatibility with 3 major graphical OSes.
The thing seem to pass Z80 conformance tests.
On the lacking side
I tried the Z80 assembly trace near-impossible to use. I still use arnold, it's still better for now despite important flaws.
On the side side ;-)
Some screen artifacts emulation are too much in my opinion. The "beam" option is not actually a CPC artifact. It might be perhaps an interference between the exact frequency of the CPC (observable via light from screen) vs the exact frequency of the local power source (observable via light from incandescent bulbs around). Anyway, IIRC I don't experience it. Anyway, the RGB mask was much uglier in real life: too big photophors, typically misaligned with pixels, even at an angle, and also misalignment between red, green and blur.
Conclusion
Nice work, great potential to become THE Amstrad CPC emulator.
I would use it for my tests if we could access the lua interpreter and do something interesting with it.
Anyway, to become the ultimate CPC emulator, it would have to become open-source.
Quote from: cpcitor on 05:29, 10 December 19
I tried 2.0 BETA-1 R7 (as written on the official website, why do they SHOUT the version number, that's unnecessary).
TL;DR: nice emulation quality, bad user interface that does the annoying non-necessary steps but gets the essential steps wrong. Very nice ground to build upon because of emulation quality (Z80, CRTC, etc). Urgent wish: add possiblity to disable eye candy.
Hi, I'm the author of this creature.
You're absolutely right about the version number, it was a big mistake to put it that way. The idea was that it will be clear that the emulator was unfinished, for the next version I'll use a "flatter" version number like v2.1.0.
As for the user interface there are people who love it madly and others who hate it deeply. I'm really glad you looked beyond that and saw the accuracy of the emulation. :)
Quote from: cpcitor on 05:29, 10 December 19
Techno used?
What technology (language/environment/API) is used to create that?
This command:
nm RetroVirtualMachine | cut -f 3 -d " " | grep -o "^[^_]*" | sort | uniq -c | sort -n | tail -n 20
58 wl
60 GLES2
62 stbtt
65 Wayland
65 WAYLAND
73 recff
73 stbi
88 lua
106 mz
119 z80ldr
129 bit
141 fold
332 resource
334 X11
398 luaJIT
464 res
464 set
579 glad
819 lj
2421 SDL
and this error message:
ERROR IN THE THREAD apps/rvm/code/rvm/controller/main.lua:261: Machine allready opened
stack traceback:
[C]: in function 'error'
apps/rvm/code/rvm/controller/main.lua:261: in function '__openCB'
code/ne/window.lua:888: in function 'saveResponse'
code/ne/window.lua:523: in function 'doEvent'
code/__bootAppThread.lua:102: in function 'doLoop'
[string "doLoop()"]:1: in main chunk
...suggests that :
* it's written with C for low-level (not C++)
* with most logic programmed in lua running on a built-in lua interpreter,
* targets OpenGL for input and output
* with OS portability provided by SDL.
Yet the visual style (resizing icons, boucing panels, etc) suggests HTML/CSS/JS/Electron stack, which it most certainly is not.
Perhaps another framework on top of that provides some middle layer?
Can anyone confirm the technology used? I could find no information on the website.
You've been very, very close.
I use C for the low level of Opengl and for all the emulation.
Lua (more precisely LUAJIT www.luajit.org) for the rest. It's the fastest VM and it makes me very easy to add new features.
And you're also right that I don't use electron etc. I use my own intermediate layer (made in lua) for the whole user interface. In other words, all the UI is handmade and it's another of the things I have fun doing apart from making the emulator.
As for SDL I used it only for joysticks and sound. In the next version I have eliminated it completely, now I use GLFW for the joysticks and miniaudio for the sound. The management / creation of windows is done by hand because it gives me more control.
Quote from: cpcitor on 05:29, 10 December 19
Personal opinion
Impressive work!
I ran a random conformance test from Kevin Thacker's website, one about Z80 emulation faithfulness and it fully succeeded. By comparison others like caprice32 fail.
On the annoying side
I'm not fond of eye candy. To me, moving backgrounds are silly, bouncing panels are just plain ridiculous, booming speakers are at best a sound monitoring feature.
The user experience is bad bad bad. Somehow powerful (create and configure several machines) but far too complicated, too many steps, unclear icons without tooltip).
10 clicks on 3 windows just to get to a running CPC6128! >:( :picard2: :picard2: :doh:
It would be much better with simple quickstart buttons, one for each machine supported, that bring straight to a running machine with reasonable defaults.
On the plus side
It's really nice to have compatibility with 3 major graphical OSes.
The thing seem to pass Z80 conformance tests.
On the lacking side
I tried the Z80 assembly trace near-impossible to use. I still use arnold, it's still better for now despite important flaws.
On the side side ;-)
Some screen artifacts emulation are too much in my opinion. The "beam" option is not actually a CPC artifact. It might be perhaps an interference between the exact frequency of the CPC (observable via light from screen) vs the exact frequency of the local power source (observable via light from incandescent bulbs around). Anyway, IIRC I don't experience it. Anyway, the RGB mask was much uglier in real life: too big photophors, typically misaligned with pixels, even at an angle, and also misalignment between red, green and blur.
Conclusion
Nice work, great potential to become THE Amstrad CPC emulator.
I would use it for my tests if we could access the lua interpreter and do something interesting with it.
Anyway, to become the ultimate CPC emulator, it would have to become open-source.
The central idea of the emulator (and the user interface) are the virtual machines.
It is true that you have to make many clicks to create a machine but it is a process that you only have to do once. The rest is esqueumorphism (as in the good old days of Apple). The idea is that the user knows how to use the machines remembering what he did with the original models.
Anyway you can boot a CPC6128 from the command line with a single command:
RetroVirtualMachine -b=cpc6128
As for the shader, all effects can be deactivated.
As for emulation. The public version still has some small flaws regarding the emulation of the CRTC, and also only emulates the CRTC-0.
The new version I'm working on (and that I hope to finish when real life allows me) already implements the CRTC in all its models, as well as the ASIC of the CPC+. Although in the latter I still have to do a lot of research work.
Thank you very much for your comments. And delighted to be able to answer all your questions.
I love the gfx filters, though I do know they're not necessarily part of the CPC experience and I only use a couple of them. They're fun!
As for the interface, indeed some things may be superfluous but they do get out of the way easily so no big deal. I really don't mind the logic of composing a machine instead of starting the emulator with a vanilla model and offering settings, though I think it could be done within a single page instead of having to go through the various steps.
Thanks for the awesome project!
Quote from: jcgamestoy on 18:55, 10 December 19
As for SDL I used it only for joysticks and sound. In the next version I have eliminated it completely, now I use GLFW for the joysticks and miniaudio for the sound. The management / creation of windows is done by hand because it gives me more control.
Héhé, I happened to have contributed a little to miniaudio, you can see a few commits on mine in its git history (under my real name see the corresponding issues I opened : https://github.com/dr-soft/miniaudio/issues?q=is%3Aissue+author%3Afidergo-stephane-gourichon+is%3Aclosed especially https://github.com/dr-soft/miniaudio/issues/57 ).
So, there's already a little something from me in retrovirtualmachine. ;-)
Quote from: jcgamestoy on 18:55, 10 December 19
Thank you very much for your comments. And delighted to be able to answer all your questions.
Thanks a lot for answering!
(https://pbs.twimg.com/media/EMaB7kNX0AM_ryp?format=png&name=900x900)
Already?
Is there a way to set the pixel aspect ratio to 1: 1 and / or to switch off post-processing of the image? I tried to adjust the window size to achieve a 640x400 screen and get rid of scaling effects; However, RVM represents 640x434 pixels.
I would love to have a sharp picture at RVM like at Winape.
switch to DEV mode, the icon with the hammer
Quote from: roudoudou on 20:39, 29 January 20
switch to DEV mode, the icon with the hammer
And there?The displayed screen shrinks, but doesnt change anything; postprocessing is still active and also this aspect-ratio leading to an unsharp picture.
Click the hammer...
Quote from: roudoudou on 12:35, 30 January 20
Click the hammer...
Done that, and as i said, nothing changed. the 640x400 of the CPC are displayed as 640x434
Im on (K)ubuntu 18.04. I dont think it will look different on Windows.
Post processing is disabled but i guess there is still a ratio correction due to the pixel ratio of your screen. I have slightly differents values 640x332
Note that pixels on a Real CTM are not square.
Not yet, in the next version I will add a option to have a 1:1 output.
Currently RVM uses the real Aspect Ratio of a cpc, (if I have not failed in my calculations) because in the analog world pixels are never square ;)
As a curiosity, if you load the same loading screen on a ZX 48k or 128k you will see that the aspect ratio is not the same (as on real machines).
In the future version also a cpc 6128+ and a gx4000 do not have the same aspect ratio. But I'm going to add an option to disable it and another one to make the window size in integer multiples
Quote from: Fessor on 20:02, 29 January 20
Is there a way to set the pixel aspect ratio to 1: 1 and / or to switch off post-processing of the image? I tried to adjust the window size to achieve a 640x400 screen and get rid of scaling effects; However, RVM represents 640x434 pixels.
I would love to have a sharp picture at RVM like at Winape.
Quote from: jcgamestoy on 16:38, 03 February 20
Not yet, in the next version I will add a option to have a 1:1 output.
Please do. It's useful to perform exact pixel measurement, which is a different thing from visual assessing of shapes.
Quote from: jcgamestoy on 16:38, 03 February 20
Currently RVM uses the real Aspect Ratio of a cpc, (if I have not failed in my calculations) because in the analog world pixels are never square ;)
As a curiosity, if you load the same loading screen on a ZX 48k or 128k you will see that the aspect ratio is not the same (as on real machines).
What RVM currently does is indeed valuable. It allows to prepare graphics that will look good on a real CPC, not subtly squashed without the author being aware.
This is a use case different from the other one, and both are valid.
Can you share the aspect ratio that you consider "canonical"? This is very useful for people doing work that depends on it. For example, precise 2D or 3D drawing, just drawing a big circle that is indeed circular, for one.
Also, the "official" aspect radio is indeed when preparing artful graphics in an editor that supports different DPI in X and Y directions, like gimp.
Quote from: jcgamestoy on 16:38, 03 February 20
In the future version also a cpc 6128+ and a gx4000 do not have the same aspect ratio. But I'm going to add an option to disable it and another one to make the window size in integer multiples
Are you saying that the cpc6128+ has a ratio different from the cpc6128? I'm surprised. In that case, what are the number?
Thanks!
Quote from: cpcitor on 17:47, 03 February 20
Please do. It's useful to perform exact pixel measurement, which is a different thing from visual assessing of shapes.
What RVM currently does is indeed valuable. It allows to prepare graphics that will look good on a real CPC, not subtly squashed without the author being aware.
This is a use case different from the other one, and both are valid.
Can you share the aspect ratio that you consider "canonical"? This is very useful for people doing work that depends on it. For example, precise 2D or 3D drawing, just drawing a big circle that is indeed circular, for one.
Also, the "official" aspect radio is indeed when preparing artful graphics in an editor that supports different DPI in X and Y directions, like gimp.
Are you saying that the cpc6128+ has a ratio different from the cpc6128? I'm surprised. In that case, what are the number?
Thanks!
Yes, of course.
The calculations are done in mode 2 pixels but by simply multiplying them you can extrapolate to mode 1 or 0
In the PAL standard a video line lasts exactly 64us of which 52us are active video.
In these 52us the cpc gateway makes 16 pixels of mode 2 per us which gives a total of 832 pixels
As for the vertical axis the proportion is one to one exact since the cpc makes (normally if we don't modify the timings of the crtc) 312 lines.
The standard PAL has a resolution (well this is theory since in an analogical television it makes sense to speak of lines and not of pixels) of 768x576. As the CPC makes 832 pixels in the time space there is to show 768 the pixels are smaller on the horizontal axis than normal.
So I use a texture (without overscan) of 832x288 and then using the gpu I scale it to an area with relation 4:3. So if we divide 768/832 the pixels of the cpc are about 92% of the width of a PAL pixel
As for CPC6128+, no, it has exactly the same aspect ratio as the classic cpc.
The one that changes is the GX4000 that Amstrad modified the master clock from 40mhz to 39.9mhz to improve the image on televisions:
[size=78%]http://www.cpcwiki.eu/index.php?title=Plus&redirect=no#The_GX4000_Games_Console (http://www.cpcwiki.eu/index.php?title=Plus&redirect=no#The_GX4000_Games_Console)[/size]
Quote from: jcgamestoy on 18:17, 03 February 20
As for CPC6128+, no, it has exactly the same aspect ratio as the classic cpc.
When the Plus monitor is switched ON it can display 270/271 lines but after a few minutes, it can reach 273 visible lines, will you emulate this? ;D
Quote from: roudoudou on 19:59, 03 February 20
When the Plus monitor is switched ON it can display 270/271 lines but after a few minutes, it can reach 273 visible lines, will you emulate this? ;D
I think I can live with this inaccuracy :D
Quote from: jcgamestoy on 09:30, 04 February 20
I think I can live with this inaccuracy :D
Feature request, i tried to edit config file to change ROM configuration but everything is ciphered. Will it be possible to have a simple configuration
rom0=file
rom1=file
...
up to 255 (i know the plus is limited to 128 ROM on expansion slot)
Quote from: roudoudou on 09:37, 04 February 20
Feature request, i tried to edit config file to change ROM configuration but everything is ciphered. Will it be possible to have a simple configuration
rom0=file
rom1=file
...
up to 255 (i know the plus is limited to 128 ROM on expansion slot)
The machine internal format is changing constantly.
Isn't it easier for you to use an XMEM like on a real machine?
Look Here:
https://www.retrovirtualmachine.org/book/usermanual/en/devices/xmem.html (https://www.retrovirtualmachine.org/book/usermanual/en/devices/xmem.html)
Quote from: jcgamestoy on 13:21, 05 February 20
Isn't it easier for you to use an XMEM like on a real machine?
absolutely not at all because for each ROM i have to open a dialog box, scroll and select (so changing global rom configuration is pain in the 4ss )
But in addition to that, the XMEM is limited to 32 roms ;D whereas the CPC is able to handle 256 roms
and the Plus 128 roms (EDIT: The Plus too!)
https://twitter.com/retrovm/status/1251244618919948288
https://twitter.com/retrovm/status/1251479616235155457
I don't really care about the Colecovision, but that's pretty 🙂
L
Maybe one day you could even emulate the transfer sticker sheets and background art that you would get in boxes of Ready Brek and Weetabix in the late 70s too...
Quote from: cpcitor on 05:29, 10 December 19
Conclusion
Nice work, great potential to become THE Amstrad CPC emulator.
[..]
Anyway, to become the ultimate CPC emulator, it would have to become open-source.
We tested this emulator coming as a BLOB, in a sandbox within our Xubuntu Linux 20.04 .
It runs very well and clearly is an amazing piece of software! Well done, you Spanish CPC lover and thanks for your hard work!
The emulator isn't OpenSource. Is it still safe to run it in my OpenSource-only Debian based Ubuntu Linux without a sandbox? Like Cpcitor, we would very very much appreciate to have OpenSource software in these awful Edward-Snowden-times.
P.S. Where does the big size of the executable (~80 MByte) come from? From all those extra ROMs being bundled internally?
+1 for open-source ;D
Is there a possibility to take a screenshot of the game running from the emulator itself?
I did a quick tour of the options but I didn't find it ... ::)
a
https://youtu.be/G9G9JK-L9Vs
rred
Quote from: WiltshireWizard on 17:37, 30 June 20
Just use Lightshot. Ive been using it for years to screenshot anything that runs on my PC. Very powerful little tool.
I would prefer an option to take a screenshot using the CPC's native resolution without any blurring of pixels, and while Lightshot may be a useful tool, it can't solve this problem.
Is there any way to associate dsk files with the app?
Quote from: Gryzor on 10:25, 22 September 20
Is there any way to associate dsk files with the app?
Not yet, the problem with RVM is to which machine send the disk you double clicked on.
I think I will solve it by being able to select a "default" machine, but I have to add all this to the UI
Yes, I thought of that issue as well, but indeed a default option could sort it in the short term. In the long term, perhaps a selector could redirect?
I start to handle RVM debugger and I don't know which assembly you use, but what do you think to use rasm ?
It's compatible with pasmo, maxim etc...
Can add break point etc ...
It would be a killer feature to add it.
Quote from: Sid_ on 21:01, 22 September 20
I start to handle RVM debugger and I don't know which assembly you use, but what do you think to use rasm ?
It's compatible with pasmo, maxim etc...
Can add break point etc ...
It would be a killer feature to add it.
Hey, rasm may be used embedded BUT the killer feature of RVM would be to allow command line snapshot, cartridge, roms, ...
Because after the assembler question will be the editor question ;D :-X :laugh:
A priori embedded usage is to allow tools to generate binaries (like Arkos Tracker 2 8) )
QuoteWell, now that I have more time to dedicate to the hobby of making the emulator, the development is accelerating.
And today after too much silence here, I present the latest addition. The ZX Spectrum Next!!!
https://twitter.com/retrovm/status/1395704184721317896 (https://twitter.com/retrovm/status/1395704184721317896)
Oh. Never ever have I understood the appeal of the Next but why not I suppose :D
i hope Amstrad Plus support is not on a dead-end :-X
Quote from: roudoudou on 17:03, 21 May 21
i hope Amstrad Plus support is not on a dead-end :-X
I tried the Alpha versión of patreon, and cpc plus works fine.
https://youtu.be/FLI5j29MMEo
I do like this emulator, but there are a couple of things I don't like....
Sprites seem very flickery, and I've not found any settings that reduce this. Particularly playing Brick Rick - this doesn't happen on other emulators or (that I can see) on a real CPC. I've been trying to use it for screenshots and it makes it impossible as sprites are either half-drawn or not there.
The other thing is, the lag when using the gamepad on my Mac is obscene, but this may be down to my set-up rather the the emulator itself....
Hi I am the author of rvm, sorry to hear of the problems you are having and it has me intrigued as this is the first time I have heard of any flicker problems.
You can send me an email (to the address on my website) with more information such as operating system, machine on which you run it etc...
A small video would also help.
Regards.
Quote from: Skunkfish on 10:57, 28 November 21
I do like this emulator, but there are a couple of things I don't like....
Sprites seem very flickery, and I've not found any settings that reduce this. Particularly playing Brick Rick - this doesn't happen on other emulators or (that I can see) on a real CPC. I've been trying to use it for screenshots and it makes it impossible as sprites are either half-drawn or not there.
The other thing is, the lag when using the gamepad on my Mac is obscene, but this may be down to my set-up rather the the emulator itself....
I'm using RVM on my old MacBook Pro from 2012 and I never had any sprite flickering or any lag using my PS4 Pad on the MacBook ... Just for info 8)
Quote from: Skunkfish on 10:57, 28 November 21
I do like this emulator, but there are a couple of things I don't like....
Sprites seem very flickery, and I've not found any settings that reduce this. Particularly playing Brick Rick - this doesn't happen on other emulators or (that I can see) on a real CPC. I've been trying to use it for screenshots and it makes it impossible as sprites are either half-drawn or not there.
The other thing is, the lag when using the gamepad on my Mac is obscene, but this may be down to my set-up rather the the emulator itself....
I'm not sure, but the problem you mentioned about half-drawn sprites may be due to the type of screen selected. RVM tries to emulate CRT monitors and adds effects of that type. If you select LCD monitor, you may not have that problem. In any case jcgamestoy can explain you better.
Hmmm, I do not use Emulators on a regular base but sometimes I like to test some things ... I just realised that RVM stopped working on my MacBook Pro with macOS 10.15.7 :(
It just crashes before I can get into the Machine selection, only Option is to try "ReOpen" but it still crashes :(
Any ideas ?
https://twitter.com/retrovm/status/1480860090232102915
https://twitter.com/retrovm/status/1487041705153024003?t
Good news, I'm waiting for the Plus support for while ;D
https://twitter.com/Genesis8bit/status/1558054006768996353
https://twitter.com/retrovm/status/1606007771647725568
Looking forward to this, now is that Sonic for the Master System or Sonic GX?
Quote from: Skunkfish on 15:41, 23 December 22Looking forward to this, now is that Sonic for the Master System or Sonic GX?
Sonic GX is a Game for GX4000 and plus models
But this emulator plays Master System games as well though?