From 8bit breadboard to 6502
Re: From 8bit breadboard to 6502
I agree - the 6502 choice is the clever choice! It makes good sense from an implementation perspective, although sometimes people complain about the SEC and the not-borrow.
Re: From 8bit breadboard to 6502
"BCC, or "branch on carry clear," means "branch if less than" if it's after a subtraction."
Thank you! Oh! So the XORing of the carry with Sub was unnecessary. Good to know! So I will simply letch the carry signal into the status register - and my code has to analyse what it means in case of subtraction or addition.
Thank you! Oh! So the XORing of the carry with Sub was unnecessary. Good to know! So I will simply letch the carry signal into the status register - and my code has to analyse what it means in case of subtraction or addition.
Re: From 8bit breadboard to 6502
I want to enhance my current breadboard computer to become a 65C02 (I know that this could take ages or will never be successful. But I need a target. And I will learn a lot)
This is why I asked for the microcode. In my breadboard computer I used an EEPROM for the control Logic.
(see screenshot) And I wonder if this is the same in the 65C02.
This is why I asked for the microcode. In my breadboard computer I used an EEPROM for the control Logic.
(see screenshot) And I wonder if this is the same in the 65C02.
Re: From 8bit breadboard to 6502
I think we know from die photos that the 65C02 structure and floorplan is very like the 6502: a large regular first-stage decode (often called a PLA, sometimes called a ROM) followed by a less regular second stage decode (often called random logic)
See here for example (blog post with video within) which we discussed here:
"65C02: Tear down, A look at the CMOS version of the 6502"
But I don't believe anyone has extracted the structure of a 65c02 in the way that visual6502 has done for the 6502.
See here for example (blog post with video within) which we discussed here:
"65C02: Tear down, A look at the CMOS version of the 6502"
But I don't believe anyone has extracted the structure of a 65c02 in the way that visual6502 has done for the 6502.
Re: From 8bit breadboard to 6502
Hi! Thanks! I am just printing out the patent he's referring to.
Exactly was I was looking for!
Patents cited on die:
http://www.google.ca/patents/US4800487
http://www.google.ca/patents/US4652992
http://www.google.ca/patents/US4876639
http://www.google.ca/patents/US4652992
Exactly was I was looking for!
Patents cited on die:
http://www.google.ca/patents/US4800487
http://www.google.ca/patents/US4652992
http://www.google.ca/patents/US4876639
http://www.google.ca/patents/US4652992
Re: From 8bit breadboard to 6502
Good thinking!
Re: From 8bit breadboard to 6502
Perhaps a typo - you missed this one:
https://www.google.com/patents/US4876639
Edit oops, meant this one:
https://www.google.com/patents/US4739475
Note that two of the four patents are for the '816.
https://www.google.com/patents/US4876639
Edit oops, meant this one:
https://www.google.com/patents/US4739475
Note that two of the four patents are for the '816.
- GARTHWILSON
- Forum Moderator
- Posts: 8775
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: From 8bit breadboard to 6502
GARTHWILSON wrote:
nei02 wrote:
I want to implement a BCC and BCS.
I assume that this is equal to a "less than" .
I assume that this is equal to a "less than" .
Code: Select all
SEC ; Set carry flag to start. (This may be unwanted or unneeded
; in a few situations.)
LDA VarLowByte ; Get the low byte of your two-byte (ie, 16-bit) variable,
SBC #$61 ; subtract the low byte of your two-byte constant, and
STA VarLowByte ; put the result back in the variable.
; Now leave C alone. The resulting C value from above gets
; used in the SBC below. If C=clear, the resulting high byte
; below will be 1 less than it otherwise would have been.
LDA VarHighByte ; Now get the high byte of your two-byte variable,
SBC #3 ; subtract the high byte of your two-byte constant, and
STA VarHighByte ; put the result back in the variable. At the end, C=clear
; means the variable was less than $361 before you started.Code: Select all
SEC ; Set carry flag to start (although this will be unwanted or unnecessary in some situations).
LDA VarLowByte ; Get the low byte of your 2-byte variable.
SBC #2 ; Subtract 2,
STA VarLowByte ; and put it back.
BCS 1$ ; If the low byte started with at least 2, there was no need to borrow, so skip the DEC instruction.
DEC VarHighByte ; Else, decrement the high byte to reflect that there was a borrow from it.
1$: <continue>http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: From 8bit breadboard to 6502
Thank you. I just print out the last pages of the 6502 manual. This information is missing in the 65C02 manual.
And I will start to print the first 40 pages of the programmers guide. Thanks for all the tipps.
And I will start to print the first 40 pages of the programmers guide. Thanks for all the tipps.
Re: From 8bit breadboard to 6502
Hi,
I dont have a 10pF to connect the crystal to the 65c51.
Can I take another value?
I dont have a 10pF to connect the crystal to the 65c51.
Can I take another value?
Re: From 8bit breadboard to 6502
No harm in trying different values -- anything under 50 pF, say. Or it might work with no cap at all. But if you run into quirky behavior then try to get a cap that's at least close to spec. Have fun! 
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: From 8bit breadboard to 6502
Thanks!
Currently I have a 100nF connected.
I get only dots ...........
I adapted a little program to write Hello to the ACIA in a loop:
========================
.alias ACIA $4080
.alias ACIA_DATA ACIA+0
.alias ACIA_STAT ACIA+1
.alias ACIA_COMM ACIA+2
.alias ACIA_CTRL ACIA+3
RESET: LDX #$FF
TXS
LDA #$00
LDX #$00
LDY #$00
STX ACIA_STAT
LDA ACIA_DATA
LDA #%00011110
STA ACIA_CTRL
LDA #%00001011
STA ACIA_COMM
START: LDY #$0
OUTPUT: LDA Hello,y
STA ACIA_DATA
CPY #5
INY
BNE OUTPUT
BEQ START
hello: .byte "HELLO", 0
========================
single stepping looks good.
I have certainly forgotten to connect some pins of the ACIA. Or the address decoding is not correct.
So I will have fun debugging!
Terminal configuration: Cool Term - 9600 8-N-1
Currently I have a 100nF connected.
I get only dots ...........
I adapted a little program to write Hello to the ACIA in a loop:
========================
.alias ACIA $4080
.alias ACIA_DATA ACIA+0
.alias ACIA_STAT ACIA+1
.alias ACIA_COMM ACIA+2
.alias ACIA_CTRL ACIA+3
RESET: LDX #$FF
TXS
LDA #$00
LDX #$00
LDY #$00
STX ACIA_STAT
LDA ACIA_DATA
LDA #%00011110
STA ACIA_CTRL
LDA #%00001011
STA ACIA_COMM
START: LDY #$0
OUTPUT: LDA Hello,y
STA ACIA_DATA
CPY #5
INY
BNE OUTPUT
BEQ START
hello: .byte "HELLO", 0
========================
single stepping looks good.
I have certainly forgotten to connect some pins of the ACIA. Or the address decoding is not correct.
So I will have fun debugging!
Terminal configuration: Cool Term - 9600 8-N-1
Re: From 8bit breadboard to 6502
nei02 wrote:
Currently I have a 100nF connected.
nei02 wrote:
I get only dots ...........
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
Re: From 8bit breadboard to 6502
Hello,
I have no Oscilloscope. Do I need one?
The Voltage at pins 6,7 is 2,65 Volts
I have no Oscilloscope. Do I need one?
The Voltage at pins 6,7 is 2,65 Volts
Re: From 8bit breadboard to 6502
nei02 wrote:
The Voltage at pins 6,7 is 2,65 Volts
But we're not sure if it's producing the correct frequency. A 'scope would reveal that. And maybe your DMM can. Does it have a frequency range? One with sufficient range to measure the oscillator frequency?
Please answer the question about nF versus pF.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html