| |
Bacchus
Registered: Jan 2002 Posts: 156 |
Release id #224763 : Guntus +
The game has a really strange way of working. It triggers an NMI, which is used to play the music, and it also affecting how long it takes before the opponents show.
Our intro uses Ninjas trick to disable NMI (and I am fully aware Horizon used this also back in the days - Boogaloo explained it to me in the late 80s), and the game hence never started for me initially. Finding and fixing that issue, I also noted the frequency of the NMI using a ZeroPage address that the game itself never initializes. It's just assumed to be there. Two of the other version (Excess V1 and GP) out do not set this which means that they will act strangely. This one works as it should.
/Bacchus |
|
| |
Sentinel
Registered: Nov 2016 Posts: 20 |
Pontus,I know the problems with the Inufuto games, as the first of them I did last year really made me confusing.
Your version is running with correct sound speed, but I have an other sound issue. I only hear one of the 3 voices of the music. So the music starts later when the first tone of that voice appears and so no SFX at all.
Checked it on different Vice Versions and 3 different C-64 with and without Expansions.
Sentinel/Excess/TREX |
| |
Bacchus
Registered: Jan 2002 Posts: 156 |
@sentinel You might be right. Sound is always a tricky thing, if you do your work on an emulator, mostly running in warp mode.
I am fully aware that the cracker should ensure things work, but a coder who is sort of assuming that stuff in memory is in a certain way without any sort of relevant init.
/Bacchus |
| |
Danzig
Registered: Jun 2002 Posts: 440 |
in the year of the lord 2022 a zero page address and sid player initalization is the ultimate pitfall for "crackers" on c64 LMFAO... |
| |
Krill
Registered: Apr 2002 Posts: 2968 |
Ninja re-invented NMI disabling? :-O |
| |
chatGPZ
Registered: Dec 2001 Posts: 11348 |
Quote:in the year of the lord 2022 a zero page address and sid player initalization is the ultimate pitfall for "crackers" on c64 LMFAO...
This. As if relying on whatever values in memory isn't a basic "protection" strategy :o) LOL |
| |
Bacchus
Registered: Jan 2002 Posts: 156 |
I have dug a bit deeper into this.
It's no secret that I do all work in VICE (thanks @groepaz - I love the program!) and that is not 100% compatible, but so close that only "legends about the once in a blue moon will be evidence of the delta vs a native machine". So call me an "emulamer". I find the easiest path to the destination and go there. Feel free to make it more difficult for yourself.
This game (and possibly the other games from the same guy) is clearly using zero page addresses with assumed content. I have tested this in VICE with multiple configurations and also on an Ultimate64 with multiple configurations, and the summary is that on the Ultimate64, most of the time the value is about the same. But in my normal configuration - VICE + Action Replay 5.1 - it's most of the time something else.
What is also clear is that the GP version works just fine after a normal reset, with Action Replay and Super Snapshot, but it relies on the reset setting the value. The value normally gets to be about the same and the difference in speed that happens (yes they do), is not really noticeable. But if you just poke something else than the assumed value before running the program, it will bork out completely.
(The SID in my machine is faulty so don't judge the sound on this)
https://photos.google.com/photo/AF1QipNs1hRw7Y6hYkZO5iDFol51n4g..
In my own version, I do believe I set the values a bit too high (=too fast) and I also don't set different values between NTSC and PAL, so that is for sure something one could argue about. But it's not relying on chance, or other processes before ending up so that my code doesn't bork.
Generally speaking, the Excess V2 seems fine.
/Bacchus |
| |
hedning
Registered: Mar 2009 Posts: 4720 |
As long our version works as the original, we are fine. I never had any problems with it, and I tested it around 20-30 times on real hw here, both with and without cart and fastloader, while I compared it to the original. It's our standard procedure before shipping anything. |