First post, by keenmaster486
- Rank
- l33t
EDIT: I should have done this in the first place but here's a self-extracting archive that will fit on a floppy disk, for y'all's convenience:
download/file.php?id=45182
I've made another game engine. Whoop de do.
I'd love it if those of you who like testing things on your machines would feel inclined to load it up! It's intended to run in a pure DOS environment. Probably will not run on Windows 98 due to how it messes with the DOS timer.
I'm currently away from all of my DOS machines so I have no way of testing this code other than emulators.
System requirements (currently):
-386 or better (the FB compiler produces 32-bit protected mode 386 code)
-VGA card
-Adlib / Sound Blaster
-8 MB of RAM
-How much conventional memory? I have no idea. This is why I need testers!
The goal is to make it run on a 386. It's written in FreeBasic, and I might have it just as optimized as it's going to get before moving to assembly code. I have no idea what it's going to do on a real machine. Currently it runs fine in 86Box (with a 486DX/33) and DOSBox.
In 86Box I am running MS-DOS 5.0 with a bare-bones HIMEM only setup and no extra drivers/TSRs, etc. I don't know how much conventional memory it really wants, but I do know it wants 8 MB of XMS/EMS. Memory usage is not of great concern right now; I'm currently focused on speed.
I should mention that FB code generally is very picky about DOS memory management. Sometimes it will not run at all no matter what you do, other times you have to disable EMM386, etc. But it needs to be tested in a "normal" DOS environment first before stripping things away to make it work. I'm interested in knowing what, if anything, needs to be done to get it to run.
Interestingly, in 86Box it chokes badly on a plain old Pentium (system error says "invalid opcode"), while it runs fine on a 386, 486, and MMX. I'm not sure why.
Here's the download link to it:
https://drive.google.com/open?id=1qgt-KETth_r … wsYC-A0k5a8kO03
Run ENGINE.EXE and select Level 1. The other levels will work but are very untested and use things that haven't been implemented yet.
In the IMF folder there's a program I wrote called DROPLAY. It will play DRO v1 and IMF type 0 and 1 files. You could mess around with that as well to test how well it runs on slower machines.
TED.EXE is a level editor. The key commands for it are in the DOCS folder.
Please also note that the engine will take a great deal of time to load.... the graphics loading code is very quick and dirty and due for a change.
EDIT: Oh, forgot to mention one very important thing:
DEBUG CODES:
F10 + D ---- pulls up debug information at top of screen. X and Y coordinates & velocity & acceleration of player, plus current maximum possible framerate at the upper right. It would be useful to get this framerate number, or at least the range it moves around in on particular machines.
F10 + J ---- enable / disable jump cheat (activated by up key)
World's foremost 486 enjoyer.