This commit is contained in:
Stefano Furiosi 2017-09-06 22:39:16 -07:00
parent d2385a9d3f
commit a773d0dffa
4 changed files with 39 additions and 5 deletions

2
.gitignore vendored
View File

@ -4,3 +4,5 @@
*.sym *.sym
*.o *.o
*.lst *.lst
.piolibdeps
.vscode

View File

@ -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. 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 ## Apple 1 Address Space
$0000-$0FFF ------------- 4KB Standard RAM $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/ - https://coronax.wordpress.com/projects/project65/
- http://archive.computerhistory.org/resources/text/Apple/Apple.AppleI.1976.102646518.pdf (apple 1 official manual) - http://archive.computerhistory.org/resources/text/Apple/Apple.AppleI.1976.102646518.pdf (apple 1 official manual)
- https://en.wikipedia.org/wiki/WDC_65C02 - https://en.wikipedia.org/wiki/WDC_65C02
- http://www.westerndesigncenter.com/wdc/w65c21-chip.cfm - http://www.westerndesigncenter.com/wdc/w65c21-chip.cfm

View File

@ -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 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 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 ROM_ADDR = 0xFF00; // ROM
const unsigned int RAM_BANK1_ADDR = 0x0000; // RAM const unsigned int RAM_BANK1_ADDR = 0x0000; // RAM
const unsigned int RAM_BANK2_ADDR = 0xE000; // EXTENDED RAM const unsigned int RAM_BANK2_ADDR = 0xE000; // EXTENDED RAM
@ -336,4 +366,4 @@ void step() {
void loop () { void loop () {
step(); step();
} }

View File

@ -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, const uint8_t ROM[] = {0xD8, 0x58, 0xA0, 0x7F, 0x8C, 0x12, 0xD0, 0xA9,
0xA7, 0x8D, 0x11, 0xD0, 0x8D, 0x13, 0xD0, 0xC9, 0xA7, 0x8D, 0x11, 0xD0, 0x8D, 0x13, 0xD0, 0xC9,
0xDF, 0xF0, 0x13, 0xC9, 0x9B, 0xF0, 0x03, 0xC8, 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, 0x4A, 0x20, 0xE5, 0xFF, 0x68, 0x29, 0x0F, 0x09,
0xB0, 0xC9, 0xBA, 0x90, 0x02, 0x69, 0x06, 0x2C, 0xB0, 0xC9, 0xBA, 0x90, 0x02, 0x69, 0x06, 0x2C,
0x12, 0xD0, 0x30, 0xFB, 0x8D, 0x12, 0xD0, 0x60, 0x12, 0xD0, 0x30, 0xFB, 0x8D, 0x12, 0xD0, 0x60,
0x00, 0x00, 0x00, 0x0F, 0x00, 0xFF, 0x00, 0x00}; 0x00, 0x00, 0x00, 0x0F, 0x00, 0xFF, 0x00, 0x00};