Post by hydrophilic on Apr 9, 2018 9:05:08 GMT
robertb: if some company like Sony or Nintendo offered to pay me for a port, then I would do it. But I'm not going to set up a KickStarter account with a bogus name like Pentest. I do it for my love of the game, and share with everyone for free. If somebody wants to make an 80-column version (and perhaps make money in the process), then I'm okay with that too.
I've published a new (slightly enhanced) Alpha version. It still runs slow as molasses on a stock C128, but the AVG emulation has been fixed to run full-speed on a SuperCPU... this fix also improves stock C128 speed in some rare cases (like no/few enemies on-screen).
More importantly, this latest version fixes the mouse support. I discovered my initial/old mouse code had the same problem as an old MediaPlayer 128 release... which is to say it would work okay in VICE but fail miserably on a real C128. So now the mouse support works pretty well.
But I discovered an issue! If you plug in a mouse on a real C128 (or activate mouse emulation in VICE) *after* starting the game then things can go crazy! The reason is because my mouse code uses "auto-range" technology. In other words, in actively tracks the minimum and maximum values that your mouse can generate while running. But if you start the game without a mouse, and then plug one in, the min-max algorithm gets royally fouled up!
Now I could just add a lame disclaimer like, "be sure to attach your mouse BEFORE running the game". In fact, this is the type of crap I've come to expect from modern software (sad...). ANYWAY, a new feature is "Mouse Recalibration". If you do decide to attach a mouse after starting the game, just press "M" on the keyboard to recalibrate the range of your mouse/driving-wheel.
I also corrected the sounds' time-period, frequency-sweeps, and volume-sweeps to be compatible with 60Hz IRQs (as opposed to 180Hz of the arcade). This causes a slight issue with PAL running at 50Hz IRQ, but it doesn't affect gameplay. In regards to NTSC/PAL issues, I also created new initialization code. On game start-up, it tests if you have an NTSC or PAL machine and loads appropriate Frequency values for the SID chip.
In other words, the sound should now be NTSC/PAL accurate in regards to frequency, and the duration and sweeps should also be accurate if you have an NTSC machine (but the sound duration/sweeps will be a bit off if PAL). Yeah I know it ain't perfect, but this just an Alpha (proof-of-concept) version!
Finally (I almost forgot) you can now start the game with CAPS LOCK (ASCII/DIN) pressed. This will invoke "trouble-shooting" mode. It basically tests the (emulated) hardware. If there is a problem with the AVG, MathBox, or either PoKey a special code will display. My emulation passes these tests so there is no code. You can jump through the "trouble-shooting" tests by pressing ESC on a real C128 (default F1 on VICE). The main issue is sound is not emulated (don't ask why unless you want a long discussion!) Also, one of the 6 trouble-shooting screens has a graphic defect... I think this is due to my sloppy/fast division code but I'm not sure.
Well I could talk a lot more about the trouble-shooting mode or anything else if you like, but right now I'll shut up and let you try it.
The game disk can be downloaded here.
The full source code is available here.
I've published a new (slightly enhanced) Alpha version. It still runs slow as molasses on a stock C128, but the AVG emulation has been fixed to run full-speed on a SuperCPU... this fix also improves stock C128 speed in some rare cases (like no/few enemies on-screen).
More importantly, this latest version fixes the mouse support. I discovered my initial/old mouse code had the same problem as an old MediaPlayer 128 release... which is to say it would work okay in VICE but fail miserably on a real C128. So now the mouse support works pretty well.
But I discovered an issue! If you plug in a mouse on a real C128 (or activate mouse emulation in VICE) *after* starting the game then things can go crazy! The reason is because my mouse code uses "auto-range" technology. In other words, in actively tracks the minimum and maximum values that your mouse can generate while running. But if you start the game without a mouse, and then plug one in, the min-max algorithm gets royally fouled up!
Now I could just add a lame disclaimer like, "be sure to attach your mouse BEFORE running the game". In fact, this is the type of crap I've come to expect from modern software (sad...). ANYWAY, a new feature is "Mouse Recalibration". If you do decide to attach a mouse after starting the game, just press "M" on the keyboard to recalibrate the range of your mouse/driving-wheel.
I also corrected the sounds' time-period, frequency-sweeps, and volume-sweeps to be compatible with 60Hz IRQs (as opposed to 180Hz of the arcade). This causes a slight issue with PAL running at 50Hz IRQ, but it doesn't affect gameplay. In regards to NTSC/PAL issues, I also created new initialization code. On game start-up, it tests if you have an NTSC or PAL machine and loads appropriate Frequency values for the SID chip.
In other words, the sound should now be NTSC/PAL accurate in regards to frequency, and the duration and sweeps should also be accurate if you have an NTSC machine (but the sound duration/sweeps will be a bit off if PAL). Yeah I know it ain't perfect, but this just an Alpha (proof-of-concept) version!
Finally (I almost forgot) you can now start the game with CAPS LOCK (ASCII/DIN) pressed. This will invoke "trouble-shooting" mode. It basically tests the (emulated) hardware. If there is a problem with the AVG, MathBox, or either PoKey a special code will display. My emulation passes these tests so there is no code. You can jump through the "trouble-shooting" tests by pressing ESC on a real C128 (default F1 on VICE). The main issue is sound is not emulated (don't ask why unless you want a long discussion!) Also, one of the 6 trouble-shooting screens has a graphic defect... I think this is due to my sloppy/fast division code but I'm not sure.
Well I could talk a lot more about the trouble-shooting mode or anything else if you like, but right now I'll shut up and let you try it.
The game disk can be downloaded here.
The full source code is available here.