VOGONS

Common searches


Reply 20 of 40, by keropi

User metadata
Rank l33t++
Rank
l33t++

I just tried it on my 233mmx build , I like keen stuff 😁
- the newest version works OK - scrolling wasn't smooth but I don't know if it's supposed to be
- the original version works OK too BUT it takes 10x time to load , there is much disk activity

both versions ran fine for me with himem and umb driver loaded

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 21 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t
Scali wrote:

Not loading any device drivers and having the DOS extender manage all memory is usually the best way to do it.

Ah, that makes sense. I never realized this! I always thought the extender used existing drivers instead of managing everything itself.

Jo22 wrote:

By the way, is the engine using i87, i287 or i387 instructions ?

Hmm, I don't know for sure. But if I had to guess, it would be i387, given that it produces a minimum of 32-bit 386 code.

Cizkaro wrote:

I could try it out on my 486dx2 when I get time if youd like. Its a DOS 6.22 machine.

I'd love that! That's a typical platform I'm targeting.

keropi wrote:
I just tried it on my 233mmx build , I like keen stuff - the newest version works OK - scrolling wasn't smooth but I don't know […]
Show full quote

I just tried it on my 233mmx build , I like keen stuff
- the newest version works OK - scrolling wasn't smooth but I don't know if it's supposed to be
- the original version works OK too BUT it takes 10x time to load , there is much disk activity

both versions ran fine for me with himem and umb driver loaded

Oh, awesome... you could run it in DOSBox with cycles=30000 (for good measure) to get an idea of how the scrolling is supposed to look. It's not perfectly "smooth" due to using all integer math and getting the timing right. The engine should be well within its comfort zone framerate-wise on a 233MMX.
Yes, the original version should take a long time to load, and also use a lot more memory. It loads some 400 sprites into memory, most of which it never uses.

World's foremost 486 enjoyer.

Reply 22 of 40, by Scali

User metadata
Rank l33t
Rank
l33t
keenmaster486 wrote:

Hmm, I don't know for sure. But if I had to guess, it would be i387, given that it produces a minimum of 32-bit 386 code.

I hope the compiler is smart enough to use i287, for compatibility.
Namely, the i287 can be used in 386 systems. You may find this in early 386 systems, because the i387 wasn't available until 2 years later.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 23 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t
Scali wrote:
keenmaster486 wrote:

Hmm, I don't know for sure. But if I had to guess, it would be i387, given that it produces a minimum of 32-bit 386 code.

I hope the compiler is smart enough to use i287, for compatibility.
Namely, the i287 can be used in 386 systems. You may find this in early 386 systems, because the i387 wasn't available until 2 years later.

Ah, I didn't even think about this. Yeah, I hope it does too although there's no way to test without a real machine...

World's foremost 486 enjoyer.

Reply 24 of 40, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

I tested the program on a 486 SX 25 MHz, 4MB RAM. The system doesn't have an FPU, so the FPU-versions crashed because of that. The non-FPU version froze the system with a different crash message, probably because it ran out of memory.

By the way, it would be nice if you could create a demo version that actually fits on a floppy. That certainly would have made it easier for me to test it. 10 megs are a bit too much, especially since it seems 90% of the data isn't even used in the demo.

Reply 25 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Did somebody order a version that will fit on a floppy disk?

Filename
DEMO5.EXE
File size
313.24 KiB
Downloads
88 downloads
File license
Fair use/fair dealing exception

One self-extracting archive coming right up! Only 321 KB! Should run on any machine, I think. Also should contain the non-FPU version.

Which, btw, KingDuke, did you try removing HIMEM from your boot configuration before running it on the SX? That's what I had to do in the emulator to make it work.

EDIT: Nope, your system is not at fault - probably. Still try removing HIMEM, but I tested it in an emulator running a 486SX-33 with 4MB of RAM and it crashed. Stripping it down even further to the point where it's basically using the bare minimum that it can and close to 100% of the memory it allocates, and now it works in the emulator. Hope this works for your machine...

Filename
ENGINE.EXE
File size
232 KiB
Downloads
50 downloads
File license
Fair use/fair dealing exception

World's foremost 486 enjoyer.

Reply 26 of 40, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

Thanks for the new version. I tested it on a couple of systems:

486 SX 25 Mhz, 4 MB RAM: default EXE freezes with a General Protection Fault, 2nd EXE requires copro

K6-2+ 533 MHz, 64 MB RAM: default EXE works perfectly fine

Pentium II 366 Mhz 64 MB RAM: default EXE works perfectly fine

