3 changed files with 1 additions and 72 deletions
@ -1,45 +0,0 @@
|
||||
const char ADDR[] = {22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52}; |
||||
const char DATA[] = {39, 41, 43, 45, 47, 49, 51, 53}; |
||||
#define CLOCK 2 |
||||
#define READ_WRITE 3 |
||||
|
||||
void setup() { |
||||
for (int n = 0; n < 16; n += 1) { |
||||
pinMode(ADDR[n], INPUT); |
||||
} |
||||
for (int n = 0; n < 8; n += 1) { |
||||
pinMode(DATA[n], INPUT); |
||||
} |
||||
pinMode(CLOCK, INPUT); |
||||
pinMode(READ_WRITE, INPUT); |
||||
|
||||
attachInterrupt(digitalPinToInterrupt(CLOCK), onClock, RISING); |
||||
|
||||
Serial.begin(57600); |
||||
} |
||||
|
||||
void onClock() { |
||||
char output[15]; |
||||
|
||||
unsigned int address = 0; |
||||
for (int n = 0; n < 16; n += 1) { |
||||
int bit = digitalRead(ADDR[n]) ? 1 : 0; |
||||
Serial.print(bit); |
||||
address = (address << 1) + bit; |
||||
} |
||||
|
||||
Serial.print(" "); |
||||
|
||||
unsigned int data = 0; |
||||
for (int n = 0; n < 8; n += 1) { |
||||
int bit = digitalRead(DATA[n]) ? 1 : 0; |
||||
Serial.print(bit); |
||||
data = (data << 1) + bit; |
||||
} |
||||
|
||||
sprintf(output, " %04x %c %02x", address, digitalRead(READ_WRITE) ? 'r' : 'W', data); |
||||
Serial.println(output);
|
||||
} |
||||
|
||||
void loop() { |
||||
} |
@ -1,5 +1,3 @@
|
||||
# 6502 |
||||
|
||||
Various 6502 related pieces, not 100% sure on licensing, but all the bits are based on the Ben Eater youtube series at: |
||||
|
||||
()[https://www.youtube.com/watch?v=LnzuMJLZRdU&list=PLowKtXNTBypFbtuVMUVXNR0z1mu7dp7eH] |
||||
Various 6502 related pieces, not 100% sure on licensing, but all the bits are based on the Ben Eater youtube series on [youtube](https://www.youtube.com/watch?v=LnzuMJLZRdU&list=PLowKtXNTBypFbtuVMUVXNR0z1mu7dp7eH). |
@ -1,24 +0,0 @@
|
||||
# |
||||
# Please see this video for details: |
||||
# https://www.youtube.com/watch?v=yl8vPW5hydQ |
||||
# |
||||
code = bytearray([ |
||||
0xa9, 0xff, # lda #$ff |
||||
0x8d, 0x02, 0x60, # sta $6002 |
||||
|
||||
0xa9, 0x55, # lda #$55 |
||||
0x8d, 0x00, 0x60, # sta $6000 |
||||
|
||||
0xa9, 0xaa, # lda #$aa |
||||
0x8d, 0x00, 0x60, # sta $6000 |
||||
|
||||
0x4c, 0x05, 0x80, # jmp $8005 |
||||
]) |
||||
|
||||
rom = code + bytearray([0xea] * (32768 - len(code))) |
||||
|
||||
rom[0x7ffc] = 0x00 |
||||
rom[0x7ffd] = 0x80 |
||||
|
||||
with open("rom.bin", "wb") as out_file: |
||||
out_file.write(rom) |
Loading…
Reference in new issue