11

Is there a way in ProDOS 8, to directly run old DOS 3.3 binary games without loading BASIC.SYSTEM ?

Most games never access DOS 3.3 once the program was running, so even though these were never meant to run under ProDOS, it seems like they should be able to run directly from a ProDOS 8 launch menu without needing the BASIC language support of BASIC.SYSTEM.

I expect the general method is to take an old DOS 3.3 game such as Mario Brothers or Dig Dug, and enclose it inside of some sort of simple ProDOS 8 loader module, and then save it as a *.SYSTEM file, type SYS.

Has anyone ever found a way to do this?

3
  • 2
    If not, perhaps we could find one now.
    – wizzwizz4
    Commented Dec 14, 2016 at 16:56
  • 1
    I know you can't wrap them as system file as that loads at a specific address in memory. On the other hand I don't see why you couldn't write a loader that lived in the DOS 3.3 memory space and would let you BRUN files. I did write a loader that Apple User published in the mid 80s that searched for system files and would let you pick one to run. I suspect someone must have written such a loader for binary files at some point.
    – PeterI
    Commented Dec 14, 2016 at 17:49
  • 1
    the answer is both "yes" and "no", as Nick noted below. There are games that want to save highscores back to disk which would require DOS, or load additional levels. Both require DOS for that, in the absence of a dedicated ProDOS port. Perhaps the better option is to post a request on the "new ProDOS ports" thread on comp.sys.apple2 newsgroup, after checking what is available already. Commented Feb 12, 2017 at 1:53

2 Answers 2

9

First off, the direct answer to your question is "Yes", you can run some DOS 3.3 binary games without loading ProDOS BASIC.SYSTEM. However, it isn't quite as simple as that.

Second point is that it isn't as trivial as wrapping the DOS 3.3 binary file as a .SYSTEM.

There is a big assumption here that by 'DOS 3.3 games' you mean single file games, e.g.

SYSTEM VOLUME 254

 A 002 HELLO 
*B 134 HARD HAT MACK

]BRUN HARD HAT MACK

On this, let me give you some more details.

While you can copy a binary file over from DOS 3.3 to ProDOS, I don't believe it will run by itself. As well, you cannot simply rename it to .SYSTEM or set the file type since I believe there is some ProDOS header/magic that needs to happen (e.g. has to load at $2000 for one, if I remember correctly). As such, you won't be able to use the "bye" tool to launch Hard Hat Mack (HHM).

Some time ago, however, there was a developer who created something called DOS 3.3. Launcher which does the necessary tricks to get a DOS 3.3 binary like HHM to run under ProDOS. While it was intended for use under GS/OS, it does work fine under ProDOS 8 as well. It allows you to execute the DOS3.3.LAUNCHER program with the full path to the "converted" HHM as an argument (through something called the startup protocol which is really just the full path with length/etc put in a particular memory location). It works well and is a key tool in many 8-bit games collections I've found these days.

Unfortunately, I'm not aware of an easy way to run HHM with the launcher from "bye", though presumably there are tools out there which could be configured to put HHM as the startup protocol argument.

So what can you do? You could write a simple system file for HHM which simply executes the launcher with the appropriate argument, but now you've got 3 files for the one game. Of course, someone could craft something a bit more custom to handle multiple games as well :-)

So long story short, you can run DOS 3.3 binary games without loading BASIC.SYSTEM, but you need to use DOS 3.3 launcher which needs help from another program (which could be in BASIC). In the end, does it really matter if you have to load BASIC.SYSTEM to do this?

2
  • 2
    It does matter if BASIC.SYSTEM doesn't leave you with enough memory to load the file. ; - ) Commented Dec 15, 2016 at 7:54
  • I am still not understanding what exactly is doing this DOS 3.3 Launcher. In 1980s I found that some binary files weren't able to start using BRUN (or -) from Basic.system, but they were able to start using BLOAD, then CALL <starting_address>. So I did some .BAS starting programs for them and it worked well for me. Of course, games like Conan that occupied one (or more) disks, without DOS 3.3 on them were out of the scope for me, but it seems that DOS 3.3 Launcher has some way to deal with them...
    – SEGStriker
    Commented Dec 6 at 16:45
5

The correct answer is, of course, "It depends". ; - )

If the game loads lower than $800 or is multiple files or otherwise tries to use DOS, work is needed.

Otherwise use Bitsy Bye and MiniBas in ProDOS 2.4.1. (See the 2.4 release page for docs.)

New ‘Bitsy Bye’ program launcher is built into ProDOS 2.4 and allows users to run SYS, S16, BIN, BAS, and TXT files.

MiniBas is just a shim layer to run programs, so is much smaller than BASIC.SYSTEM and uses much less memory. This is important if the game file is large and loads up to above $9200. (BASIC.SYSTEM uses down to $9200 and you would get a NO BUFFERS AVAILABLE error.)

New MiniBas by Usotsuki – Great for compilation disks, this tiny program can be used instead of Basic.System: Requires only 1 block on disk vs 21 blocks for Basic.System

Loads and runs Binary and Basic programs launched by Bitsy Bye.

This works for both games you mentioned (Mario Brothers and Dig Dug) but not Hard Hat Mack.

3
  • You can write a second small machine language program that loads up the desired target binary via ProDOS MLI. However, if that target binary program requires a disk function via Control-D, you may be out of luck without BASIC.SYSTEM, or possibly one of the other options listed by Nick above.
    – sonnik
    Commented Dec 26, 2016 at 0:38
  • 1
    and the quoted Hard Hat Mack is a poor-quality rip anyway. There's a dedicated ProDOS port of it. That solves that particular problem. Commented Feb 12, 2017 at 1:49
  • The Hard Hat Mack port is here with many others in the san inc ProDOS collection. Commented Apr 1, 2019 at 7:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .