diff --git a/.gitignore b/.gitignore index 1915eb6..8173e9b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ *.sym *.o *.lst +.piolibdeps +.vscode \ No newline at end of file diff --git a/README.md b/README.md index b82a1c5..4d79bb4 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,9 @@ Inside ASM folder you can find the woz_monitor_masm.asm source listing. This is The other sources you find there may be useful to debug the 6502 basic operations as you wire it. -If you are under OSX - you can install MASM via HomeBrew and use it to compile any asm source included the one above. +If you are under OSX - you can install MASM via HomeBrew and use it to compile any asm source included the one above: + + brew install masm ## Apple 1 Address Space $0000-$0FFF ------------- 4KB Standard RAM @@ -102,4 +104,4 @@ If you are under OSX - you can install MASM via HomeBrew and use it to compile a - https://coronax.wordpress.com/projects/project65/ - http://archive.computerhistory.org/resources/text/Apple/Apple.AppleI.1976.102646518.pdf (apple 1 official manual) - https://en.wikipedia.org/wiki/WDC_65C02 -- http://www.westerndesigncenter.com/wdc/w65c21-chip.cfm +- http://www.westerndesigncenter.com/wdc/w65c21-chip.cfm \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 9b18dd8..e3419a3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,6 +17,36 @@ const int RW_PIN = 53; // TO 6502 R/W const int ADDRESS_PINS[] = {44,45,2,3,4,5,6,7,8,9,10,11,12,13,46,47}; // TO ADDRESS PIN 1-15 6502 const int DATA_PINS[] = {33, 34, 35, 36, 37,38, 39, 40}; // TO DATA BUS PIN 0-7 6502 +/* + W65C02S <---> Arduino Due + + 3.3v GND 10uf ---- GND + | | +------\/------+ | + | +---- 1| VPB /RES |40 ---+------- +RST BTN- ---- GND + +--- 3k3 ----- 2| RDY PHI2O |39 + | 3| PHI1O SOB |38 + +--- 3k3 ----- 4| IRQ PHI2 |37 -------- 52 + | 5| MLB BE |36---3k3--------3.3v + +--- 3k3 ----- 6| /NMI NC |35 + | 7| SYNC R/W |34 -------- 53 + +------------- 8| VDD D0 |33 -------- 33 + 44 --------- 9| A0 D1 |32 -------- 34 + 45 --------- 10| A1 D2 |31 -------- 35 + 2 --------- 11| A2 D3 |30 -------- 36 + 3 --------- 12| A3 D4 |29 -------- 37 + 4 --------- 13| A4 D5 |28 -------- 38 + 5 --------- 14| A5 D6 |27 -------- 39 + 6 --------- 15| A6 D7 |26 -------- 40 + 7 --------- 16| A7 A15 |25 -------- 47 + 8 --------- 17| A8 A14 |24 -------- 46 + 9 --------- 18| A9 A13 |23 -------- 13 + 10 --------- 19| A10 A12 |22 -------- 12 + 11 --------- 20| A11 VSS |21 ---+ + +--------------+ | + GND +*/ + + const unsigned int ROM_ADDR = 0xFF00; // ROM const unsigned int RAM_BANK1_ADDR = 0x0000; // RAM const unsigned int RAM_BANK2_ADDR = 0xE000; // EXTENDED RAM @@ -336,4 +366,4 @@ void step() { void loop () { step(); -} +} \ No newline at end of file diff --git a/src/rom.h b/src/rom.h index 3097b23..4b5e3cd 100644 --- a/src/rom.h +++ b/src/rom.h @@ -1,5 +1,5 @@ -// WAZ MONITOR (Original Apple 1 ROM) +// WOZ MONITOR (Original Apple 1 ROM) const uint8_t ROM[] = {0xD8, 0x58, 0xA0, 0x7F, 0x8C, 0x12, 0xD0, 0xA9, 0xA7, 0x8D, 0x11, 0xD0, 0x8D, 0x13, 0xD0, 0xC9, 0xDF, 0xF0, 0x13, 0xC9, 0x9B, 0xF0, 0x03, 0xC8, @@ -31,4 +31,4 @@ const uint8_t ROM[] = {0xD8, 0x58, 0xA0, 0x7F, 0x8C, 0x12, 0xD0, 0xA9, 0x4A, 0x20, 0xE5, 0xFF, 0x68, 0x29, 0x0F, 0x09, 0xB0, 0xC9, 0xBA, 0x90, 0x02, 0x69, 0x06, 0x2C, 0x12, 0xD0, 0x30, 0xFB, 0x8D, 0x12, 0xD0, 0x60, -0x00, 0x00, 0x00, 0x0F, 0x00, 0xFF, 0x00, 0x00}; +0x00, 0x00, 0x00, 0x0F, 0x00, 0xFF, 0x00, 0x00}; \ No newline at end of file