spin2cpp icon indicating copy to clipboard operation
spin2cpp copied to clipboard

Remaining nucode issues wrt. emulator upcode

Open Wuerfel21 opened this issue 1 year ago • 1 comments

To follow up to P2LF, the stack smash fix does indeed work, but there's some other issues now.

MegaYume cannot currently compile upper in Nu mode because it can't seem to handle arrays in inline asm properly. This is actually an issue with the usbnew driver, so fairly critical I guess. The keystate function needs a size-2 array to block read into to make sure that it gets an atomic snapshot of the keyboard report.

NeoYume compiles, but the menu behaves oddly and freezes for short periods of time. Also, some games will hang after loading 5888k of data (23 dots). Sometimes this also corrupts the screen. No idea what distinguishes the working from the broken gamedb entries. Also, when it works it's really slow on some file types, but that's expected. Could probably rewrite all of the file types in inline asm like LOAD_CROM is.

It's bedtime again (was busy today), so not looking into debugging that one right now. Also here's some hope to finding your lost AV board.

Wuerfel21 avatar Sep 14 '23 22:09 Wuerfel21

usbnew compile error is fixed now.

Current status:

  • Megayume works now (including SRAM backup)
  • both programs have freezes during menu scrolling. Megayume is less affected, might be different problem - MY loads file contents while scrolling, does opening and closing files create GC objects that are too slow to collect in nu mode? (meanwhile NY's menu doesn't do any library calls)
  • NeoYume still mega busted and likes to crash at that exact 5888k point.

Wuerfel21 avatar Sep 27 '23 14:09 Wuerfel21