You seemed to be struggling to do a Basic menu program for the Atari computer and now expect to graduate to modifying what's probably a 2 Meg or bigger game on a system that's about 10 times as complex.
Probably uses character or bitmap for the moving objects but likely there's a fair bit of attribute use as well.
Constant pitched white noise... gets annoying as hell after about 10 seconds. The least they could have done was have some different noises for buses etc. And maybe throw in some emergency vehicles that you have to clear a path for... or maybe it already has that, I didn't hang around for very long.
Lotharek makes and sells the VBXE now but I believe candle is probably more involved in development since it went to V2 back around 2009.
VBXE uses a modified LAOO.ACT palette which is biased more towards PAL than NTSC.
I've looked at the flashable core file and can't see any embedded data which looks like a palette. It's a fairly easy scan since the core files seem to have lots of grouped zeros and palette files don't.
My guess would be one of these:
- palette not contained within normally flashed core area?
- the palette is compressed or stored out of normal RGBRGB sequence?
- the palette is derived procedurally?
The palette is 768 bytes so you may as well assume a 7-8 sector boot program to do your own every time if you go that route.
An alternative if you have a flashable multi-OS upgrade could be to do a modified OS. Would probably be easiest to use the second character set to store the palette and initilization code which would only need to run on coldstart.
The Leaderboard dongle protection was stupidly simple. I cracked that game myself, from memory it did left/right stick at the same time, which I thought wasn't very smart as you could use a pair of taped down paddle buttons to simulate it if you couldn't be bothered with the buck-fifty worth of parts and 5 minutes worth of soldering to DIY dongle.
A DLI every 2 character lines shouldn't slow things down much.
DLIs with scrolling have potential for problems but most can be solved with some thinking and flexible programming.
With HScrolling, more DMA which itself is variable means less cycles available. If possible, only using larger HScrol values means the DMA window gets slightly smaller as it's cut off on the right hand of the screen.
With VScrolling especially where it's adjacent to static character display like a score panel there's potential for 2 or more badlines in succession.
e.g. If VScrol = 07 that means you get 2 badlines in a row.
That in itself isn't usually a problem but if DLIs are in use it can be. If a DLI is needed on the last part of a static area before scrolling e.g. for colour changing then it might be a good idea to test for that successive DLIs condition and just jump into the second DLI's code after disabling the DLI NMIs - probably needing to add some delay to produce a similar condition to normal NMI entry. Then just re-enable DLIs by default near the end of the following DLI when it's guaranteed a double-trigger won't occur.
"Kernal" type code blocks generally not the best idea if you want lots of processing time left over.
Another alternate can be Pokey Timers (e.g. Project M) but they have problems in that you need 16 KHz mode for the scanline synced mode and use of things like INIT or STIMER have unwanted effects on playing audio.
In some respects the 2600 PMs are more powerful than the computers - we lose the repeat ability which allows the 2600 to have 6 for the price of 2.
What kills the idea more than anything though is the cycle dependant positioning. There's just no easy way to run native 6502 code then detect what cycle offset a register hit takes place on when the hosting machine is less than about 50 times as fast.
DVD/Bluray - put half a minute of copyright and legla crap that plays every time and can't be skipped, annoying those who've payed for the thing. First thing anyone who pirates a movie does is remove that crap, so encouraging people to just source the free version in the first place.
Games - squeeze every last cent out of the punters. Sell "extra content" instead of having an open modding community. Have games perform online licence checks every time you start them. Remove online servers for multiplayer and licence checking after 3 years, rendering legal copies of the game useless.