Again, not a lot of work done on Xevious today, but I've got joystick inputs working and you can move the Solvalou around the screen. It also moves somewhat randomly in attract mode.
The Namco custom chip(s) are responsible for reading joystick inputs and mapping them to one of 8 valid directions (0-7). It returns 8 for no or invalid input. The most efficient solution was a lookup table to map Neo Geo joystick inputs to 0-8.
Slower going atm as I invariably make silly little mistakes on the transcode, but they should become less and less frequent as it progresses. Things unique to the 68K code like not sign-extending the dX/dY values to a word when doing word arithmetic on sprite coordinates.
There are also instances where I've converted byte variables to word to make the 68K code more efficient (avoiding having to clear the top half of the word, for example). The downside is remembering which I've changed and which I haven't... unless I resort to - ugghhh - Hungarian notation. Nope.
Now that inputs are hooked up, I'm going to move onto the object table that is read as the map is constructed, and places the sprites for ground-based objects.