On 09/26/2018 07:58 AM, Rugxulo wrote:
Hi,

On Wed, Sep 26, 2018, 12:46 AM stecdose <stecd...@gmail.com <mailto:stecd...@gmail.com>> wrote:

    Can you tell me which OS/Hardware or VM you are using?

Well, I tested old DOSEMU and DOSBox before trying native FreeDOS unsuccessfully. Of course, it could be due to obscure bugs, configs, or a mix of other pieces.

_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


I have uploaded a dosbox.conf in that repo for x86-pong. It comes from dosbox-0.74 on linux and was only slightly modified to do autostart of pong. If you like you may try this config.

On Linux it's quite easy to use a new one, just go into the folder where it is and start 'dosbox', it uses the one in the current directory, if any. (maybe on windows it's the same behavior, but I don't know).

The thing, that it is making problems on real hardware is what gives me headache. I have relied on BIOS interrupts to be as compatible as possible. I am using these ints:

int 0x1A, func ah=0x00 - get time (for delay)

int 0x10, func ah=0x02 - set cursor

int 0x10, func ah=0x03 - get cursor

int 0x10, func ah=0x09 - print char with attr

int 0x10, func ah=0x0E - print char without attr

int 0x10, func ah=0x0A - print char repeated (for clrscr)

int 0x16, func ah=0x00 - get keyboard hit, read port 0x60 after success to get keyboard input


I suspect it has something to either with 1A/00 (get time) or 16/00 (keyboard hit).

If it runs too fast it will "fall over it's own feet" and the beep-buffer-thing sound like badly handled keyboard.

I am doing it this way:

[pseudocode]

wait_for_kbhit_to_be_true();

scancode = inb(0x60);


kbhit() {

    return retval_of_int_0x16_func_0x00();

}

[/pseudocode]

What type of machine do you use for FreeDOS you have tested on? Maybe something newer that has EFI and this bios compatiblity module? I never managed to install real DOS on one of my machines featuring this piece of junk. I suspect a buggy BIOS emulation in my case, maybe this is also true for you?

But if it is true, the question is, why also failing on dosemu and dosbox?


Nils



_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to