Intel 8049 (8048, 8748, 8749, 8035, 8039) / MCS-48 Hardware-Debugger & Monitor
Jmp1 to Jmp5 have the following function:
Jumper | Installed | Not installed |
---|---|---|
Jmp1 | Write access to bank registers via PROG is possible 128kB memory addressable Using the 8243 port expanders is not possible |
Write access to bank registers via PROG is not possible 4kB program- & 4kB data-memory addressable Using the 8243 port expanders is possible |
Jmp2 | Memory-mapped I/O enabled | Memory-mapped I/O disabled |
Jmp3 | I/O in upper 64k(*) if DA16=1 I/O in lower 64k(*) if DA16=0 | I/O in upper 64k(*) only (0x1FD00...0x1FDFF) |
Jmp4 | I/O in 4k/8k memory map is possible | I/O in 4k/8k memory map is not possible |
Jmp5 | Pos. 1-2 : DBL is part of the MMU Pos. 2-3 : DBL is equal to P2.0...P2.3 | Access to DBL is not possible (DBL = 0x00) |
(*) Lower 64k = 0x00000...0x0FFFF; Upper 64k = 0x10000...0x1FFFF
With "DA16" low-level can be forced on A16 regardless of the access target, therefore:
DA16 | System architecture |
---|---|
1 | Harvard-architecture (128kB memory addressable; separate memory areas for program and data) |
0 | Von-Neumann-architecture (64kB memory addressable; program and data share the same memory area) |
By installing or not installing Jmp1 to Jmp4, the following modes are configured:
Mode | Jmp1 | Jmp2 | Jmp3 | Jmp4 | DA16 | Memory Map |
---|---|---|---|---|---|---|
1 | Not installed | Not installed | Don't care | Don't care | N/A(*) | 1 |
2 | Not installed | Installed | Don't care | Installed | N/A(*) | 2 |
3 | Installed | Not installed | Don't care | Don't care | 1 | 3 |
3 | Installed | Not installed | Don't care | Don't care | 0 | 4 |
4 | Installed | Installed | Not installed | Not installed | 1 | 5 |
4 | Installed | Installed | Not installed | Not installed | 0 | 4 |
5 | Installed | Installed | Installed | Not installed | 1 | 5 |
5 | Installed | Installed | Installed | Not installed | 0 | 6 |
(*) DA16 is not accessible if Jmp1 is not installed. DA16 remains in the initialization state '1'.
The hardware modes configured by jumpers in conjunction with the DA16 signal under program control result in the following memory maps:
Memory Map | Description |
---|---|
1 | 4kByte program- + 4kByte data-memory |
2 | 4kByte program + 3.75kByte data memory, 256x memory-mapped I/O |
3 | 64kByte program + 63.5kByte data memory |
4 | 64kByte shared program-/data-memory (*) |
5 | 64kByte program- + 63.25kByte data-memory, 256x memory-mapped I/O |
6 | 63.75kByte shared program-/data-memory (*), 256x memory-mapped I/O |
(*) makes usually impossible write/read operations in the program memory possible, e.g. to load programs using software running on the MCS-48 µC itself.
Start(hex) | End(hex) | Type | Size(dec) |
---|---|---|---|
00000 | 00FFF | Program | 4096 |
10000 | 10FFF | Data | 4096 |
1FE00 | 1FFFF | Reserved | 512 |
Start(hex) | End(hex) | Type | Size(dec) |
---|---|---|---|
00000 | 00FFF | Program | 4096 |
10000 | 10CFF | Data | 3328 |
10D00 | 10DFF | I/O | 256 |
10E00 | 10FFF | Data | 512 |
1FE00 | 1FFFF | Reserved | 512 |
Start(hex) | End(hex) | Type | Size(dec) |
---|---|---|---|
00000 | 0FFFF | Program | 65536 |
10000 | 1FDFF | Data | 65024 |
1FE00 | 1FFFF | Reserved | 512 |
Start(hex) | End(hex) | Type | Size(dec) |
---|---|---|---|
00000 | 0FFFF | Program+Data | 65536 |
1FE00 | 1FFFF | Reserved | 512 |
Start(hex) | End(hex) | Type | Size(dec) |
---|---|---|---|
00000 | 0FFFF | Program | 65536 |
10000 | 1FCFF | Data | 64768 |
1FD00 | 1FDFF | I/O (*) | 256 |
1FE00 | 1FFFF | Reserved | 512 |
Start(hex) | End(hex) | Type | Size(dec) |
---|---|---|---|
00000 | 0FCFF | Program+Data | 64768 |
0FD00 | 0FDFF | I/O (*) | 256 |
0FE00 | 0FFFF | Program+Data | 512 |
1FE00 | 1FFFF | Reserved | 512 |