Page 6 of 7

Re: Individually Bootable VHDs for Each Game

Posted: Wed Jan 03, 2024 3:31 pm
by Bas

The boot process sets up the core speed itself and everything else for me. No Interaction required other than picking standard pc at startup. What CPU speed do you get with the preset you use?


Re: Individually Bootable VHDs for Each Game

Posted: Thu Jan 04, 2024 6:36 pm
by HerrBerzerk
Bas wrote: Wed Jan 03, 2024 3:31 pm

The boot process sets up the core speed itself and everything else for me. No Interaction required other than picking standard pc at startup. What CPU speed do you get with the preset you use?

It starts as "User defined" with 90MHz L1&L2 ON


Re: Individually Bootable VHDs for Each Game

Posted: Thu Jan 04, 2024 6:53 pm
by Bas

That should be fine. The sysctl program that runs inside the core's DOS environment flips the L1 to off and the CPU to 56Mhz. That does not reflect in the menu while it's running though.

I guess my main question right now is whether the Lemmings VHD works without any twiddling on the MiSTer side of things. It does for me but I don't like to claim success from n=1. If we get a few more successful tests here, I'll know what to do for the others and release them too in short order. Spending some quality time away from home with the family right now though, so I won't be able to do anything significant until the beginning of next week.


Re: Individually Bootable VHDs for Each Game

Posted: Fri Jan 05, 2024 8:43 am
by HerrBerzerk
Bas wrote: Thu Jan 04, 2024 6:53 pm

I guess my main question right now is whether the Lemmings VHD works without any twiddling on the MiSTer side of things. It does for me but I don't like to claim success from n=1. If we get a few more successful tests here, I'll know what to do for the others and release them too in short order.

Unless I don't do something wrong, it does not work for me. I have to slow down the frequency manually, otherwise I can not select Music in the menu.


Re: Individually Bootable VHDs for Each Game

Posted: Fri Jan 05, 2024 3:00 pm
by Bas

I pushed a few buttons from my phone. You'll find a new Lemmings build up on my website right now. This one should drop the core down to 30Mhz. instead of the earlier 56MHz. Lemmings isn't exactly CPU-hungry so we could go all the way down if need be. I haven't been able to test this one myself but I hope it'll work better for you!


Re: Individually Bootable VHDs for Each Game

Posted: Sun Jan 07, 2024 6:28 pm
by HerrBerzerk

I'm sorry, I tested several times now, but it is not configuring the system to allow music on Lemmings for me automatically. Perhaps someone else will test and give it a try?


Re: Individually Bootable VHDs for Each Game

Posted: Sun Jan 07, 2024 7:04 pm
by Bas

What happens if you break out to DOS and twiddle the sysctl.exe itself manually? It's in C:\DRIVERS\AO486. If you hit a spot where it does work for you, I'll put it into my builds of Lemmings.


Re: Individually Bootable VHDs for Each Game

Posted: Mon Jan 08, 2024 9:03 pm
by rcblanke

Hi Bas, thanks for your efforts to streamline the VHD creation process! I just tested a few games on MiSTer, most seem to work. BTW a couple of the games cannot be downloaded because the game.zip is missing in the website link (for example, 'Another World').

Lemmings is failing because of a typo in autoexec.bat (C:\DIVERS\... instead of C:\DRIVERS\...)

Will try to make a summary of my findings for all available games, tomorrow.

Regards,
Ronald


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 09, 2024 12:42 pm
by Bas

Hi Ronald,
Good find on Lemmings! That's somethiing I could quickly fix online so a new build will be up in about 15 minutes from now (you'll see that the build is new when the post date of my DOSContainer releases page flips from the 6th of January to the 9th). The file for Another World is present on the FTP server so that shouldn't really be a problem unless there's something wonky with the FTP service (will check when I get home).

Thanks for testing!!


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 09, 2024 6:26 pm
by Bas

Did some catching up to @NML32's homework. A whole slew of additions made the list today. I haven't been able to test them all myself yet, but the ones I did pull through PCEM worked just fine. I still have some work to do on enabling CD-ROM games, but I'm getting there. Day job gets in the way, as it tends to do.. ;-)

New additions:

  • Altered Destiny
  • The Black Cauldron (+remake)
  • Bio Menace 1, 2 and 3
  • Bust-a-Move
  • Cannon Fodder
  • Where in the World is Carmen San Diego?
  • Gold Rush!
  • Codename Iceman
  • King's Quest I
  • King's Quest I SCI
  • King's Quest II
  • King's Quest III
  • King's Quest IV (cracked)
  • King's Quest V
  • Laura Bow 1
  • Laura Bow 2
  • Loom (floppy)
  • Leisure Suit Larry 1 VGA
  • Leisure Suit Larry 5
  • Manhunter 1 & 2
  • Asterix & Obelix
  • The Oregon Trail Deluxe
  • Police Quest I - IV
  • Teenage Mutant Ninja Turtles
  • Tyrian

Thanks for all the work @NML32!


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 09, 2024 8:10 pm
by rcblanke

I have updated RealLarry's compatibility chart with my findings.


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 09, 2024 8:21 pm
by AmintaMister
Bas wrote: Tue Jan 09, 2024 6:26 pm

