VOGONS


First post, by P4R4D0X

User metadata
Rank Member
Rank
Member

While I was looking MS-DOS games with boss key for the topic posted by sledge I remembered one from the past and wanted to show him but for some reason I found a bug in DOSBox. The game should be Ész-kerék by Babi-Szoft or Babinszki Zoltán, a DOS game inspired by a Hungarian TV quiz show called Kerék-bár very similar to Wheel of Fortune from 80's and early 90's. It was very popular in Hungary and some parts of Romania. I even found a recording from this show from 1992 which you can find here if you are interested.
Link: http://www.youtube.com/watch?v=8GfASssaBDg

In the game you will hear a PC speaker version of Glenn Miller - In the mood. It's really catchy but it might get a little bit annoying if you play a lot. Song: http://www.youtube.com/watch?v=fyxKJD-52Po

For testing I attached the game for you guys. Don't worry the game is freeware and the author encouraged people to pass it along to your friends. Also he even included his address and phone number just in case you happened to like the game and wanted some more stuff. Unfortunately this was the only software he wrote to my knowledge.

The game was programmed on a Hercules card based machine, and that's what the author recommends to use if you run it other machines. It will tell you right away but pretty much it will work with any graphics card.

Screenshot of the game running Hercules mode in DOSBox:

esz_000.png
Filename
esz_000.png
File size
12.64 KiB
Views
1617 views
File license
Fair use/fair dealing exception

All the keyboard functions are written in the user interface and here's what they mean.

F1-F10 - Boss key
ESC - Quit
ScrollLock - Music
CapsLock - Sound FX
Restart game: Ctrl-Home

To crash DOSBox all you need to do is press one of the function keys. Of course I'm using the default config file. The result is that DOSBox will hang. Please note that this happens with 0.74 and the latest SVN. Just launch the game, hit Enter a few times and press the Boss key. Here's what the Status Window will show you:

Illegal read from 6e624d6e, CS:IP        0:    82a7 
Illegal read from 6e624d6e, CS:IP 0: 82a7
Illegal read from 6e624d6e, CS:IP 0: 82a7

But I got also similar ones with different addresses too. But this is not all. Sometimes I got a black screen too with nothing in the status window. That's not all. I even got graphical artifacts and even sometimes the screen turns red!

esz_artifact.png
Filename
esz_artifact.png
File size
35.64 KiB
Views
1617 views
File license
Fair use/fair dealing exception
esz_red.png
Filename
esz_red.png
File size
31.26 KiB
Views
1617 views
File license
Fair use/fair dealing exception

So I ran it in a debugger enabled DOSBox build and here's what I get. It's another Illegal/Unhandled opcode.

  26997237: FILES:file open command 2 file Esz.Scr
29302043: CPU:CPU:GRP5:Illegal Call 7
29302043: CPU:Illegal/Unhandled opcode FFFF
29311796: IO:Writing 00 to port 1A58
29311798: IO:Read from port 1A58
29311802: IO:Writing 00 to port 7046
29311804: IO:Read from port 7046
29311808: IO:Writing 10 to port 0329
29311810: IO:Read from port 0329
29311814: IO:Writing 10 to port 02A1
29311816: IO:Read from port 02A1
29311820: IO:Writing 00 to port 00B8
29311822: IO:Read from port 00B8
29311838: IO:Writing 00 to port 3732
29311841: IO:Read from port 3732
29311841: IO:Read from port 3733
29311842: IO:Writing 00 to port 3733
Illegal read from 6e6b686e, CS:IP 0: 82a7
29311871: IO:Writing 5C to port 3130
29311906: CPU:Illegal/Unhandled opcode 63
Illegal read from 6e6b686e, CS:IP 0: 82a7
29319040: IO:Writing 00 to port 8553
29319040: IO:Writing 00 to port 8554
29319041: IO:Read from port 8553
29319057: CPU:Illegal/Unhandled opcode 63
Illegal read from 6e6b686e, CS:IP 0: 82a7
29326208: CPU:Illegal/Unhandled opcode 63
Illegal read from 6e6b686e, CS:IP 0: 82a7
29333359: CPU:Illegal/Unhandled opcode 63
Illegal read from 6e6b686e, CS:IP 0: 82a7

