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

Re: Banked CP/M 3.1 on Apple //e?



Steve \"Usotsuki\" Nickolas" wrote:

>Michael J. Mahon wrote:
>> RedskullDC wrote:
>> 
>> <snip>
>> 
>>>Need to ensure that Bank 0 , pages 0 and 1 (6502) are not switched out when
>>>the 6502 'wakes-up' to do a memory refresh.
>> 
>> 
>> I presume you mean a "register refresh" of the 6502, since Apple II RAM
>> is refreshed by the video generator.
>> 
>> And the 65C02 is a static design, so no "refresh" is required.
>> 
>> -michael
>> 
>> Check out amazing quality sound for 8-bit Apples on my
>> Home page:  http://members.aol.com/MJMahon/
>
>Good... I can settle for requiring the main CPU to be a 'C02, if it 
>makes it easier ;)

The point may be that the SoftCard hardware periodically pauses
the Z-80, and releases the DMA line, so that the Apple II 6502
can have a couple of cycles to refresh its dynamic registers.

If this means that the 6502 is "idling" in a short loop, and if that
loop requires page 0 and/or the stack page to be intact (curious,
since a "JMP *" should work fine), then provisions for that might
need to be made in a bank-switched scheme.

However, in an emulated system, the momentary de-assertion
of DMA is irrelevant for 6502 refresh, since the emulated 6502
certainly does not need refreshing!

It is possible, however, that the "idle" loop for the Apple II is
polling something important to continued functioning (such as
a printer buffer, or a UART), so that it is still vital for the simulated
6502 to periodically emulate a few cycles. If this is the case, then
clearly, the bank switching for the 6502's view of memory must be
what it expects.

-michael

Check out amazing quality sound for 8-bit Apples on my
Home page:  http://members.aol.com/MJMahon/