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
*.o
*.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.
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

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 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();
}
}

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,
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};