![]() |
![]() |
![]() |
![]() |
![]() |
Make 'Ys I & II Eternal Story' able to boot.
Posted on 2005-12-27 00:00:00 |
Made the filename of the executable show up in the title bar of the emulator.
Started to work on the dialog that will allow the configuration of the various virtual file system bindings. Much of the user-interface code is done, but the connection with the emulator isn't complete: First, I wanted to be able to support changing the cdrom0 binding in the emulator after confirmation by the user, but this is getting a bit problematic to support because of the way FILEIO file handles for the cdrom0 device keeps a reference to the ISO9660 object I want to reinitialize. I also want to be able bind a physical CD/DVD reader, but I'll work on this at the end of this development. The host, mc0 and mc1 devices are also configurable, but those aren't connected at all with the emulator. Added a basic call stack window in the debugger. I did some more work on trying to make the program go a bit further. I was able to identify some more functions and gain, hopefully, a better understanding of how the program seems to work. First, it seems that two memory buffers are allocated: one for sound commands and another one for graphics commands. The way the main loop seems to be layed out is first, reset the screen (clear buffers), update the pad status, process general commands that spawn threads, synchronize CD-ROM read commands, obtain a pointer to the sound command buffer and process it by calling the, what I think to be the, IOP sound module, obtain a pointer to the graphics command buffer and process the commands and finally wait for the next v-sync. The problem right now though is that it doesn't seem to call any game logic code at all. I've been able to localize it, but nothing seems to get called. But I think I found the problem. Seems like there's a problem with the semaphore/threads stuff. I'll be working on it tomorrow. |