Hi everybody,
I've today uploaded a preliminary test version of VICE 2.4. I finally get fed up of the public version not working.
http://www.retroreview.com/iang/Vice_AmigaOS4_2.4_test.lhaThe reasons why the public version didn't work are quite scary... it could
never have worked. It didn't do basic things like calling GetInterface() on the library base, and so of course fell over on the first library call. There's lots of AMIGA_OS4 defines in there, but none of them do the interface opening... yet it DOES call the interface
closing. Very strange. Fixed now.
Another crash was joyai_open() being called to initialise AmigaInput before the library was loaded. Also not good.
The best bit, though, and the trickiest bit, was the hang after the window had opened which is what you got if you fixed the other problems.
The Amiga code was calling p96LockBitMap() on the bitmap, and then calling the render routine, and then returning to call p96UnlockBitMap().
All seems fair enough? Yes. Until you realise that the render routine checks for a palette change, and can load the pallete
off disk.
Loading off disk while the BitMap is locked? Not a good idea. It would work, but then as soon as Vice tried to call BltBitMap on the bitmap it hung solid. Presumably the loading while locked trashed the bitmap structure somehow.
This version is here is the non-stripped version of x64. Copy it into the standard VICE-2.4 distribution, but make sure you either rename "x64.exe.info" to "x64.info", or call "x64" from the CLI. If you just double click on the icon from Workbench, it'll run x64.exe which is the old, broken version.
I am aware that the monitor crashes in the locale library. Probably a NULL interface again.
Any other crashes please report them in this thread and I'll see if I can fix them.