[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Choplifter, still no go on Apple IIc +
On Jun 27, 5:45 pm, Tom Greene <t...@cowgod.org> wrote:
> On Jun 27, 3:22 am, mdj <mdj....@gmail.com> wrote:
>
> > On Jun 20, 10:39 am, Tom Greene <t...@cowgod.org> wrote:
>
> > > > So, any other ideas? It'd be great to hear that someone has this
> > > > working on iic+ before I put more time frittering into it!
>
> > > I just dug out my IIc+ and Choplifter disk and I am seeing the same
> > > problem. It also hangs sometimes when only the chopper is firing and
> > > no tank is nearby.
>
> > Hmmm.... Both those events cause the game to produce sound. Has anyone
> > tried it with the sound turned off (probably ctrl-S or something) ?
> > The less soft-switches it hits, the less likely to cause a problem...
>
> I was actually just poking around some more and it seems like the
> problem is indeed related to the sound effects. Looking at the code,
> it sends audio to both the speaker and the cassette output. The
> cassette output at $C020 seems to be what's fouling things up, though
> I have no idea why this would be the case.
Bingo! I was going to suggest that this was the likely problem if it
worked OK without the sound.
On the (3.5" ROM and later) IIc, the Cassette output is used to toggle
between the two banks of ROM. Apparently Choplifter is using a ROM
routine, I would assume the Paddle input reading routines. which is
not present in one of the IIc+ ROM Banks.
In the earlier IIc's, there's a lot more duplicated code in the two
banks, which explains why it works fine on my ROM04. It seems the IIc+
is using a lot more ROM space, probably to control the Apple 3.5"
drive.
> There are four locations which reference the cassette output using a
> BIT $C020 instruction. If I replace the each of those instructions
> with NOPs, the game runs fine. I was able to get it running under
> ProDOS by doing:
>
> ]CALL -151
> *BF58: C0
> *BLOAD CHOPLIFTER
> *3BEC: EA EA EA
> *3BFA: EA EA EA
> *3DBE: EA EA EA
> *3DDE: EA EA EA
> *7FDG
Good pickup!
Matt