Page 2 of 2

Posted: Wed Aug 25, 2010 9:30 pm
by GARTHWILSON
Quote:
where is the info on zero page/stack usage by certain opcodes?
I don't know of anywhere that lists that info is all in one place.

There will be hardware stack (in page 1) usage on the interrupts (BRK plus IRQ and NMI, and I believe RST too although what it stores is not normally something you ever need to read back so it's ok if it is lost) and RTI, then the counterparts JSR and RTS for subroutines and related tricks. Then add PHA, PLA, PHX, PLX, PHY, and PLY. This for the '02. The '816 has additional ones along the same lines, plus stack-relative addressing. I don't think you're using the '816 yet though, right?

Page 0 is used by all the op codes that use a one-byte operand that's an address.

I'm probably forgetting something but hopefully this is a pretty good summary.

Posted: Wed Aug 25, 2010 10:49 pm
by ElEctric_EyE
No. Not using 65816 yet, heh. (Even if I were I'd want to make it address 4GB!)

Thanks for the info!

Re: stupid question

Posted: Fri Aug 27, 2010 12:30 am
by BigDumbDinosaur
ElEctric_EyE wrote:
I guess the question boils down to, can the WDC65C02 run without RAM, if it is just addressing I/O?
This may have already been answered, but as long as you don't have any interrupts (requires a stack), subroutines (also requires a stack), storage needs or any indirect addressing modes, the answer would be yes. The question I would ask though is why build something that way? You'd be needlessly limiting what the system can do.

Posted: Fri Aug 27, 2010 1:42 am
by ElEctric_EyE
Minimalism my friend, minimalism. I'm trying to do alot with four IC's: EEPROM copy to SRAM, switching CPU speeds, trying to init a display I am unfamiliar with, and of course bank switch a 2Mx8 10nS SRAM. With the building blocks I learned from my 1st and 2nd iterations of the PWA, I tried to "do it all" at once, unsuccessfully... If I temporarily get rid of RAM (and associated wiring/socket adapter pinouts, etc), I have only CPU, FPGA, and EEPROM to deal with. Absolute bare minimum @1.25MHz!


Edit: Added "unsuccessful" & bank switch

Re: stupid question

Posted: Fri Aug 27, 2010 2:21 am
by kc5tja
BigDumbDinosaur wrote:
ElEctric_EyE wrote:
I guess the question boils down to, can the WDC65C02 run without RAM, if it is just addressing I/O?
This may have already been answered, but as long as you don't have any interrupts (requires a stack), subroutines (also requires a stack), storage needs or any indirect addressing modes, the answer would be yes. The question I would ask though is why build something that way? You'd be needlessly limiting what the system can do.
This is something which is more practical with a Z-80, since it has a larger set of registers. In fact, I remember a Radio-Electronics magazine article back in the early 80s which used a Z-80 in precisely this way to save the cost of a RAM chip.

The 6502, though? Unless you're doing something utterly trivial like reading from one port, shifting, and writing back to another port, I can't see it serving any real purpose. You're better off using a microcontroller for such applications.

Posted: Fri Aug 27, 2010 2:51 am
by GARTHWILSON
That's what the 6532 RIOT (RAM, I/O, and Timer) was for. If you didn't need much RAM, you could eliminate another IC and maybe reduce the number of ICs in the address decoding to zero.

Re: stupid question

Posted: Fri Aug 27, 2010 2:58 am
by ElEctric_EyE
kc5tja wrote:
BigDumbDinosaur wrote:
ElEctric_EyE wrote:
I guess the question boils down to, can the WDC65C02 run without RAM, if it is just addressing I/O?
This may have already been answered, but as long as you don't have any interrupts (requires a stack), subroutines (also requires a stack), storage needs or any indirect addressing modes, the answer would be yes. The question I would ask though is why build something that way? You'd be needlessly limiting what the system can do.
This is something which is more practical with a Z-80, since it has a larger set of registers. In fact, I remember a Radio-Electronics magazine article back in the early 80s which used a Z-80 in precisely this way to save the cost of a RAM chip.

The 6502, though? Unless you're doing something utterly trivial like reading from one port, shifting, and writing back to another port, I can't see it serving any real purpose. You're better off using a microcontroller for such applications.
I'm not one for typing very lengthy paragraphs, so I apologize I didn't mention in the original post of this thread that I was troubleshooting. Attempting to make the 6502 execute code with the least amount of IC's to initialize a TFT display.

I appreciate your inputs though! Makes me think...

Posted: Sat Aug 28, 2010 12:44 am
by BigDumbDinosaur
GARTHWILSON wrote:
That's what the 6532 RIOT (RAM, I/O, and Timer) was for. If you didn't need much RAM, you could eliminate another IC and maybe reduce the number of ICs in the address decoding to zero.
Forgot about those. Are they still around?

Posted: Sat Aug 28, 2010 6:52 am
by faybs
BigDumbDinosaur wrote:
GARTHWILSON wrote:
That's what the 6532 RIOT (RAM, I/O, and Timer) was for. If you didn't need much RAM, you could eliminate another IC and maybe reduce the number of ICs in the address decoding to zero.
Forgot about those. Are they still around?
Dunno if they have any left in stock, but here you go: http://www.jameco.com/webapp/wcs/stores ... ctId=43297

Posted: Sat Aug 28, 2010 5:22 pm
by Dimitri
Was the 6532 ever made into a CMOS version capable of handling higher speeds then the typical 1-2Mhz?

Dimitri

Posted: Sat Aug 28, 2010 10:52 pm
by GARTHWILSON
Quote:
Was the 6532 ever made into a CMOS version capable of handling higher speeds then the typical 1-2Mhz?
I don't think so.

Posted: Sun Aug 29, 2010 1:02 am
by Dimitri
I searched online and did not find anything, but thought I'd ask.

Dimitri