BillO wrote:
tetsujin wrote:
1: it's my business what modifications I make to my machine
Of course it is and I didn't mean to suggest otherwise. That doesn't change my sentiment though, does it?
Fair enough, I guess it just felt a little frustrating 'cause I came here feeling like it was a place where my desire to work with and upgrade a 6502 machine would be understood, and instead it felt like it was being discouraged. Though maybe that's on me. I needed to take some time to process that.
Personally I don't consider permanent alteration off the table. One thing I would like to explore in the future is ways to make the machine better for debugging. So, for instance, adding a NMI button could be useful there. The machine is a classic, and cutting its case isn't a decision I'd make lightly, but at the same time, I'm writing this chapter of the machine's history.
Dr Jefyll wrote:
Alright, maybe we can work through this. But even though there's a great deal of 65xx expertise on this forum, it's not a IIc forum and not everyone here knows what a Mockingboard is or what it does. (I don't.) So, some links and/or some descriptive text would be helpful.
A Mockingboard is a soundcard for the Apple II, using the AY-3-8910 interfaced with a VIA chip.
The Apple II provides what seems to me actually a pretty nice expansion bus system: 0xC000-0xCFFF is dedicated to I/O and each slot gets 16 + 256 memory addresses plus another 2048 that are shared cooperatively between the slots. The computer handles most of the address decoding so it seems pretty simple to build I/O cards for the full-size Apple II machines.
The trick to building a board like this on the IIc is, it actually doesn't have physical slots. It has integrated peripherals that occupy addresses in that I/O space. So on the IIc, creating any kind of card that occupies a "slot" (logically speaking) means not only decoding addresses and responding to the ones of interest, but also blocking that traffic from reaching the corresponding integrated device. I want to add a Mockingboard to my machine, but I also want to separate out the specialized piece of logic that masks out one of the IIc's built-in devices, so that creating an add-on for the IIc could be just as simple as for other Apple II machines.
Quote:
Also, and along the same lines, you don't seem to me to be asking any specific question. I get how you're attracted to having some of the 816's new instructions available (even though its extra address range won't be accessible if you use Daryl's adapter design). But, AIUI, Daryl's setup behaves like and presents the same pinout and signals as a 65C02, so I'm at a loss as to why there should be concern, as you say, about "the amount of time it would take the address bus to settle sufficiently, then for my I/O logic to recognize the address and isolate the bus."
The timing concern has to do with how the system behaves in cases where the CPU generates traffic that appears to be directed to some point in the original IIc hardware, but the expansion board recognizes that it's actually meant to go somewhere else - and so it has to disconnect the CPU from the IIc's data and address bus to prevent the traffic from having unwanted side-effects. Likewise if I add RAM using the '816's 24-bit address space (which would require adding circuitry to Daryl's design to provide latching for the top 8 bits of the address), I want to make sure that writes to that expansion RAM don't alter data in the IIc's regular RAM before my logic kicks in and isolates the bus. For the Mockingboard this isn't a huge problem (the board's VIAs are in a location that corresponds to the host system's built-in mouse card ROM) but for reads I don't want two different devices to wind up (briefly?) driving the bus, and for expansion memory writes I don't want those getting latched somewhere in the system before my logic isolates the bus and causing some location in the host system's RAM to get rewritten.
Some of this is going to be specific to the Apple II hardware, and as you say this forum might not be the best place for that kind of insight. But also I need to better understand the timing cycle of the 6502. For that, I don't know that I have specific questions yet, I need to build my understanding a bit more first.