Actually, it doesn't. The VIC chip has one more sound channel, so I added a bit of harmony on parts of the melody. The POKEY in Atari 800 also has four channels. I don't know how the title tune plays in that version, if it has more harmony that was removed in the C64 conversion. Also I can't be bothered loading a NES emulator to hear how they took on the tune (if at all?) on that version.
I wonder if there is some game developer who has struggled for years, then gone through a major life change (not necessarily a sex change) and got his/her breakthrough in the professional career. For that matter, I wonder how often it happens in other genres of artistic work (which I consider game programmers to belong to).
I don't know if this is likely to help this project to completion but I could easily convert a PCB normally destined for my low cost expander into a 32k game cartridge.
I could replace the RAM chip which normally cover all BLK 1,2,3 and 5 with a single 27c256.
You could therefore make the VIC version of MULE into a 32k game cartridge.
I suspect the easiest way to program something to fit in something like that is to use an ML monitor located a $B000. It would take away 4k of the 32k but still leave 28k for the game.
The cost of parts for doing it like that is very low. A OTP/PROM of 32k (27c256) costs only 1.50$. The logic decode 74ls08 is about 50 cents. All that's left is the PCB.
Let me get past the 19.5K limit first, and then we can start discuss custom memory configurations. With a bit of smart programming, I strongly believe a playable, MULE-like game should be possible to put together with +8K or at least +16K.
carlsson wrote:Let me get past the 19.5K limit first, and then we can start discuss custom memory configurations. With a bit of smart programming, I strongly believe a playable, MULE-like game should be possible to put together with +8K or at least +16K.
Maybe it's just me... back in 1983 it was cheaper to make a game cart fit in 8k than 16k but today, I can't even find a PROM/EPROM chip of less than 32k anyways... And a 32k ROM chip is 1.50$
And even if you don't plan to do it on a cart, an original VIC-1110 8K ram cart can so easily be boosted to 24k or 32k that it's a joke.
None of the carts I have ever seen for the VIC used more than 16k and I think that's really too bad. So much better games could have come out if companies had dared make 24k or 32k games.
I strongly encourage you to break the 16k barrier. I think it would greatly contribute to make M.U.L.E. for the VIC a much nicer game.
lda row ; already in ZP
asl
asl
asl ; carry is cleared
adc col ; also in ZP
eor #$ff ; invert value to make adc work as sbc
adc #49 ; size of matrix: 7*7 (in decimal)
clc ; required due to carry overflow
adc row ; "subtract" by row
tax ; and so on
The matrices are currently stored upside-down, right-to-left. It lets me draw the screen using "lda #rows; dec; bpl" without a cmp instruction. Maybe later on, I will find this setup cumbersome and revert the matrices back to normal layout. In that case, it will save three bytes from above.
Alas, development has stalled. If someone else is very eager, I can send them the sources - so far it only consists of some custom characters and routine to draw the squares. Last time I was working on the routine to select a plot.
Maybe if I'll get a vacation.. working 50+ hours per week plus scheduled tasks for the weekend quite exhausts my creativity.
Not an update as per se, but I found a project on World of Spectrum who are trying to re-implement M.U.L.E. in C. The thread was started in June this year and already spans 12 pages. I haven't read it yet, and am afraid that a forum co-effort tends to be more talk than action. At the same time, there was a request at the Oric forum Defence-Force for a M.U.L.E. port. If written in 6502 machine code rather than doing it in C (cc65), the VIC and Oric ports could possibly share code inbetween them.
No news, other than on Sunday evening I got to play the Atari 8-bit version for the first time. Now I can make my own comparisons between different versions, and know how the fourth voice in the title song is supposed to sound (the SID version only covers three voices, while POKEY and VIC-I both have four voices). Hopefully it is an artifact of playing NTSC games on PAL hardware, but I find the Atari computers to be terribly out of tune, perhaps even worse than the VIC-20!