Posted: Tue Feb 09, 2010 9:54 pm
BigEd wrote:
(I think it must have been a typo, but I think Daryl's original response had the appearance of throwing down a challenge to reach 16 bytes.)
Cheers
Ed
Cheers
Ed
Daryl
Code: Select all
A2 FF .1 LDX #$FF
9A TXS
B8 .2 CLV
E8 .3 INX
50 FD BVC .3
DA PHX
D0 F9 BNE .2
60 RTS
xx FF DW .1 ;reset vector
Code: Select all
+-----------+
|6502 |
| | +----------+
| CLK|<----------|CLK |
| | | |
| D7-D0|--------+ | Clock|
| | | | (crystal)|
| A15-A0|======+ | +----------+
+-----------+ | |
| |
+-----------+ | |
|Address | | |
|decoding | | |
|logic | | |
| | | |
| A|<=====+ |
| | | |
| ROM SELECT|----+ | |
| | | | |
| SELECT(s)|==+ | | |
+-----------+ | | | |
| | | |
+-----------+ | | | |
|6522(s), | | | | |
|SRAM, | | | | | +----------+
|etc. | | | | | | ROM|
| | | | | | | |
| SELECT|<=+ +-|-|->|SELECT |
| | | | | |
| D7-D0|------|-+--|D7-D0 |
| | | | |
| A|<=====+===>|A |
+-----------+ +----------+
Code: Select all
+-----------+
|6502 |
| | +----------+
| CLK|<-----------+--|CLK |
| | | | |
| D7-D0|--------+ | | Clock|
| | | | | (crystal)|
| A15-A0|======+ | | +----------+
+-----------+ | | |
| | |
+-----------+ | | |
|Address | | | |
|decoding | | | |
|logic | | | |
| | | | | +----------+
| A|<=====+ | | | Counter|
| | | | | | |
| ROM SELECT|----+ | | +->|CLK |
| | | | | | |
| SELECT(s)|==+ | | | +==|Q |
+-----------+ | | | | | +----------+
| | | | |
+-----------+ | | | | | +----------+
|6522(s), | | | | | | | ROM|
|SRAM, | | | | | | | |
|etc. | | | | | +=>|A |
| | | | | | | |
| SELECT|<=+ +-|-|--+ | |
| | | | | | |
| D7-D0|------|-+ | | |
| | | | /| | |
| A|<=====+ +-< |<-|D7-D0 |
+-----------+ \| +----------+
Code: Select all
+-----------+
|6502 |
| |
| CLK|<-----------+
| | |
| D7-D0|--------+ |
| | | |
| A15-A0|======+ | |
+-----------+ | | |
| | |
+-----------+ | | |
|Address | | | |
|decoding | | | |
|logic | | | |
| | | | |
| A|<=====+ | |
| | | | |
| ROM SELECT|----+ | | |
| | | | | |
| SELECT(s)|==+ | | | |
+-----------+ | | | | |
| | | | | +---------+
+-----------+ | | | | | | Parallel|
|6522(s), | | | | | | | port|
|SRAM, | | | | | | | |
|etc. | | | | | +--|D8 |
| | | | | | | |
| SELECT|<=+ +-|-|--+ | |
| | | | | | |
| D7-D0|------|-+ | | |
| | | | /| | |
| A|<=====+ +-< |<-|D7-D0 |
+-----------+ \| +---------+
Code: Select all
cpldfit: version L.33 Xilinx Inc.
Fitter Report
Design Name: tinybootstrap Date: 2-13-2010, 5:54PM
Device Used: XC95108-15-PC84
Fitting Status: Successful
************************* Mapped Resource Summary **************************
Macrocells Product Terms Function Block Registers Pins
Used/Tot Used/Tot Inps Used/Tot Used/Tot Used/Tot
8 /108 ( 7%) 45 /540 ( 8%) 30 /216 ( 14%) 0 /108 ( 0%) 14 /69 ( 20%)Code: Select all
ldx #$00
txs
push_byte
pha
wait
cmp data_in
beq wait
lda data_in
bne push_byte
rts
Code: Select all
FFE8 A2 03 LDX #3
8E xx xx STX status
9A TXS
FFEE AD xx xx LDA status
4A LSR
90 FA BCC $FFEE
AD xx xx LDA data
48 PHA
E8 INX
D0 F3 BNE $FFEE
60 RTS
FFFC E8 FF DW $FFE8 ;reset vector
Code: Select all
start:
LDX #3
TXS
STX status ; initialise ACIA
getbyte:
PHA
waitbyte:
LDA status
LSR
BCC waitbyte
LDA data
BNE getbyte
RTS
DCW start ; reset vector