What's new
Are there any other vertical games on NG? Official or otherwise?
 
I've tested it with the MVS multi via "HOMEBW1" slot on a MV-1FZ(S) and there is massive buzzing instead of audio...
 
Are GFX OK?
Can you try with fpga file having 101 instead of 10 ?
 
Are GFX OK?
Can you try with fpga file having 101 instead of 10 ?
GFX are ok, sound is ok ok with fpga set to 101.

But I've found another issue: When the free play DIP switch is activated, the credit counter rapidly counts up (like 'autofire' :huh: ) and there is a constant buzzing/humming (also during game play). Without free play activated everything seems to be ok but it's hard to play in tate mode when the tv can't be rotated. :D
 
GFX are ok, sound is ok ok with fpga set to 101.

But I've found another issue: When the free play DIP switch is activated, the credit counter rapidly counts up (like 'autofire' :huh: ) and there is a constant buzzing/humming (also during game play). Without free play activated everything seems to be ok but it's hard to play in tate mode when the tv can't be rotated. :D
Do we know if this is a bug. I doubt it's related to the multi.
 
Do we know if this is a bug. I doubt it's related to the multi.
Yes, it's a bug. Confirmed in MAME (MVS)...

Not sure how to solve this one. The entire game is basically running as a Neo Geo demo because it (the original) just wasn't designed to work with the Neo Geo BIOS framework (bloody NAMCO, right?) It calls BIOSF_CREDIT_CHECK and BIOSF_CREDIT_DOWN when the game polls for new credits (which is actually handled in a custom CPU on the original arcade board) and when the MVS is set to FREEPLAY, BIOSF_CREDIT_CHECK always returns 'sufficient credits'. So the game thinks there's a new coin every time it reads. And Xevious itself didn't have a 'freeplay' option...

For now (on my development) I've disabled credit input on FREEPLAY, which means you can't actually play at all, but you don't get the endless credit problem. I'll probably have to modify the core to essentially give it a 'freeplay' dipswitch setting. That'll mean the attract mode won't run though, as Xevious - like a lot of other arcade games - stops and waits for 1P/2P start whenever it has credits...

EDIT: I guess another option is to use <C> & <D> to coin up and start...

UPDATE: I have a solution. The original was actually limiting credits to 99, and I had omitted that check in my transcode - doh! Now on FREEPLAY it'll take a few seconds to get to 99 credits, and effectively stay there thereafter.
 
Last edited:
I've tested it with the MVS multi via "HOMEBW1" slot on a MV-1FZ(S) and there is massive buzzing instead of audio...
Was it set to FREEPLAY by any chance? That's the game trying to play the COIN sample at 60Hz... (solved for next release - see above)
 
  • Like
Reactions: rtw
Was it set to FREEPLAY by any chance? That's the game trying to play the COIN sample at 60Hz... (solved for next release - see above)
Yes, this was buzzing #1. Buzzing #2 was fixed (at least for me) by changing the fpga file value to 101. :)

Thank you very much for your effort bringing the game to Neo Geo! :thumbup:
:thumbup::thumbup:


... any chance a button combo or else for screen rotation mode could be implemented?:saint:
 
Last edited:
... any chance a button combo or else for screen rotation mode could be implemented?:saint:
I thought long and hard about this. Aside from losing 64 pixels (8 tiles) of vertical resolution, there's the issue of scrolling the screen in the other dimension. Ordinarily with 16x16 tiles that wouldn't be a problem (of course a lot of other games do), but Xevious uses 8x8 tiles for the background. I found a limitation with sprite wrapping - the exact details escape me now as there has been so much in my head since - but basically it can't be done with shrunken sprites. There's a good write-up of it on one of the other forums, as someone else found the same problem as I experienced.

Given the number of tiles available on the Neo Geo, and the rather limited landscapes on the map, it might be possible to analyse the map and re-define it with 16x16 tiles if there aren't a ridiculous number of 2x2 tile combinations... but that's an exercise I haven't done yet.

Either way, it would require some thought on how to deal with the reduced resolution. You may be able to "squash" things a bit using zoom... but you also need to factor that into sprite coordinate calculations. The way the code works, it would all be done in one place as you update all the Neo Geo sprite registers every VBLANK. So not out of the question.

On that topic, years ago I got half-way through a transcode of Donkey Kong. I did actually start coding with optional screen rotation in mind. Much easier with a non-scrolling screen. Now that I've all-but-finished Xevious, my plan is to revisit that next and finish it off. Well more correctly, re-architect it in the way I have done Xevious. I think it will actually be relatively simple to provide alternate rotation options for that (I hope so anyway).

I was actually originally inspired by a transcode of Donkey Kong to the TRS-80 Color Computer 3 (6809). The tiles/sprites were shrunk to 7 pixels high (instead of 8.) and the results are very, very impressive - you wouldn't notice if you didn't know. Fortunately the Neo Geo does all the hard work for us with the shrinking. I did have some test renders in horizontal mode, but I was primarily working in tate mode during development. I think It's going to turn out well!

After Donkey Kong I want to work on a horizontal game, so it looks 1:1 on the Neo Geo on most cabinets! But there's not many horizontal games that I am interested enough in to put in the work. And a few that I am interested in, have weird resolutions like 256x256...
 
Thanks for your detailed answer to my question. No I can clearly understand why there is no screen rotation mode, yet.

I'm really looking forward to test and play your future ports. :thumbup:
 
Awesome explanation. Let me propose Ghosts'n Goblins or Double Dragon :)
 
Back
Top