[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VBL Interrupts - more findings



Yves McDonald wrote:

The plot thickens... The more I read Apple 2e Tech. Ref manual, the less I think there will be an universal timer interrupt source for all apple 2s prior to the GS. The Apple 2C has handy soft-switches (addresses tied to I/O operations) to control VBL interrupts. It also has more soft-switches than the //e. The enhanced Apple //e handles VBL interrupts only if there's a memory card in its auxiliary slot. I have not found any way to control this interrupt source yet - perhaps it's turned on by default in the boot process or when 80 column display is enabled.

Some of the cc65 source tests for different processors and models. Something like this will probably be necessary for the Apple 2. The number of options availible makes this a pretty complex task, unless there is general method of determing whether the interrupts exist.

In the //c it seems easy, it may be fairly simple in the //e but the ][e might require testing for certain cards as would the ][ and ][+.

It looks more and more like a port of contiki to an base Apple ][ which will run on all Apple 2s (][, ][+, ][e, //c, //e) may not be possible and some additional hardware ( mouse card, memory card, interrupt card) or other hardware mod may be needed.

One way to test this is to write a small interrupt handler in assembler which toggle the speaker output. We should hear a 60 Hz tone if interrupts are present and handled. Another way is to probe IRQ* pin on the 65C02 with a logic probe - a more reliable test. The Apple Mouse card also generates VBL interrupts for smooth cursor movements but little is said about mouse firmware in the manual so I won't speculate about it. The mouse card could be a requirement for ][+ users. Mouse support would be cool for the user interface anyway :).

Except Contiki doesn't support a mouse yet.

Hope this help, this is not an easy one to solve.

Yves

I hope someone comes up with an elegant solution for this problem.

--
Rob

"Never ascribe to malice that which can be adequately explained by stupidity"