https://github.com/wavemotion-dave/ColecoDS
V3.3: 22-Nov-2021 by wavemotion-dave
- AY sound channels are now independent - for a CV total of 6 channels across 2 sound chips on SGM games.
- Added MC/AY/SGM indicators on-screen for enhanced carts.
- Other cleanups and minor improvements across the board.
Frustrating weekend. I spent 8+ hours trying to figure out why some of the bank-switching games won't run (most notably Uridium and Deep Dungeon Adventure). Nothing obvious is being done wrong - virtually all other 128K bank switch games are running fine. It might be something to do with the emulation if input controller ports - for example Deep Dungeon Adventure is definitely waiting for something (and if you press 5 on controller #2 it will launch an "Easter egg" game... so it's not like the code has just crashed or anything).
I'm also discovering that ColEM base emulator (which is one of the first open source emulators out there and heavily ported) is buggy. The VDP video latching is not done correctly - (the data latch should clear on control writes and data reads) but when you try to do it correctly many games break. Even the original source code makes it clear that they had to disable some of the "proper" emulation features to get it to run most games right. I'm not keen on going into a massive debug cycle to try and get these last few games running.
I'm also frustrated with sound. I'm using the same assembly flubba core but it still sounds a bit scratchy compared to S8DS. It must be the output side - I'm still using the default ARM7 audio output core and flubba has long since moved on to something called maxmod which I may try to get hooked in.
Overall this hasn't been as smooth as I'd have liked. Someone slap me in the head if I take on another emulator for the DS