Open jsmolina opened 2 years ago
That's great! I have been looking for something like that!
I have Windows batch script that will convert game screenshots (downloaded into folder from MobyGames or simiilar DB) and convert these using imagemagick to RLoader screenshot format.
@jsmolina @cyberluke, they are both excellent tools, but both can only be run on modern OS, they can be very useful if combined with RLoader and maybe I could create a RLoader-tools
repo where to catalog these utilities, in order to keep this repo easily manageable from DOS.
The spirit of RLoader however is to be a DOS tool, and it would be nice to have some help in generating the lists directly in the machine (real or virtual) where the games / programs will be launched.
I was thinking of two approaches, based on the system specification:
I have configured mTCP (which also works on 8088 systems) and for now the only obstacle I have found is the use of certificates (https vs http), otherwise I think the following may be feasible:
LIST.TXT
file, applying it to the downloaded list, in order to simplify the identification of the gameHowever, this requires:
I need to do some more research.
Yes, that is a good long term approach. There is https://github.com/SuperIlu/DOjS that might be suitable for this.
Me as a retrogamer have two desks with 10 computers, 8 of them connected to one CRT via KVM. So I would not do this on each machine separately, rather than prepare my DB of games and use categories like 386, 486, Pentium and then distribute this on my machines, so I can also performance test some games.
But I don't have time for this long term, I'm already attached on four other opensource projects.
The ultimate idea with networking would be that there would be also chat in rloader and you would see a number of active rloader sessions. Then you would have some Raspberry Pi or Windows 10 or Linux machine acting as IPX to TCP to VPN Internet gateway, so you could play these DOS games online. And downloading screenshots would be only a cherry on top :-)
There should be probably also some simple database for games, so it would know which executable is for setup.exe and which one is for launching the game. You could apply some heuristics based on directory name or title name, of course.
The spirit of this tool is DOS, indeed, but you need to transfer the games to machine somehow. There is no GoG or STEAM for DOS. I have even original big box games on CD and floppy. Sometime floppy does not read anymore and I need to download the game on another computer.
To make working what you describe, it would require whole architecture of components and develop a some kind of enterprise grade integration with custom setup for retro https gateway (SSL) on 2nd machine (Linux, Mac, Win, embedded computers). Then you could have like one click installer and setup and use mTCP. But the scope of this project would be like 1-2 years for development in my personal opinion.
BTW: forget HTML parsing, you would use Mobygames API: https://www.mobygames.com/info/api and no regex. You would parse JSON. My daily job is tech lead in enterprise backend integrations. The reason why people mention Mobygames is because they do have web services API.
@jsmolina @cyberluke, they are both excellent tools, but both can only be run on modern OS, they can be very useful if combined with RLoader and maybe I could create a
RLoader-tools
repo where to catalog these utilities, in order to keep this repo easily manageable from DOS.The spirit of RLoader however is to be a DOS tool, and it would be nice to have some help in generating the lists directly in the machine (real or virtual) where the games / programs will be launched.
I was thinking of two approaches, based on the system specification:
for low-end computers it might be useful to scan all folders starting from one or more user-specified paths and, like rloadergen, propose for each folder:
- list of executables (exe, com or bat) from which to select the program and any configurator, when there is more than one executable
- list of text files from which to extract the complete game title. Very often there are readme.txt, read.me, readme.1st or similar files that contain the exact title of the program
for 286+ computers it would be nice:
- directly download the pages from MobyGames using it to search for the exact titles and download the screenshots starting from this address https://www.mobygames.com/browse/games/dos/list-games/
- convert screenshots to the format requested by RLoader
I have configured mTCP (which also works on 8088 systems) and for now the only obstacle I have found is the use of certificates (https vs http), otherwise I think the following may be feasible:
- download the html
- extract the addresses to be able to visit the individual pages, creating the list of games locally (title + url)
- take advantage of the same RLoader code used to filter the
LIST.TXT
file, applying it to the downloaded list, in order to simplify the identification of the game- select the screenshots to download as title and in-game (it can be problematic to view the downloaded screenshots, from DOS)
- in addition, since MobyGames has a lot of information it should be possible to download the game description or other information as well.
However, this requires:
- the ability to search through regex within the html source to avoid false positives in the url selection.
- the conversion from html to markdown of the description.
I need to do some more research.
yes sure, the idea of my generator is to skip the tedious process of generating the list + folders just by having the folders in LFN on a modern computer. IMHO, that would save a lot of hours to anyone willing to use this nice launcher.
@jsmolina @cyberluke, you are both right. A tool that allows the semi-automatic generation of lists would be very useful and in this case it makes no sense to develop it inside RLoader or as an MS-DOS executable.
Surely the possibility of modifying the lists can be useful within RLoader, but for small maintenance changes.
Instead, it makes much more sense to develop a tool that runs on modern systems for building and maintaining lists. Given these premises, it makes even more sense to try to find a development framework that allows you to write the code only once and be able to deploy for Windows, Linux and MacOS systems, at the cost of a larger executable, but without dependencies.
I'm thinking for example of Electron, which is based on chromium, allows you to write code in javascript or typescript and use web technologies, which would also allow simple access to the MobyGames API.
What do you think?
(@cyberluke I didn't see that MobyGames exposed APIs, obviously this makes integration into other applications easier and more consistent.)
Let's say you have your nice list of long folder names with DOS games in /home/user/DIST/GAMES
I created an automatic list generator using python https://github.com/jsmolina/simple-menu-dos-launcher/blob/main/scripts/rloadergen.py
Example usage: python3 rloadergen.py -i /home/user/DIST/GAMES -o /Users/jsmolina/OUT -d c:\menu
It scans the list of directories with long names, and copies such games to dos short names and generates the LIST.txt automatically. It will try to guess the executable, and ask you if it is ambiguous. So it will generate in the directory
/Users/jsmolina/OUT/GAMES
something like this:And in
/Users/jsmolina/OUT/LISTS/PCXT
LIST.TXT, ....
If you are interested, I could add in a Pull request or just take it directly to your repo and do any modification you might consider interesting (like allowing passing the LIST name on the commandline, or asking you about cycles).
it fastens a crazy lot the generation of lists.