Now here's the catch... if I set the machine type to hercules, cga, tandy or pcjr the Boss key works just fine. It will show you a C:\> prompt on you bottom of the screen. If you wait on the Boss screen the ASCII smiley face will show up letting you know that the game is in the background. All the rest seems to be broken. I tried ega and almost 90% of the screen was messed up. I couldn't reproduce that but I got a similar one caught on screenshot.

esz_ega.png
Filename
esz_ega.png
File size
33.7 KiB
Views
1617 views
File license
Fair use/fair dealing exception

I checked the EXE with a hex editor and found some references to Borland BGI drivers, so it was compiled with one of Borland's compiler.

BGI Stroked Font V1.1 - Jun 5, 1989
Copyright (c) 1987,1988 Borland International

BGI Device Driver (CGA) 2.00 - Mar 21 1988
Copyright (c) 1987,1988 Borland International

BGI Device Driver (EGAVGA) 2.00 - Mar 21 1988
Copyright (c) 1987,1988 Borland International

BGI Device Driver (HERC) 2.00 - Mar 21 1988
Copyright (c) 1987,1988 Borland International

Portions Copyright (c) 1983,90 Borland

I'm 100% sure the game is not corrupted. While I was checking the EXE I found some references that pretty much tell you that the file has been tampered or modified by viruses. Now here's another interesting thing. For instance if I modify let's say a character from the strings it doesn't show me those messages, except that the program found the little devil inside itself. Now I get what that message was for after you started the game. So the game pretty much checks itself on every game launch. The only problem is that DOSBox hangs no matter if I set machine type to hercules in the config file.

Any ideas what is going on? If you need something translated feel free to ask and I will help as much as I can. Something is really wrong here... 😢

Attachments

  • Filename
    esz.zip
    File size
    70.22 KiB
    Downloads
    81 downloads
    File comment
    Ész-kerék - Hungarian "Wheel of Fortune" clone
    File license
    Fair use/fair dealing exception
Last edited by P4R4D0X on 2013-07-02, 16:23. Edited 2 times in total.

Reply 1 of 5, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

In EGA/VGA the game (mis)calculates a null pointer, causing it to overwrite portions of the IVT, which of course produces subsequent misbehavior. Booting real DOS does not appear to help with the pointer issue.

Is the bosskey feature known to work correctly on EGA/VGA systems? The game displays a message at startup saying (rough translation): Hercules looks better and was tested.

Reply 3 of 5, by P4R4D0X

User metadata
Rank Member
Rank
Member

Yup, Hercules works just fine as I mentioned. That works just as intended. Also CGA, Tandy and PCjr seems to be ok. Tried VMware Player, Virtual PC 2007 and PCem and I got the same effect. I'm not sure if that's the same thing on a real machine, but I have the feeling that this is a buggy game. By the way I forgot to mention if you run the game in Hercules mode the startup message won't appear. Only the little devil virus check. I would be glad if someone could test it on a real machine to see if the game hangs if the boss key is pressed.

Thank you ripsaw for the useful information about the situation!

Edit:

Graphical corruption on real HW ET4000 here

Thank you h-a-l-9000 for testing. This game is buggy by design. Sorry for the inconvenience guys!

Reply 4 of 5, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

it's calculating the amount of memory required to save the current screen, but the result exceeds 64kb in EGA mode, and so an allocation fails.
The result is a null pointer which is not checked first before being used for copying the screen memory.

Reply 5 of 5, by fillosaurus

User metadata
Rank Member
Rank
Member

Hungarian is indeed foreign language to me. Tried and tried again, many times, to learn. So far I did not got beyond the basics, even if I have many hungarian friends and co-workers.

Y2K box: AMD Athlon K75 (second generation slot A)@700, ASUS K7M motherboard, 256 MB SDRAM, ATI Radeon 7500+2xVoodoo2 in SLI, SB Live! 5.1, VIA USB 2.0 PCI card, 40 GB Seagate HDD.
WIP: external midi module based on NEC wavetable (Yamaha clone)