Jump to content











Photo
- - - - -

GRUB4DOS and Floppy Bird

floppy bird

  • Please log in to reply
4 replies to this topic

#1 ppgrainbow

ppgrainbow

    Member

  • Members
  • 70 posts

Posted 10 May 2016 - 05:19 AM

Has anyone tried to play the Floppy Bird game lately? If you have tried it under GRUB4DOS, the floppy disk booter image will boot without any problems.

There is one bug when I try to exit Floppy Bird under GRUB4DOS 0.4.6a 2016-04-26 (latest release). When I press the ESC key, the blue "GRUB" text (320 x 200) gets displayed continuously until I press Right Ctrl-Del key (equivlant to CTRL-ALT-DELETE) as I'm running this under Virtual PC.

 

Is this a bug in the latest version of GRUB4DOS or a bug on the developer's end?



#2 tinybit

tinybit

    Gold Member

  • Developer
  • 1175 posts
  •  
    China

Posted 10 May 2016 - 11:07 AM

Try various version combinations of Floppy Bird and grub4dos 0.4.5c/0.4.6a, in order to find out the root of the problem.



#3 ppgrainbow

ppgrainbow

    Member

  • Members
  • 70 posts

Posted 10 May 2016 - 11:56 AM

Try various version combinations of Floppy Bird and grub4dos 0.4.5c/0.4.6a, in order to find out the root of the problem.

 

I'll try various versions of Floppy Bird and GRUB4DOS to see what could be wrong here and report back. :)



#4 tinybit

tinybit

    Gold Member

  • Developer
  • 1175 posts
  •  
    China

Posted 10 May 2016 - 02:45 PM

; ==============================
; PROTOTYPE : void reboot(void)
; INPUT : n/a
; RETURN : n/a
; ==============================
reboot:
mov ax, 0
int 19h
ret

the above code of Floppy Bird is wrong!

It should be like the following:

reboot:
mov ax, 0
mov es, ax
mov di, 0472h
stosw
dec ax
push ax ; AX=0FFFFh
push es ; ES=0
retf ; far jump to FFFF:0000

Note that the int 19h call should not be used because it is not reliable.

#5 ppgrainbow

ppgrainbow

    Member

  • Members
  • 70 posts

Posted 11 May 2016 - 06:44 AM

; ==============================
; PROTOTYPE : void reboot(void)
; INPUT : n/a
; RETURN : n/a
; ==============================
reboot:
mov ax, 0
int 19h
ret

the above code of Floppy Bird is wrong!

It should be like the following:

reboot:
mov ax, 0
mov es, ax
mov di, 0472h
stosw
dec ax
push ax ; AX=0FFFFh
push es ; ES=0
retf ; far jump to FFFF:0000

Note that the int 19h call should not be used because it is not reliable.

 

Uh, oh! That doesn't sound too good! I sure hope that the developer is aware of this bug and fixes the issue.

 

For some odd reason, I used a clean test VM called "Floppy Bird" that dual-boots between MS-DOS and the Floppy Bird booter game (FLOPBIRD.IMG), I pressed the ESC button and for some reason, the game would reset itself. The only way I can get out of the game is to press Right Ctrl+Del.

 

The blue "GRUB" text bug upon exit only occurs when I have GRUB4DOS in graphics mode instead of text mode.


Edited by ppgrainbow, 11 May 2016 - 06:46 AM.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users