Lets actually try Hybrid Emulation
-
- Top Contributor
- Posts: 375
- Joined: Sun Sep 27, 2020 10:16 am
- Has thanked: 209 times
- Been thanked: 87 times
Re: Lets actually try Hybrid Emulation
What are the OC capability of the arm chip on the DE-10? Anyone tried to give it an OC? Is that even possible?
(I actually asked in the wrong topic, but that's relevant here as well I guess)
(I actually asked in the wrong topic, but that's relevant here as well I guess)
Remastering Classic Game Cinematics: My new Youtube fun, check it out
https://www.youtube.com/@neocaron87
Re: Lets actually try Hybrid Emulation
This switching script is really convenient, thank you. Yes the . after MiSTer binary sets the home folder.Caldor wrote:Updated the script I made inspired by raparici. So now its one script that checks if MiSTerHybrid is running (I rename it to MiSTerHybrid instead of just MiSTer) and then kills the MiSTer main that is running and runs the other main, hybrid or non-hybrid.
Re: Lets actually try Hybrid Emulation
Your are right I was missing turning Fast IDE off. While Fast IDE is off I just had one hd type crash by repeatedly triggering the sysinfo disk speed test. But even that I couldnt reproduce again. Without Fast IDE it seems solid enough but slow.
The largest issue I come across now is launching whdloads, they all crash very early before the window pops up.
Would it be very complicated to isolate the FPU and just emulate the FPU along with TG68K? I am curious about doing an FPU alone test.
cheers
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
Would be an interesting option. The current QEMU CPU already does the FPU expansion emulation type, the 060 CPUs I think it was, had FPU built into them when they had FPU. But I think at least 020 and 030 used this external FPU and just to be able to use that would be nice to have. I think at least it would make a few demos possible that could not run before.raparici wrote: ↑Fri Jan 21, 2022 1:23 amYour are right I was missing turning Fast IDE off. While Fast IDE is off I just had one hd type crash by repeatedly triggering the sysinfo disk speed test. But even that I couldnt reproduce again. Without Fast IDE it seems solid enough but slow.
The largest issue I come across now is launching whdloads, they all crash very early before the window pops up.
Would it be very complicated to isolate the FPU and just emulate the PFU along with TG68K? I am curious about doing an FPU aline test.
cheers
Re: Lets actually try Hybrid Emulation
So I ran the uaearm binary I posted before (i.e. emulation of cpu AND chipset - no core stuff except fbdev). This is running with MiSTer still in the background. This is with JIT enabled.
So, sysinfo looks much better, particularly FPU. Real dhrystones is pretty close to qemu.
Anyway seems worth trying (again!) to rip out the emulation side of it and trying it with the core as a backend.
So, sysinfo looks much better, particularly FPU. Real dhrystones is pretty close to qemu.
Anyway seems worth trying (again!) to rip out the emulation side of it and trying it with the core as a backend.
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
This looks pretty amazing. Also... might make sense to have pure emulation as an option even, like we have ScummVM as a core, and just be able to also run the emulator. Then it should become possible to also see the benefits of hybrid... or if there are benefits, compared to doing emulation or the core each on their own.foft wrote: ↑Fri Jan 21, 2022 4:35 pm So I ran the uaearm binary I posted before (i.e. emulation of cpu AND chipset - no core stuff except fbdev). This is running with MiSTer still in the background. This is with JIT enabled.
So, sysinfo looks much better, particularly FPU. Real dhrystones is pretty close to qemu.
Could you share the uaearm binary maybe?
Re: Lets actually try Hybrid Emulation
First of all, thanks for all the efforts you are trying here.
The closest you get to emulation on ScummVM is the z-machine which is a VM running the lisp derivate in a vm, in which Infocom games were written. They used VM just like Java any many other languages do to port their games easily to other systems.
(quite an achievement in the 8 bit 32/64byte era)
I know this is slightly off topic but I wanted simply to correct this. Sorry for interrupting this really interesting thread with this.
Just a small sidemark to clear things up, ScummVM is not really an emulation it does not emulate actual hardware, it is more a games engine which basically mutated into a multi games engine.This looks pretty amazing. Also... might make sense to have pure emulation as an option even, like we have ScummVM as a core.
The closest you get to emulation on ScummVM is the z-machine which is a VM running the lisp derivate in a vm, in which Infocom games were written. They used VM just like Java any many other languages do to port their games easily to other systems.
(quite an achievement in the 8 bit 32/64byte era)
I know this is slightly off topic but I wanted simply to correct this. Sorry for interrupting this really interesting thread with this.
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
True, that is what makes ScummVM so great. They remade every engine and changed the source code so it can be compiled for any system. Whatever you run ScummVM on is having it run natively on that hardware. My point though is just that its ARM based and not FPGA based... although I am a bit unsure about the MiSTer core for ScummVM. Not sure if maybe it does some parts of it in FPGA logic, which would make it a hybrid core. The hybrid part is not whether the ARM does emulation, but just that it handles some of the work.werpu wrote: ↑Mon Jan 24, 2022 8:37 pm First of all, thanks for all the efforts you are trying here.
Just a small sidemark to clear things up, ScummVM is not really an emulation it does not emulate actual hardware, it is more a games engine which basically mutated into a multi games engine.This looks pretty amazing. Also... might make sense to have pure emulation as an option even, like we have ScummVM as a core.
The closest you get to emulation on ScummVM is the z-machine which is a VM running the lisp derivate in a vm, in which Infocom games were written. They used VM just like Java any many other languages do to port their games easily to other systems.
(quite an achievement in the 8 bit 32/64byte era)
I know this is slightly off topic but I wanted simply to correct this. Sorry for interrupting this really interesting thread with this.
Well, lets see how it tests out. With emulation its not always as reliable so the performance in the benchmarks might look better than it is practically.
- pgimeno
- Top Contributor
- Posts: 709
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: Lets actually try Hybrid Emulation
It's doing video, for sure. The menu core serves as framebuffer for Linux in general; whatever runs in the Linux console (including everything under the Scripts menu), uses the menu core as a display. I'm not so sure about the scaler; I don't think the scaler is active when doing Linux video (but I might be wrong).
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
-
- Top Contributor
- Posts: 937
- Joined: Mon Mar 01, 2021 3:10 pm
- Has thanked: 49 times
- Been thanked: 374 times
Re: Lets actually try Hybrid Emulation
I dont consider the output hardware as part of the program. As far as Scumm VM is concerned its running on an Arm linux. How the Arm chip outputs is irrelevent to the program.
-
- Top Contributor
- Posts: 375
- Joined: Sun Sep 27, 2020 10:16 am
- Has thanked: 209 times
- Been thanked: 87 times
Re: Lets actually try Hybrid Emulation
It's a bit off topic, but I hav 2 problems with ScummVm currently. The fact that there isn't any vsync option, I just can't bear tearing to this degree and the fact we don't have access to crt scanline and filters in general. I wish someone would do something about those 2 things. Because otherwise it's an awesome experience, accurate and super fast!.
Remastering Classic Game Cinematics: My new Youtube fun, check it out
https://www.youtube.com/@neocaron87
- pgimeno
- Top Contributor
- Posts: 709
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: Lets actually try Hybrid Emulation
Check this thread, and maybe ask there: viewtopic.php?f=14&t=673Neocaron wrote: ↑Tue Jan 25, 2022 2:30 pm It's a bit off topic, but I hav 2 problems with ScummVm currently. The fact that there isn't any vsync option, I just can't bear tearing to this degree and the fact we don't have access to crt scanline and filters in general. I wish someone would do something about those 2 things. Because otherwise it's an awesome experience, accurate and super fast!.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
Re: Lets actually try Hybrid Emulation
Upps somehow i accidentally posted a quote... wanted to delete it no way, so lets make something meaningful out of it...
But yes there is a dedicated Scummvm section in the forum, everything scummvm related question should go there.
But to go back on topic, what is the status now? I have been digging a little bit back... seems a poc works but not well enough, but is it any meaningful aproach for the Amiga or for future systems maybe which do not fit into the MiSTer anymore like the N64, which can do some parts fpga and some parts on arm emulation then?
But yes there is a dedicated Scummvm section in the forum, everything scummvm related question should go there.
But to go back on topic, what is the status now? I have been digging a little bit back... seems a poc works but not well enough, but is it any meaningful aproach for the Amiga or for future systems maybe which do not fit into the MiSTer anymore like the N64, which can do some parts fpga and some parts on arm emulation then?
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
Could you share the binary of that UAE you build for the MiSTer? What type of Linux do you need to build for to make it run on the MiSTer Linux? I want to try out some different emulators, but especially that UAE one with JIT you got working, that could be an interesting option to have on the MiSTer I think. Makes it more versatile if we could try some Amiga stuff on it that way.
Given the MiSTer Linux has no package manager, its difficult to install stuff onto it. I suspect its possible to copy a package manager to it, but then you need everything that package manager needs as well, and I suspect it might add some boot time to the MiSTer, and I do think it is nice that it boots so fast. But Sorg really scraped the Linux side to a bare minimum.
Re: Lets actually try Hybrid Emulation
Here is the uae4arm.sh emulator binary. Again I built it on ubuntu armhf so its a non-compatible lib stack so comes complete with libs and a script to start like qemu.
http://www.64kib.com/mister_hybrid_file ... dir.tar.gz
Extract it then cd into the folder and run uae4arm.sh
Best to do it on the mister video screen after pressing F9 on menu.
It seems to run ok, though the file selector crashes for some reason. So I was just editing the config file to point it at disks!
http://www.64kib.com/mister_hybrid_file ... dir.tar.gz
Extract it then cd into the folder and run uae4arm.sh
Best to do it on the mister video screen after pressing F9 on menu.
It seems to run ok, though the file selector crashes for some reason. So I was just editing the config file to point it at disks!
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
Ahh, good to know. I was thinking if maybe stuff I installed on that LXDE desktop might be possible to run on the MiSTer Linux directly if I copied all the libraries and such, I guess this means it should. Although I do think that DOSBox and the FS-USE are both SDL based, and that might mean they require a whole GUI to run. Which I would rather avoid so I think I will try your method if I can make it work.foft wrote: ↑Tue Jan 25, 2022 8:34 pm Here is the uae4arm.sh emulator binary. Again I built it on ubuntu armhf so its a non-compatible lib stack so comes complete with libs and a script to start like qemu.
http://www.64kib.com/mister_hybrid_file ... dir.tar.gz
Extract it then cd into the folder and run uae4arm.sh
Best to do it on the mister video screen after pressing F9 on menu.
It seems to run ok, though the file selector crashes for some reason. So I was just editing the config file to point it at disks!
Re: Lets actually try Hybrid Emulation
The MiSTer comes with busybox that includes chroot. I have a line in /etc/inittab that runs a script which loopback mounts a few disk images before exec into chroot openrc, so I maintain a full gentoo Linux userland on my MiSTer. Various services for the Amiga side (web proxy, telnetd, rshd etc) run inside this chroot, even ssh on port 22 is. On shutdown, all processes inside the chroot are terminated and filesystems unmounted.
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
I have been trying to run this. First I got an error that it was unable to find libraries. Seems to have helped that I moved all the files to the root folder instead. Well, the uae4arm_dir folder I moved to the root. But now I am getting an ALSA lib error saying "underrun occurred". This error shows 16 times I think, and then returns to the command line. Exact error: There is a chance that it might be the way I decompressed it though, so I will experiment some more.foft wrote: ↑Tue Jan 25, 2022 8:34 pm Here is the uae4arm.sh emulator binary. Again I built it on ubuntu armhf so its a non-compatible lib stack so comes complete with libs and a script to start like qemu.
http://www.64kib.com/mister_hybrid_file ... dir.tar.gz
Extract it then cd into the folder and run uae4arm.sh
Best to do it on the mister video screen after pressing F9 on menu.
It seems to run ok, though the file selector crashes for some reason. So I was just editing the config file to point it at disks!
Nicekolla wrote: ↑Thu Jan 27, 2022 12:08 am The MiSTer comes with busybox that includes chroot. I have a line in /etc/inittab that runs a script which loopback mounts a few disk images before exec into chroot openrc, so I maintain a full gentoo Linux userland on my MiSTer. Various services for the Amiga side (web proxy, telnetd, rshd etc) run inside this chroot, even ssh on port 22 is. On shutdown, all processes inside the chroot are terminated and filesystems unmounted.
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
I have been debugging uae4arm. Cannot figure out why I am getting the ALSA underrun occurred error. Seems it might have to do with a too small buffer. I tried changing the cache, but I then read that the cache setting has something to do with the JIT and might not even be used anymore.
So I guess it has something to do with my MiSTer setup somehow. I have looked through my MiSTer settings but cannot find anything. I tried disabling the sound, but that did not seem to work either. I am guessing it might have to do with having used MidiLink at one point.
So I guess it has something to do with my MiSTer setup somehow. I have looked through my MiSTer settings but cannot find anything. I tried disabling the sound, but that did not seem to work either. I am guessing it might have to do with having used MidiLink at one point.
Re: Lets actually try Hybrid Emulation
so i came across this:
a minimig board with motorola soc and it works with pistorm
so we have entire amiga on fpga and emulated arm motorola, just like you trying to do here (at least similar).
maybe we could find some more info about it what could help to better understand everything.
a minimig board with motorola soc and it works with pistorm
so we have entire amiga on fpga and emulated arm motorola, just like you trying to do here (at least similar).
maybe we could find some more info about it what could help to better understand everything.
TheCompany.pl - Amiga EXE Games
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
Ahh, I guess there might be other issues as well. I just never got far enough to do any benchmark. I tried booting floppy disks, but it never even tries to boot any Amiga graphics. So all I see is the underun errors.
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
Does look interesting, but it does still lack support for most of the IO. No floppy or serial port f.ex.xFlesk wrote: ↑Sun Jan 30, 2022 11:13 am so i came across this:
a minimig board with motorola soc and it works with pistorm
so we have entire amiga on fpga and emulated arm motorola, just like you trying to do here (at least similar).
maybe we could find some more info about it what could help to better understand everything.
Still, FPGA that supports a CPU chip is nice. It is also something I have hoped to see as possible with the MiSTer. Just not enough bandwidth to do this I guess. But this is why I find custom boards interesting, because I hope to see a custom board that might somehow allow for stuff like maybe supporting an Amiga expansion card, a PCI port for the AO486 core, reading actual cartridges and CDs for consoles, and done in some modular way that you can replace some expansion and it becomes another system.
But it needs a general way of doing it, and often I think it would require replacing both the SD RAM and the current IO board and then have some way of having SD RAM on the expansion board instead and some option to only use it for the cores that needs it. But every core would then need to support such an expansion.
So it probably wont happen. If it first happened with just one core that then got support for more of the original IO, I am guessing it could happen for other cores as well. But as it is now, it still needs a special version of those cores to support such custom hardware.
Re: Lets actually try Hybrid Emulation
The minimig board above is essentially an original Minimig with a socket for 68000 instead of the 68SEC000 used on minimig. It also only supports OCS/ECS and no AGA. Its primary function is to be a testbed for the Buffee, but it has successfully also been used with PiStorm. PiStorm either runs Musashi, which has also been tested on MiSTer and is discussed in this very thread, or it can run Emu68, which is dedicated to the Raspberry pi hardware and doesn’t work with MiSTer (since MiSTer relies on Linux). There are several options for emulating the 68k in software, in addition to Musashi, there is Qemu which is being tested here, and of course the cpu emulation in various UAE and Aranym incarnations. And probably others too.
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: Lets actually try Hybrid Emulation
I have begun testing how to compile software for the MiSTer. The easiest way to test things is put to a different Linux on the MiSTer, but then we wont be able to test with MiSTer running in the background. But if the full stack of libs is needed anyway, I have been looking at Debian where it seems they have an archive where each binary on there also has the full lib stack that it needs. I hope I can download all of that and make that run. Otherwise I have found a way to compile MiSTer Main, and using that same method I am guessing I might be able to compile other binaries. But that would probably still rely on those libraries already being on the MiSTer.