Pentium-S 200 Mhz, 64 MB RAM: both EXEs freeze with a General Protection Fault and an Illegal Opcode error message

Pentium-S 133 MHz, 16 MB RAM: both EXEs freeze the system with a black screen

All systems above were booted from the same floppy (Win95 boot disk with no CONFIG.SYS or AUTOEXEC.BAT). Except for the missing copro crash, all crashes occured directly after pressing Enter to select level 1. The two Pentium-S machines are the only desktop sytems, the others are laptops. The Pentiums have stone dead Dallas/ODIN chips and don't remember any BIOS settings at all, so the crashes might actually be related to that.

Pentium 75 Mhz, 24 MB RAM: This one is weird. Since it's a laptop and has a dead floppy drive, I had to remove the HDD to copy the files and start the game from its Win98 installation. It doesn't crash like the other Pentiums did. But it usually freezes right after drawing the level for the first time. For some reason it was playable at one time, but the music was a bit too slow. After running around the level for a few seconds, the game froze.

DOSBox (v0.73):
My testing with a memory size of 4 MB shows that the default executable crashes with a Page Fault, while the 2nd executable still works. Both work fine at 5 MB, but at 3 MB the 2nd EXE also crashes with a page fault.

Side Note: When I was entering "memsize=4" at the DOSBox command prompt (v0.73 and v0.74) and then tried to start ENGINE.EXE, the program always froze right after drawing the level, just like on the Pentium 75. I'm not sure what the memsize= setting actually does when typed in while DOSBox is running. It doesn't seem to actually change the amount of memory that is available in DOSBox. But I think this glitch might help you figure out what is causing the freezes on that P75 system.

Last edited by K1n9_Duk3 on 2018-03-22, 23:14. Edited 2 times in total.

Reply 27 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t

KingDuke, these are some very very useful test results. I appreciate it!

On the Pentium 75, were you running it inside Windows 98 or in DOS mode?

One weird thing is, on plain non-MMX Pentiums inside 86Box, the engine always crashes. I haven't been able to figure out why.

I compiled the 2nd EXE in my last post with the wrong command line options, making it require an FPU... this one should be fixed:

Filename
ENGINE.EXE
File size
269 KiB
Downloads
49 downloads
File license
Fair use/fair dealing exception

World's foremost 486 enjoyer.

Reply 28 of 40, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

I was running the test inside Win98 on the P75 machine. Just tested it again in DOS mode (twice) and it didn't freeze directly after the first draw. The music was still too slow and the keyboard controls were buggy as hell, often missing key hits or key releases. It still freezes after a few seconds of gameplay.

I'll test the other executable on the 486 machine later. Edit: Still freezes with a General Protection Fault.

Reply 29 of 40, by bjwil1991

User metadata
Rank l33t
Rank
l33t

Attempted to run this game on a Pentium III era system, and it gives me the General Protection Fault, and I'm attempting to run the game in the Windows 98SE command prompt (which is the reason why?). Going to test this in MS-DOS mode instead and see how it behaves as well.

Tested in MS-DOS mode (after copying the cwsdpmi file to the GAMES directory), and it got to the Loading level... screen and it just sits there (tried with the L1 and L2 cache on and off).

Specs of the machine:

Motherboard: Shuttle AV18V3
Chipset: VIA Apollo Pro133A
CPU: VIA C3 700A @ 700MHz (100MHz FSB x 7 multiplier)
FDD0: 3.5" 1.44MB
HDD0: Maxtor 6L200P0 (32GB limit set for BIOS limitations)
ODD0: HL-DT-ST CD-RW
ODD1: Samsung DVD-ROM
GPU: nVidia Riva TNT2 (ASUS V3800/32M)
Ethernet: RealTek RTL8139D
OS: Microsoft Windows 98SE
Sound: MediaVision Pro Audio Studio 16 with SCSI + JBL Platinum Series Speakers
Input Devices: Compaq Internet Ready Keyboard + Compaq Wheel Mouse & Microsoft SideWinder Precision Pro Joystick
Display: NEC MultiSync LCD1530V
PSU: 400W Generic PSU w/ ATX-ATX + -5V adapter

