diff --git a/6809-board-prototype-1/6809-board-prototype-1.kicad_sch b/6809-board-prototype-1/6809-board-prototype-1.kicad_sch index 7a90494..77047e0 100644 --- a/6809-board-prototype-1/6809-board-prototype-1.kicad_sch +++ b/6809-board-prototype-1/6809-board-prototype-1.kicad_sch @@ -3785,6 +3785,177 @@ ) ) ) + (symbol "Oscillator:CXO_DIP8" + (pin_names + (offset 0.254) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "X" + (at -5.08 6.35 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "CXO_DIP8" + (at 1.27 -6.35 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "Oscillator:Oscillator_DIP-8" + (at 11.43 -8.89 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://cdn-reichelt.de/documents/datenblatt/B400/OSZI.pdf" + (at -2.54 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Crystal Clock Oscillator, DIP8-style metal package" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "Crystal Clock Oscillator" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "Oscillator*DIP*8*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "CXO_DIP8_0_1" + (rectangle + (start -5.08 5.08) + (end 5.08 -5.08) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (polyline + (pts + (xy -1.905 -0.635) (xy -1.27 -0.635) (xy -1.27 0.635) (xy -0.635 0.635) (xy -0.635 -0.635) (xy 0 -0.635) + (xy 0 0.635) (xy 0.635 0.635) (xy 0.635 -0.635) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "CXO_DIP8_1_1" + (pin input line + (at -7.62 0 0) + (length 2.54) + (name "EN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -7.62 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "OUT" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 7.62 270) + (length 2.54) + (name "Vcc" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) (symbol "power:+5V" (power) (pin_numbers hide) @@ -7551,6 +7722,16 @@ ) (uuid "29a95b38-f643-49a0-b1b1-93516b26fe37") ) + (text "USE CANS FOR LOWER\nCOMPONENT COUNT? \nVERY CHEAP" + (exclude_from_sim no) + (at 179.07 139.7 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "2d199cbe-d792-46d8-937f-3770b01ca678") + ) (text "UART" (exclude_from_sim no) (at 219.71 55.88 0) @@ -9615,6 +9796,80 @@ ) ) ) + (symbol + (lib_id "Oscillator:CXO_DIP8") + (at 158.75 154.94 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "582eea3a-40e1-41ae-882d-4c16d5cfff15") + (property "Reference" "X3" + (at 168.91 148.6214 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "24MHz" + (at 168.91 151.1614 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Oscillator:Oscillator_DIP-8" + (at 170.18 163.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://cdn-reichelt.de/documents/datenblatt/B400/OSZI.pdf" + (at 156.21 154.94 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Crystal Clock Oscillator, DIP8-style metal package" + (at 158.75 154.94 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "5" + (uuid "b8fe37f8-e464-4ba4-ae3d-6aebc04ff91d") + ) + (pin "4" + (uuid "3802acb9-5c3d-403c-a101-2c3c267b4988") + ) + (pin "8" + (uuid "1e5a5f15-4efd-45d0-b668-2f4af36628b4") + ) + (pin "1" + (uuid "0e1a3106-2dcd-4558-8917-024b75923bc3") + ) + (instances + (project "" + (path "/73f02399-4449-4d3e-bf52-6d1b4c7a62b4" + (reference "X3") + (unit 1) + ) + ) + ) + ) (symbol (lib_id "power:GNDREF") (at 233.68 48.26 0) @@ -9944,7 +10199,7 @@ (justify left) ) ) - (property "Value" "?pF" + (property "Value" "20pF" (at 25.4 130.8162 0) (effects (font @@ -12105,7 +12360,7 @@ (justify left) ) ) - (property "Value" "?pF" + (property "Value" "20pF" (at 35.56 130.8162 0) (effects (font @@ -12340,6 +12595,80 @@ ) ) ) + (symbol + (lib_id "Oscillator:CXO_DIP8") + (at 181.61 154.94 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f06f1f9f-76a5-45b1-8c54-211945605b0c") + (property "Reference" "X4" + (at 193.04 148.6214 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "1.8432MHz" + (at 193.04 151.1614 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Oscillator:Oscillator_DIP-8" + (at 193.04 163.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://cdn-reichelt.de/documents/datenblatt/B400/OSZI.pdf" + (at 179.07 154.94 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Crystal Clock Oscillator, DIP8-style metal package" + (at 181.61 154.94 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "5" + (uuid "f897f2b1-b72a-466a-8f69-0400843ab3b7") + ) + (pin "4" + (uuid "2bc5aca2-a8f3-4c5a-a3ff-ea4daa5c87c0") + ) + (pin "8" + (uuid "2b7611e1-0bf5-4a90-9d75-c2352580fd41") + ) + (pin "1" + (uuid "8619d0e4-fa14-4997-a82c-61d5b083edec") + ) + (instances + (project "6809-board-prototype-1" + (path "/73f02399-4449-4d3e-bf52-6d1b4c7a62b4" + (reference "X4") + (unit 1) + ) + ) + ) + ) (symbol (lib_id "power:+5V") (at 238.76 40.64 0) @@ -12492,7 +12821,7 @@ (justify left) ) ) - (property "Value" "1.8432 MHz" + (property "Value" "1.8432MHz" (at 243.84 151.1299 90) (effects (font diff --git a/README.md b/README.md index 6b57476..daf8108 100644 --- a/README.md +++ b/README.md @@ -3,16 +3,18 @@ ## Description -The PC-09 will be a 6309 based microcomputer with a 74LS612 MMU, uPD72020 graphics and keyboard input. +The PC-09 will be a 6309 based microcomputer with a 74LS612 MMU, uPD72020 graphics, PS/2 keyboard and mouse input, and a capable UART. The MMU will allow up to 2 megabytes of I/O to be paged into the address space. Pages are 4k. System storage will be paged into the address space as well, as it will be either EEPROM or flash. The uPD72020 is a very advanced graphics chip for it's time, capable of accelerated drawing of lines, shapes, fills, and characters. It can be coerced into outputting a VGA signal at 640x480 and *maybe* 800x600. -To avoid the infamous 65C22 bug, the system will use the 16550 UART from the PC ecosystem. It is *relatively* easy to interface this to a 6800 style bus. It has more features than a 65C22 as well. As configured, it will be stable up to 38,400 baud. +Keyboard and mouse will be handled by the VIA VT82C42. It is an Intel 8242 compatible controller capable of both PS/2 keyboard and mouse. It's interface is relatively simple, which makes connection easy. It relies on interrupts, so an interrupt system will be required. -Prototype 1 is currently in progress. It will be a much simpler system. It will have no MMU, just the CPU, some RAM, some ROM, and the UART. +To avoid the infamous 65C22 bug, the system will use the 16550 UART from the PC ecosystem. It is *relatively* easy to interface this to a 6800 style bus. It has more features than a 65C22 as well. As configured, it will be stable up to 38,400 baud. ## Progress I had started wiring together a board for prototyping, but it was destroyed in hurricane Helene. I am now recreating it in schematic form in order to order a PCB. + +Prototype 1 is currently in progress. It will be a much simpler system. It will have no MMU, just the CPU, some RAM, some ROM, and the UART. \ No newline at end of file diff --git a/datasheets/VT82C42_Keyboard_Controller_199511.pdf b/datasheets/VT82C42_Keyboard_Controller_199511.pdf new file mode 100644 index 0000000..3dc4462 Binary files /dev/null and b/datasheets/VT82C42_Keyboard_Controller_199511.pdf differ diff --git a/docs/links.txt b/docs/links.txt index 56d1ade..036f9b1 100644 --- a/docs/links.txt +++ b/docs/links.txt @@ -1,3 +1,8 @@ +uPD7220 graphics card https://hackaday.io/project/164728/logs + +16550 to 6502 https://www.cs.cornell.edu/~kt/post/6502-5/ +VT82C42 5o 65816 +http://www.baltissen.org/newhtm/65816atx.htm