[hatari-devel] Wotanoid problem : Fixed for me ;)

Laurent Sallafranque laurent.sallafranque at free.fr
Sun Jan 24 00:21:17 CET 2010


Sorry, little mistake, the problem is in Fread, not Fopen.

I've looked at the compendium.
I haven't found anything about this -1 length call.


Regards

Laurent



Laurent Sallafranque a écrit :
> Ok, I've got wotanoid working ;)
>
> I had to patch 2 parts of hatari : gemdos and iomemtabFalcon
>
> As I'm not an expert at all with gemdos, I prefer asking you if my fix 
> is correct before upload it.
>
> The problem is in Fopen.
> The second value passed (number of octets to read was -1in the program)
>
> With this value, we immediately return.
> The Fread reads 0 octets and nothing is loaded from the file.
>
> I've added a test :
> if the parameter = -1, It loads the whole file.
>
>
> For iomemtabFalcon, I had to patch another memory address.
>
> Patch is just below.
> could you tell me if this is OK for you ?
>
> Regards
>
> Laurent
>
>
>
>
> diff -r ebc4d432fc2e src/gemdos.c
> --- a/src/gemdos.c      Fri Jan 22 00:44:43 2010 +0100
> +++ b/src/gemdos.c      Sun Jan 24 00:11:54 2010 +0100
> @@ -1747,6 +1747,9 @@
>
>        nBytesLeft = FileSize-CurrentPos;
>
> +       if (Size = -1)
> +               Size = FileSize;
> +
>        /* Check for bad size and End Of File */
>        if (Size <= 0 || nBytesLeft <= 0)
>        {
>
>
> diff -r ebc4d432fc2e src/ioMemTabFalcon.c
> --- a/src/ioMemTabFalcon.c      Fri Jan 22 00:44:43 2010 +0100
> +++ b/src/ioMemTabFalcon.c      Sun Jan 24 00:11:54 2010 +0100
> @@ -236,6 +236,7 @@
>
>        { 0xff9200, SIZE_WORD, Joy_StePadButtons_ReadWord, 
> IoMem_WriteWithoutInterception },    /* Joypad fire buttons */
>        { 0xff9202, SIZE_WORD, Joy_StePadMulti_ReadWord, 
> Joy_StePadMulti_WriteWord },     /* Joypad 
> directions/buttons/selection */
> +       { 0xff9206, SIZE_BYTE, IoMem_VoidRead, IoMem_VoidWrite 
> },                               /* No bus error here ; fix Wotanoid*/
>        { 0xff9210, SIZE_BYTE, IoMem_VoidRead, IoMem_VoidWrite 
> },                               /* No bus error here */
>        { 0xff9211, SIZE_BYTE, IoMem_VoidRead, 
> IoMem_WriteWithoutInterception },          /* Joypad 0 X position (?) */
>        { 0xff9212, SIZE_BYTE, IoMem_VoidRead, IoMem_VoidWrite 
> },                               /* No bus error here */
>
>
>




More information about the hatari-devel mailing list