Did some catching up to @NML32's homework. A whole slew of additions made the list today. I haven't been able to test them all myself yet, but the ones I did pull through PCEM worked just fine. I still have some work to do on enabling CD-ROM games, but I'm getting there. Day job gets in the way, as it tends to do.. ;-)

New additions:

  • Altered Destiny
  • The Black Cauldron (+remake)
  • Bio Menace 1, 2 and 3
  • Bust-a-Move
  • Cannon Fodder
  • Where in the World is Carmen San Diego?
  • Gold Rush!
  • Codename Iceman
  • King's Quest I
  • King's Quest I SCI
  • King's Quest II
  • King's Quest III
  • King's Quest IV (cracked)
  • King's Quest V
  • Laura Bow 1
  • Laura Bow 2
  • Loom (floppy)
  • Leisure Suit Larry 1 VGA
  • Leisure Suit Larry 5
  • Manhunter 1 & 2
  • Asterix & Obelix
  • The Oregon Trail Deluxe
  • Police Quest I - IV
  • Teenage Mutant Ninja Turtles
  • Tyrian

Thanks for all the work @NML32!

Thanks for your great and precious work!

I would like contribute too, I'm on MacOS, can you take a look at the issue I've opened on Gitlab?


Re: Individually Bootable VHDs for Each Game

Posted: Wed Jan 10, 2024 9:49 am
by Bas