Edit 2: downloaded and extracted the demo5 directory, and it got the music, but no video (mainly because the GPU that's installed is too modern (Riva TNT2 AGP) for the game to run). If I hit the Esc key, it exits out. Copied the appropriate folders & files (not the bitmaps folder) to a 1.44MB diskette and will test it out on my Packard Bell Pack-Mate 28 Plus 486 DX4-100 Overdrive system.

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser

Reply 30 of 40, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

Tested the demo on another system, Pentium MMX 266 MHz, 160 MB RAM. The program loads without crashing or freezing the system. The music still seemed a little too slow, but the game speed was okay as far as I can tell. I guess it might have been a little slower than in DOSBox at max cycles, but I can't say much about the framerate (unless there is an option to display it in the program itself that I'm not aware of). The game was also missing key releases a lot, much like on my Pentium 75. I often had Keen constantly running to the left until I hit and released the left key again. And the system beeps when holding down any of the arrow keys (IIRC, that indicates a BIOS keyboard buffer overflow). No other game beeps on that system, so there might be something wrong with your keyboard handler.

Reply 31 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Recently tested this on a Pentium III with a TNT2 based card. Surprisingly, it loads up and plays perfectly - in both Windows 98 and DOS. I couldn't get it to glitch out on me.

I wish I could figure out what is going wrong when testing this on other systems. Some Pentiums it does not like at all and throws general protection faults all over the place. It still doesn't work properly on non-FPU systems. But it always works perfectly in DOSBox.

I've set up PCem to try to test it in various situations. A standard 486DX2/66 seems to be what it's most happy with, and runs perfectly. It also does fine with a Pentium/MMX. But not the original Pentium. And it really doesn't like running on a 386, SX or DX.

I'm sure there is something that the FreeBasic graphics library is doing that is not very compatible. The program always crashes while trying to change the graphics mode.

World's foremost 486 enjoyer.

Reply 32 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t

https://drive.google.com/file/d/18sQYoeO2zA1d … iew?usp=sharing

Here's a link to the latest version.

FreeBasic just yesterday released a new version of the compiler (1.06), which seems to fix operation on plain Pentiums. The verdict is still out on whether or not it now works on everything from 386SX on up - anyone want to try it out on real hardware?

FYI: this version is the "full" development version that Loads All The Things All At Once, and will take a while to load on real hardware.

For debug purposes I have the loading screen make you press Enter after each step in the loading process, so that if something glitches out, I know what it is.

World's foremost 486 enjoyer.

Reply 33 of 40, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

I could test it on the same systems as before, but it would be nice if you could provide a stripped-down version that fits on a floppy. I am definitely not going to waste my time trying to copy 37 megabytes onto any of these systems.

Reply 34 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t
K1n9_Duk3 wrote:

I could test it on the same systems as before, but it would be nice if you could provide a stripped-down version that fits on a floppy. I am definitely not going to waste my time trying to copy 37 megabytes onto any of these systems.

Let me see what I can do about that...

World's foremost 486 enjoyer.

Reply 35 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Alright, here you go, a version that will fit on a floppy disk. It's a self-extracting EXE. I stripped it of everything except for level 1, so don't try to load any of the other levels.

Still managed to get the (newly programmed) sound effects in there. You'll need a Sound Blaster-compatible card. If your test machine doesn't have one, let me know and I'll disable sound effects. Same for the music; needs OPL2.

Note: use F10+D to open debug info at top (top right corner is max possible framerate) and F10+J to turn on the jump cheat, activated by pressing the up arrow.

Filename
DEMO8SML.EXE
File size
423.34 KiB
Downloads
42 downloads
File license
Fair use/fair dealing exception

World's foremost 486 enjoyer.

Reply 36 of 40, by keenmaster486

User metadata
Rank l33t
Rank
l33t

See here: Testing and fixing UniPCemu's CPU and UniPCemu progress for some more binaries compiled with different switches, which may or may not change make it work on various machines.

World's foremost 486 enjoyer.

Reply 37 of 40, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

486 SX 25 Mhz, 4 MB RAM, DOS 6.xx:
default EXE freezes with a General Protection Fault

Pentium-S 200 Mhz, 64 MB RAM, SoundBlaster 16 (CT2940), Win98 SE + DOS mode:
Game is playable. Music plays fine, but sound effects stop working entirely after the first bit of the "enter level" sound.

Pentium-S 133 MHz, 16 MB RAM, some Aztec sound card, Win95 DOS mode:
Game is playable. Sound effects stop working entirely after the first bit of the "enter level" sound. Sometimes I didn't get any music at all, sometimes music was present but completely garbled.

Pentium MMX 266 MHz, 160 MB RAM (64 MB usable in DOS 6.22), on-board ESS Audio Drive, DOS 6.22:
Game is playable, but constantly interrupted by pc speaker beeps (probably because the BIOS keyboard buffer is overflowing). Music plays fine, but sound effects stop working entirely after the first bit of the "enter level" sound.

