mirror of
https://github.com/stid/APPLE-1-ReplicaDue.git
synced 2024-06-04 22:29:29 +00:00
Cleanup
This commit is contained in:
parent
d2385a9d3f
commit
a773d0dffa
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -4,3 +4,5 @@
|
||||||
*.sym
|
*.sym
|
||||||
*.o
|
*.o
|
||||||
*.lst
|
*.lst
|
||||||
|
.piolibdeps
|
||||||
|
.vscode
|
|
@ -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
|
32
src/main.cpp
32
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 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();
|
||||||
}
|
}
|
|
@ -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};
|
Loading…
Reference in New Issue
Block a user