For the possibly wider community of Mac users: something I wasn't aware of, but macOS switched to ZSH a few major releases ago and that won't work. You must use Bash for the framework script. Bash can be installed through Homebrew (https://brew.sh). Once you have Homebrew up and running, it's a matter of running 'brew install bash', making the 'build.sh' script executable 'chmod +x build.sh' and then invoking the build script directly by calling ./build.sh <game.yaml>. The shebang in build.sh will take care of finding Bash on its own. It might be needed to log out and back in after installing Bash the first time.

None of this will change your default user shell or impact the rest of your system in any way. Bash is simply added as an option. Scripts that don't want to use it, won't even notice it's there.


Re: Individually Bootable VHDs for Each Game

Posted: Wed Jan 10, 2024 12:02 pm
by AmintaMister
Bas wrote: Wed Jan 10, 2024 9:49 am

For the possibly wider community of Mac users: something I wasn't aware of, but macOS switched to ZSH a few major releases ago and that won't work. You must use Bash for the framework script. Bash can be installed through Homebrew (https://brew.sh). Once you have Homebrew up and running, it's a matter of running 'brew install bash', making the 'build.sh' script executable 'chmod +x build.sh' and then invoking the build script directly by calling ./build.sh <game.yaml>. The shebang in build.sh will take care of finding Bash on its own. It might be needed to log out and back in after installing Bash the first time.

None of this will change your default user shell or impact the rest of your system in any way. Bash is simply added as an option. Scripts that don't want to use it, won't even notice it's there.

Thanks a lot!


Re: Individually Bootable VHDs for Each Game

Posted: Wed Jan 10, 2024 5:58 pm
by Bas

Macs kinda suck though. Bash is limited to 3.x by default, which is not good enough. Check this out for a fix:

https://medium.com/@sisiliang/watch-out ... bcabcfc549


Re: Individually Bootable VHDs for Each Game

Posted: Thu Jan 11, 2024 10:33 am
by Bas

I got a heads-up this morning that a number of links on the release page were broken. They're fixed now!


Re: Individually Bootable VHDs for Each Game

Posted: Fri Jan 12, 2024 8:33 am
by AmintaMister
Bas wrote: Thu Jan 11, 2024 10:33 am

I got a heads-up this morning that a number of links on the release page were broken. They're fixed now!

Hi! Your FTP is not working these days...


Re: Individually Bootable VHDs for Each Game

Posted: Fri Jan 12, 2024 9:30 am
by Bas

Firewalls, NAT and the FTP protocol are fun like that! I'm on IPv6 myself so I didn't even notice anything was broken, but things are back up on IPv4 as well now. Thanks for the notification.

Note to self: implement proper monitoring.


Re: Individually Bootable VHDs for Each Game

Posted: Wed Jan 17, 2024 12:37 am
by NML32

Is there a breakdown of the settings used for each a0486 CPU Preset?
I'd like to use sysctl.exe to set the CPU to match some of the presets.


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 23, 2024 9:35 am
by Bas

Added another update from NLM32 yesterday!


Re: Individually Bootable VHDs for Each Game

Posted: Sun Jan 28, 2024 1:55 am
by NML32

@Bas
Call of Cthulhu - Shadow of the Comet needs DEVICEHIGH=C:\DOS\EMM386.exe i=e000-efff D=48
Is there a way to add custom settings to EMM386? I'm trying to add D=48 to the EMM386 line.

Thanks.


Re: Individually Bootable VHDs for Each Game

Posted: Sun Jan 28, 2024 5:15 pm
by Bas

Not yet, unfortunately. It's not that hard to add such a feature, so I'll add it to my list of todo's. You may have noticed a bit of a slowdown on my end though, that's my day job and other obligations getting in the way. You can track the issue here:

https://gitlab.com/doscontainer/framework/-/issues/29

Probably superfluous to mention this, but everyone is most welcome to contribute patches if I'm going too slow.


Re: Individually Bootable VHDs for Each Game

Posted: Mon Jan 29, 2024 3:23 pm
by Bas

I managed to code the requested feature just now. Builds of the existing set of games seem to be working just fine. You can now add an additional parameter to the YAML files called "emm386params". Specify a string there, and it will be added behind EMM386.EXE/SYS. The assumption here is that you know what you're doing when you need this one, so no hand-holding from the framework. If you don't include this setting, the framework does something generally sensible (it sets i=e000-efff) and leaves it at that.

Note: added an external dependency on the printf utility. Tested on Linux and FreeBSD. Should work on Mac as well but untested there. Incremented framework version to 0.0.3.


Re: Individually Bootable VHDs for Each Game

Posted: Mon Jan 29, 2024 5:10 pm
by NML32
Bas wrote: Mon Jan 29, 2024 3:23 pm

I managed to code the requested feature just now. Builds of the existing set of games seem to be working just fine. You can now add an additional parameter to the YAML files called "emm386params". Specify a string there, and it will be added behind EMM386.EXE/SYS. The assumption here is that you know what you're doing when you need this one, so no hand-holding from the framework. If you don't include this setting, the framework does something generally sensible (it sets i=e000-efff) and leaves it at that.

Note: added an external dependency on the printf utility. Tested on Linux and FreeBSD. Should work on Mac as well but untested there. Incremented framework version to 0.0.3.

Thank you!!
I'll check it out when I get home.
The CD verssion of Call of Cthulhu - Shadow of the Comet needs D=48. The floppy versions were okay with the default settig.

I appricate the quick update. :)


Re: Individually Bootable VHDs for Each Game

Posted: Mon Jan 29, 2024 5:35 pm
by Bas

CD images were not an original concern for this tool The problem: they are separate from the VHD file and generally are a pain to package alongside with the VHD. The tool should be sweet and simple: select a VHD, boot, play.

CD images add a complexity to this. The what-if here: let's introduce something of a convention by putting all CD images in /media/fat/games/AO486/CD by default and allow the user to override this path for their own builds?

The CD image itself can be its own distfile just like the game's other elements. The framework already handles multiple distfiles. What the framework does NOT handle, is packaging both a VHD and a CD image into the final build. So that still needs some work.

The name of the CD image also needs to be encoded into the VHD and hence the YAML for the hosted OS to be able to mount it on its own. The download would then consist of a ZIP-file that contains a VHD in the archive's root, and the CD image in the CD subdir. Extract the ZIP-file in /media/fat/games/AO486 and the rest should be automatic.


Re: Individually Bootable VHDs for Each Game

Posted: Mon Jan 29, 2024 9:58 pm
by NML32
Bas wrote: Mon Jan 29, 2024 3:23 pm

I managed to code the requested feature just now. Builds of the existing set of games seem to be working just fine. You can now add an additional parameter to the YAML files called "emm386params". Specify a string there, and it will be added behind EMM386.EXE/SYS. The assumption here is that you know what you're doing when you need this one, so no hand-holding from the framework. If you don't include this setting, the framework does something generally sensible (it sets i=e000-efff) and leaves it at that.

Note: added an external dependency on the printf utility. Tested on Linux and FreeBSD. Should work on Mac as well but untested there. Incremented framework version to 0.0.3.

When I add emm386params: i=e000-efff D=48
This is what is added to the config.sys DEVICEHIGH=C:\DOS\EMM386.EXE i=e000-efff\ D=48

a \ is added between each space.


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 30, 2024 12:12 pm
by Bas

I'm starting to get annoyed by my own choice of Bash as the language for this script... but it's fixed and the previously new dependency on printf is also gone from the script.


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 30, 2024 2:04 pm
by limi

Eventually, you will end up using Python (hello from AmigaVision, where everything is either Python or AmigaShell) 😅


Re: Individually Bootable VHDs for Each Game

Posted: Tue Jan 30, 2024 2:28 pm
by Bas

Initial attempt at this was in Rust, and that still isn't abandoned. I deeply dislike how Mtools is taking liberties with MBR data structures to such an extent that MS-DOS 4.00 and lower are very iffy to downright broken right now even though I want to support systems down to the IBM XT as faithfully as possible. That means going down all the way to MS-DOS 2.00 with hard disk support. Mtools won't give me that. Oh and parsing YAML from Bash is like pulling teeth on a rabid warthog.

I would really love for DOSContainer to become a neat single statically compiled binary that you can just run from the MiSTer itself.. but it's called a hobby for a reason, right? ;-)


Re: Individually Bootable VHDs for Each Game

Posted: Thu Feb 01, 2024 2:02 am
by cursedverses
Bas wrote: Tue Jan 30, 2024 2:28 pm

Oh and parsing YAML from Bash is like pulling teeth on a rabid warthog.

My mind has been boggling with how that was working out - I'll have to look at how you did it at some point! It's been a while since I got heavy with Bash script.