aDOS Player is a new front end games launcher for playing retro DOS games on any device that supports Progressive Web App (PWA) technologies. Built on top of the
js-dos library, aDOS Player utilizes *.jsdos bundles to make launching and playing retro DOS games a breeze. And on top of the standard .jsdos bundle file supported by the default js-dos implementation, aDOS Player supports a few custom enhanced bundle features that allow the player to show things like game box art, information, genre and more. This post will detail how you can create your own .jsdos bundle files so that you can play any of your old DOS games in the aDOS Player application.
The first thing you are going to need to do is install the aDOS Player PWA on your system. This can be done using a Chromium based browser (Chrome, Edge, etc). To show the install prompt, navigate to the PWA using the link below, click on the Settings gear icon, and the top option should be
Get the App. Clicking on that will begin the quick install process. Installing will allow local folder read access so that aDOS Player can read and manage your game library, and also file association to *.jsdos files, so you can launch into a DOS game by simply clicking on it's bundle from your computer.
https://adosplayer.com/
Next you will need some *.jsdos bundle files to get started. aDOS Player will work fine with any existing *.jsdos file you may have or find online, but you can also create your own fairly easily. A .jsdos file is simply a .zip file with a different file extension and some extra information. I am going to go over the basics here, or you can read the technical document from the js-dos developers
here.
First, if you just want to quickly put together a playable bundle and do not care about the extended aDOS Player features such as box art, you can simply go to the
dos.zone Game Studio tool and it will create a bundle for you automatically. I plan to eventually have similar functionality built right into aDOS Player, but have not gotten around to it yet as of this writing.
To roll your own, you need to create a .zip file that contains your DOS game as well as a folder named .jsdos with a dosbox.conf file, and a jsdos.json file. Additionally, you can put the boxart.png file in this folder, as well as three screenshot files (screen1.png, screen2.png, screen3.png).
For a demonstration of how this looks, download the following .jsdos file of the game Sim Ant. Change the file extension to .zip and look at it's contents on your computer.
You can actually use the above file as a template for packaging your own games. You can also package your game using the before mentioned
dos.zone Game Studio game studio tool, download it, change the extension to .zip, add your box art, change it back to .jsdos, and you are good to go.
As mentioned before, you can also add meta data to your .jsdos bundle that can be read by the aDOS launcher. Open up the .jsdos/jsdos.json file. On top of it's standard entries, you can add a new property to the root JSON object called "adosplayer" with the following options:
"adosplayer": {
"title": "game name",
"desc": "game description",
"year": 1992,
"publisher": "software company",
"genre": "arcade",
"id": "282fc6b0-3f7b-4fc2-8522-253c2ad6f071"
}
All fields are optional. The "id" field is just a random GUID that you can generate anywhere, but should be unique to any other .jsdos bundle. It is not required and the player will create one automatically internally if it is not there, but it is going to be used for future cloud save syncing, so it is good to have a unique one for each bundle.
Anyway, over time I will be packing some of the most popular DOS games into aDOS Player enhanced bundles, and will be adding a function in-app to be able to browse and download the bundles automatically. In the mean time, feel free to attempt packaging your own and let me know what issues you find or requests you have. To get you started, here are the jsdos bundles for both SimAnt and Wolfenstein 3D that you can so ahead and play using aDOS Player right now.
Enjoy!
#adosplayer