Pentium 75 Mhz, 24 MB RAM, "Media Vision Pro Audio Deluxe/ProSonic/Jazz-16", DOS 6.22:
Game is playable but noticeably slower than on the other systems (debug says "mfr: 78" while scrolling) and often interrupted by pc speaker beeps (probably because the BIOS keyboard buffer is overflowing). Music plays fine, but sound effects stop working entirely after the first bit of the "enter level" sound. Game still misses key releases (Keen keeps walking until I hit and release the key again) and still freezes the system after a short while.

A few general issues I want to point out:

- You really should do something to clear the BIOS keyboard buffer when the game quits. I made the mistake of running the game from DosZip on the Pentium MMX and couldn't quit the game because all the times I hit enter when the game started were still in the input queue after quitting and were now processed by DosZip, so the program keept restarting every time I quit.

- Your game drastically increases sound and music volume at startup. My ears still hurt from the first time I ran it on actual hardware. It would be nice to have an option to customize the volume via config files.

- Quitting the game completely turns off the volume of the OPL chip, so every program I start afterwards that was designed to work on "real" AdLib cards (which didn't have software volume settings at all IIRC) don't play any sounds or music. Well, technically they do play them, but I can't hear anything because the volume is set to 0. The first time I noticed this was on the P133, as I started Wolf3D after running your game to see if the sound card was okay. When I didn't get any music, I thought the sound card had died. But the digitized effects still worked, so this was just because the OPL volume was set to 0 by your program. After re-testing on the same machine, AdLib sound/music works fine in Wolf3D and other games before I start your game and stops working at all after I quit your game. The same happpened on the MMX and the P200 (all systems booted to DOS/command prompt only). This doesn't seem to happen when the game is run directly from Windows 98 (probalby 95 as well), but what's the point of creating a DOS game that needs to be run from Windows to avoid such issues?

Just in case it wasn't obvious: All Pentium machines are equipped with soundblaster(-compatible) sound chips, have the correct settings in the BLASTER environment variable and play sounds and music perfectly fine in other games. I could swap the Aztec and SB16 sound cards and see if the problem is the card or the system, but only if you really need it. I think as long as the sound code doesn't work on any of my systems there's not really a point in tackling that "minor" issue right now.

- The fact that the first bit of the sound effect is played and playback stops after that suggests that your game is using an incorrect IRQ setting (assuming it uses the IRQ and doesn't send the samples directly).

I'm not familiar with FreeBasic, so I don't know if these issues are caused by something in your code or if the cause lies in the FreeBasic libraries.

Last edited by K1n9_Duk3 on 2019-02-21, 23:14. Edited 1 time in total.

Reply 38 of 40, by K1n9_Duk3

User metadata
Rank Member
Rank
Member

Okay, I think there is an even bigger problem here. At first I didn't think I had to test the new version on the other two systems, since the old version worked fine. But now I'm glad I did test it again:

K6-2+ 533 MHz, 120 MB RAM, ESS Maestro 3, Win98 + DOS mode:
Sound & music work perfectly fine under Windows 98, but quitting/booting to DOS mode causes the game to quit with a General Protection Fault after the first draw (around the same time when the sound effects stop working on the other systems).

Pentium II 366 Mhz 64 MB RAM, Win98 DOS mode: (doesn't have soundblaster-compatible audio hardware)
The old demo used to work, but the new one complains about the BLASTER variable not being set and doesn't seem to react to anything other than CTRL+C at that point. If I set up a dummy BLASTER variable it doesn't display any message, but still stops at the same spot. I tried this on Win98 booted to DOS mode, since the system has some issue that causes it to power off shortly after the Win98 GUI is loaded.

Reply 39 of 40, by bjwil1991

User metadata
Rank l33t
Rank
l33t

I tested the game on the following system:

IBM ThinkPad 380D (Pentium 150, 48MB RAM, Crystal CS4236B, DSTN 12.1" 800x600, 1.35GB HDD, 3.5" 1.44 FDD, CD-ROM, Windows 95B converted from FAT16 to FAT32), and the game does load after I set the BLASTER parameter in the autoexec.bat file. The game loads without issues, but, after playing for about a minute or so, the game locks up, but, I can press CTRL-ALT-DEL to restart the computer without issues. This was in Windows 95B DOS Mode.

I enabled the XMS memory (has 584KB free of conventional memory).

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser