Compare commits

...

2 Commits

Author SHA1 Message Date
ebe0720627 notes 2025-10-20 17:03:59 +02:00
e7fdd945b5 Datasheets 2025-10-20 17:03:53 +02:00
12 changed files with 6044 additions and 0 deletions

BIN
datasheets/AT28C64B.pdf Normal file

Binary file not shown.

BIN
datasheets/Intel-P8254.pdf Normal file

Binary file not shown.

5959
datasheets/MC6845P.pdf Normal file

File diff suppressed because one or more lines are too long

BIN
datasheets/NEC-uPB8214C.pdf Normal file

Binary file not shown.

8
notes/color-video.md Normal file
View File

@@ -0,0 +1,8 @@
# Color Video
- 307_200/0x4_B000 Bytes needed (!)
- fits into 9\*32K RAM chips
- alternative 5\*64K RAM chips, 32K additional usable memory
- alternative 2\*128K RAM + 1\*32K RAM
- consider: memory needs to be duplicate
# TR9C1710

5
notes/input-output.md Normal file
View File

@@ -0,0 +1,5 @@
# I/O
- Intel-P8254 (Programmable Interval Timer)
- NEC-uPB8214C (Priority Interrupt Controller)
- 6522 (VIA)
- 6551 (ACIA)

30
notes/memory-layout.md Normal file
View File

@@ -0,0 +1,30 @@
# Memory Layout
- bank switching using 8-Bit register
- top 32K remain untouched
| start | end | use |
| :----- | :----- | :-- |
| 0x8000 | 0xDFFF | RAM |
| 0xE000 | 0xFFFF | ROM |
# Default (0X00)
| start | end | use |
| :----- | :----- | :-- |
| 0x0000 | 0x7FFF | I/O |
# Persistent Memory (0x01)
| start | end | use |
| :----- | :----- | :------ |
| 0x0000 | 0x7FFF | storage |
# Monochrome Video (0x0E, 0x0F)
| start | end | use |
| :----- | :----- | :--------------- |
| 0x0000 | 0x4AFF | VRAM |
| 0x6000 | 0x7FFF | character memory |
# Color Video
| start | end | use |
| :----- | :----- | :--------------- |
| 0x0000 | 0x4AFF | VRAM |
| 0x6000 | 0x7FFF | character memory |

11
notes/monochrome-video.md Normal file
View File

@@ -0,0 +1,11 @@
# Monochrome Video
- need 307_200 bits => 38_400/0x9600 Bytes
- 8K character memory
- 1x 64K RAM
- split in half
- each half into page (0x0000 - 0x4AFF)
- map character memory into top (0x6000 - 0x7FFF)
## Design
- derive CS from bank register, leave LSB free -> wire to MSB of VRAM address

View File

@@ -0,0 +1,2 @@
# Memory
- maybe implement filesystem

29
notes/vga.md Normal file
View File

@@ -0,0 +1,29 @@
# VGA
## Timings
### General Timings
| Attribute | Value |
| :------------------ | :---------- |
| Screan refresh rate | 60Hz |
| Vertical refresh | 31.46875kHz |
| Pixel frequency | 25.175 MHz |
### Horizontal Timings (line)
| Scanline part | Pixels | Time [us] |
| :------------ | :----- | :--------------- |
| Visible area | 640 | 25.422045680238 |
| Front porch | 16 | 0.63555114200596 |
| Sync Pulse | 96 | 3.8133068520357 |
| Back Porch | 48 | 1.9066534260179 |
| Whole line | 800 | 31.777557100298 |
### Vertical timing (frame)
| Frame part | Lines | Time [ms] |
| :----------- | :---- | :---------------- |
| Visible Area | 480 | 15.253227408143 |
| Front porch | 10 | 0.31777557100298 |
| Sync pulse | 2 | 0.063555114200596 |
| Back porch | 33 | 1.0486593843098 |
| Whole frame | 525 | 16.683217477656 |
## Additional Data
- 640*480 = 307_200