diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..6ea175a --- /dev/null +++ b/NOTES.md @@ -0,0 +1,47 @@ +# Software utilizzato +Compilatore assembly: z80asm (da repo debian) +Compilatore c: sdcc (da repo debian) +Eeprom flash: minipro (da https://gitlab.com/DavidGriffith/minipro/) +Disegnatore schemi logici: logisim (jar da sourceforge) + Per usarlo su hdpi: `java -Dsun.java2d.uiScale=2 -jar logisim-generic-2.7.1.jar` +Disegnatore circuiti: fritzing (da repo debian) + +# Assembly +## Deploy +### Compilare assembly: +`z80asm -i hd44780_lcd_test_procedure.asm -o rom.bin` +### Portare binario alla dimensione dell eeprom: +`dd if=/dev/zero of=rom.bin bs=1 count=0 seek=8192` +### Scrivere su EEPROM: +`minipro -w rom.bin -p "AT28C64B"` +### Leggere EEPROM: +`minipro -r rom_read.bin -p "AT28C64B"` +## Istruzioni +### Dichiarare una variabile: +Usare EQU per assegnare una posizione di memoria nota (nella RAM) al nome variabile. +``` +myVar: EQU 0x800F ; init variable +ld hl, "A" ; load value into register +ld (myVar), hl ; copy value into variable +``` +NB: Se il programma si blocca, verificare che la variabile non sia stata dichiarata in una parte non scrivibile della memoria (ROM) +### Accedere ad una variabile +Modificarne il valore (nell'esempio: incrementarla di 1) +``` +ld a, (myVar) +inc a +ld (myVar), a +``` +Passarne il puntatore ad una funzione: +``` +ld bc, myVar +call lcd_print +``` +### Segmentation fault +Controllare che non si stia puntando ad un registro con le parentesi: +`ld (ix), a` + +# C +## Deploy +### Compilare c: +`sdcc -mz80 test.c` diff --git a/README.md b/README.md index 6ea175a..c59c048 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,66 @@ -# Software utilizzato -Compilatore assembly: z80asm (da repo debian) -Compilatore c: sdcc (da repo debian) -Eeprom flash: minipro (da https://gitlab.com/DavidGriffith/minipro/) -Disegnatore schemi logici: logisim (jar da sourceforge) - Per usarlo su hdpi: `java -Dsun.java2d.uiScale=2 -jar logisim-generic-2.7.1.jar` -Disegnatore circuiti: fritzing (da repo debian) +# Pat80 -# Assembly -## Deploy -### Compilare assembly: -`z80asm -i hd44780_lcd_test_procedure.asm -o rom.bin` -### Portare binario alla dimensione dell eeprom: -`dd if=/dev/zero of=rom.bin bs=1 count=0 seek=8192` -### Scrivere su EEPROM: -`minipro -w rom.bin -p "AT28C64B"` -### Leggere EEPROM: -`minipro -r rom_read.bin -p "AT28C64B"` -## Istruzioni -### Dichiarare una variabile: -Usare EQU per assegnare una posizione di memoria nota (nella RAM) al nome variabile. -``` -myVar: EQU 0x800F ; init variable -ld hl, "A" ; load value into register -ld (myVar), hl ; copy value into variable -``` -NB: Se il programma si blocca, verificare che la variabile non sia stata dichiarata in una parte non scrivibile della memoria (ROM) -### Accedere ad una variabile -Modificarne il valore (nell'esempio: incrementarla di 1) -``` -ld a, (myVar) -inc a -ld (myVar), a -``` -Passarne il puntatore ad una funzione: -``` -ld bc, myVar -call lcd_print -``` -### Segmentation fault -Controllare che non si stia puntando ad un registro con le parentesi: -`ld (ix), a` +![Pat80 Home Computer Logo](/assets/media/pat80-banner-colour-raster.png) -# C -## Deploy -### Compilare c: -`sdcc -mz80 test.c` +Pat80 Home Computer is an attempt to develop the simplest possible Zilog Z80 based computer in 2021. + +## Hardware +Instead of being another single board computer, Pat80 focuses on modularity: +- The Core board contains Z80 CPU, 32k ram, 32k rom, memory and I/O decoding logic +- The Backplane is a stupid I/O bus board with no active components, 1 socket for the Core board and 8 sockets for I/O boards +- Each I/O board must implement tri-state and go to high impedance according to its EN pin to avoid bus contention +- The Power Supply module contains a 7805-based linear power supply capable of delivering 1A @5v for the core and I/O boards + +Here is a picture of the early stages of development: + +![Pat80 Breadboard prototype](/assets/media/photos/breadboard.jpg) + +### I/O Boards + +#### Parallel terminal interface +A parallel terminal based on Arduino is used for development purposes and will be replaced by an UART card. + +#### Keyboard controller +Pat80 features a blue-switches mechanical matrix keyboard, seen by the system as a memory area in I/O space. The keyboard doesn't use interrupts and is polled by the OS. + +#### Video controller +The monochrome 368x248 pixels video output is software-generated by an ATMega 1284 MCU. The timings are generated by the MCU's 16 bit internal timer and the vertical sync time is used to update the framebuffer. + + +## Software +The OS is a simple Memory Monitor. It can show memory content in hex and ascii with the typical hex editor tabular view. +Programs can be loaded from the keyboard, writing Z80 opcodes and data in hex. The program can be executed from any ram position and the Memory Monitor can be brought to screen in any moment issuing an INT signal (the Z80 INT pin should be connected to a button with pull-up resistor). +There is an experimental and unfinished quick load function using a python terminal to load a binary file directly to memory and execute it. + +![Pat80 Memory Monitor](/assets/media/photos/memory_monitor.jpg) + +## Status +The project is heavily work in progress. + +### Working +- Core board +- Sound board +- Arduino parallel terminal with its own Python companion script (or any UART terminal) + +The only fully working configuration as now is the Core board with two devices hooked to its I/O bus: the Arduino Parallel Terminal (see `pat80-io-devices/parallel-terminal` and `pat80-computer/software/z80-assembly/os/drivers/arduino_terminal.asm`) and the SN76489 sound chip (see `pat80-computer/software/z80-assembly/os/drivers/hd44780.asm`) + +### Partially working +The keyboard is only partially tested, as it's not completed. + +![Pat80 keyboard pcb](/assets/media/photos/keyboard_before_etching.jpg) + +![Pat80 keyboard layout](/assets/media/photos/keyboard_layout.jpg) + +The composite video card is partially working, but has some nasty bugs on text cursor positioning and the graphics mode is not yet implemented (the only way to output graphics ATM is to place the bitmap in the MCU flash and load it to VRAM manually). + +![Pat80 composite monitor text mode](/assets/media/photos/composite_text.jpg) + +![Pat80 composite monitor graphics mode](/assets/media/photos/composite_graphics.jpg) + +For the moment, better to stick with the Arduino Parallel Terminal. + +### Not working +All the rest + +## License +All the project is under GPL v3 license \ No newline at end of file diff --git a/assets/README.md b/assets/README.md index a9fc4ad..97d555d 100644 --- a/assets/README.md +++ b/assets/README.md @@ -1,2 +1,3 @@ # Assets -This folder contains all the media assets for presenting Pat80 to the web, print and other media +This folder contains all the media and text assets for presenting Pat80 to the web, print and other media + diff --git a/assets/media/LICENSE.md b/assets/media/LICENSE.md new file mode 100644 index 0000000..10f44eb --- /dev/null +++ b/assets/media/LICENSE.md @@ -0,0 +1,18 @@ +# Assets +This folder contains all the media assets for presenting Pat80 to the web, print and other media + +## License +All files contained in this folder are part of Pat80 Assets. + +Pat80 Assets is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Assets is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Assets. If not, see . \ No newline at end of file diff --git a/assets/media/photos/breadboard.jpg b/assets/media/photos/breadboard.jpg new file mode 100644 index 0000000..89fff65 Binary files /dev/null and b/assets/media/photos/breadboard.jpg differ diff --git a/assets/media/photos/composite_graphics.jpg b/assets/media/photos/composite_graphics.jpg new file mode 100644 index 0000000..07b0564 Binary files /dev/null and b/assets/media/photos/composite_graphics.jpg differ diff --git a/assets/media/photos/composite_text.jpg b/assets/media/photos/composite_text.jpg new file mode 100644 index 0000000..3c5d5d6 Binary files /dev/null and b/assets/media/photos/composite_text.jpg differ diff --git a/assets/media/photos/keyboard_before_etching.jpg b/assets/media/photos/keyboard_before_etching.jpg new file mode 100644 index 0000000..4350790 Binary files /dev/null and b/assets/media/photos/keyboard_before_etching.jpg differ diff --git a/assets/media/photos/keyboard_layout.jpg b/assets/media/photos/keyboard_layout.jpg new file mode 100644 index 0000000..14bf5ba Binary files /dev/null and b/assets/media/photos/keyboard_layout.jpg differ diff --git a/assets/media/photos/memory_monitor.jpg b/assets/media/photos/memory_monitor.jpg new file mode 100644 index 0000000..dc7d7af Binary files /dev/null and b/assets/media/photos/memory_monitor.jpg differ diff --git a/kicad-symbols/LICENSE.md b/kicad-symbols/LICENSE.md new file mode 100644 index 0000000..8e1180f --- /dev/null +++ b/kicad-symbols/LICENSE.md @@ -0,0 +1,18 @@ +# Kicad symbols +This folder contains the custom symbols required by Pat80 schematics and PCB layouts. + +## License +All files contained in this folder are part of Pat80 Blueprints. + +Pat80 Blueprints is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Blueprints is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Blueprints. If not, see . \ No newline at end of file diff --git a/pat80-computer/hardware/LICENSE.md b/pat80-computer/hardware/LICENSE.md new file mode 100644 index 0000000..9b8d27f --- /dev/null +++ b/pat80-computer/hardware/LICENSE.md @@ -0,0 +1,18 @@ +# Hardware +This folder contains the Pat80 logic definitions, schematics and PCB layouts. + +## License +All files contained in this folder are part of Pat80 Blueprints. + +Pat80 Blueprints is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Blueprints is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Blueprints. If not, see . \ No newline at end of file diff --git a/pat80-computer/hardware/fritzing/blank_expansion_board.fzz b/pat80-computer/hardware/fritzing/blank_expansion_board.fzz deleted file mode 100644 index 801650a..0000000 Binary files a/pat80-computer/hardware/fritzing/blank_expansion_board.fzz and /dev/null differ diff --git a/pat80-computer/hardware/fritzing/pato.fzz b/pat80-computer/hardware/fritzing/pato.fzz deleted file mode 100644 index 0b7d2dd..0000000 Binary files a/pat80-computer/hardware/fritzing/pato.fzz and /dev/null differ diff --git a/pat80-computer/hardware/logisim/LICENSE.md b/pat80-computer/hardware/logisim/LICENSE.md new file mode 100644 index 0000000..e0983e5 --- /dev/null +++ b/pat80-computer/hardware/logisim/LICENSE.md @@ -0,0 +1,21 @@ +# Memory Decoding logic +This folder contains the memory decoding logic used by Pat80. +The memory map is a simple 32k ram / 32k rom obtained using the MSB as EN signal. +The I/O space is split in 8 devices (each with 32 registers). +Pat80 doesn't use the [high address lines I/O hack](https://retrocomputing.stackexchange.com/questions/7782/z80-16-bit-i-o-port-addresses) but adheres to the official Z80 I/O documentation. + +## License +All files contained in this folder are part of Pat80 Blueprints. + +Pat80 Blueprints is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Blueprints is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Blueprints. If not, see . \ No newline at end of file diff --git a/pat80-computer/hardware/schematics/pat80/LICENSE.md b/pat80-computer/hardware/schematics/pat80/LICENSE.md new file mode 100644 index 0000000..28e98e9 --- /dev/null +++ b/pat80-computer/hardware/schematics/pat80/LICENSE.md @@ -0,0 +1,18 @@ +# Hardware +This folder contains the Pat80 schematics and PCB layouts. + +## License +All files contained in this folder are part of Pat80 Blueprints. + +Pat80 Blueprints is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Blueprints is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Blueprints. If not, see . \ No newline at end of file diff --git a/pat80-computer/software/z80-assembly/applications/brief/hello_world.asm b/pat80-computer/software/z80-assembly/applications/brief/hello_world.asm index 4e6e764..76fa19f 100644 --- a/pat80-computer/software/z80-assembly/applications/brief/hello_world.asm +++ b/pat80-computer/software/z80-assembly/applications/brief/hello_world.asm @@ -1,3 +1,5 @@ +; @language: Z80 ASM + org 0xA000 include '../../os/abi-generated.asm' diff --git a/pat80-computer/software/z80-assembly/applications/tests/hd44780_lcd_test_procedure.asm b/pat80-computer/software/z80-assembly/applications/tests/hd44780_lcd_test_procedure.asm index e32f1cd..6e97b0e 100644 --- a/pat80-computer/software/z80-assembly/applications/tests/hd44780_lcd_test_procedure.asm +++ b/pat80-computer/software/z80-assembly/applications/tests/hd44780_lcd_test_procedure.asm @@ -1,3 +1,4 @@ +; @language: Z80 ASM ;hd44780 lcd test procedure LCD_INSTR_REG: EQU %00000000 diff --git a/pat80-computer/software/z80-assembly/dev-headers/monitor.asm b/pat80-computer/software/z80-assembly/dev-headers/monitor.asm index 9c25421..49b8fff 100644 --- a/pat80-computer/software/z80-assembly/dev-headers/monitor.asm +++ b/pat80-computer/software/z80-assembly/dev-headers/monitor.asm @@ -1,2 +1,4 @@ +; @language: Z80 ASM + org 0xA000 ; Set starting position to ram include '../os/main.asm' \ No newline at end of file diff --git a/pat80-computer/software/z80-assembly/os/drivers/arduino_terminal.asm b/pat80-computer/software/z80-assembly/os/drivers/arduino_terminal.asm index c8727b5..c0f9d03 100644 --- a/pat80-computer/software/z80-assembly/os/drivers/arduino_terminal.asm +++ b/pat80-computer/software/z80-assembly/os/drivers/arduino_terminal.asm @@ -1,5 +1,22 @@ ; Arduino terminal driver ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . ; config (IO port 0) TERM_DATA_REG: EQU IO_0 diff --git a/pat80-computer/software/z80-assembly/os/drivers/hd44780.asm b/pat80-computer/software/z80-assembly/os/drivers/hd44780.asm index 9c8a700..fc3ce13 100644 --- a/pat80-computer/software/z80-assembly/os/drivers/hd44780.asm +++ b/pat80-computer/software/z80-assembly/os/drivers/hd44780.asm @@ -1,5 +1,23 @@ ; HD44780 20x4 characters LCD display driver ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . +; ; ; USAGE: ; STR: DB "Hello world!",0 <-- null terminated string diff --git a/pat80-computer/software/z80-assembly/os/drivers/keyboard.asm b/pat80-computer/software/z80-assembly/os/drivers/keyboard.asm index 6474068..a9194a8 100644 --- a/pat80-computer/software/z80-assembly/os/drivers/keyboard.asm +++ b/pat80-computer/software/z80-assembly/os/drivers/keyboard.asm @@ -1,6 +1,24 @@ ; Keyboard driver ; Direct keyboard grid control (direct keys addressing, without keyboard controller) ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . +; ; ; Requires declaration of following pointers, one for every column of the keys grid: ; KEYB_A0_REG diff --git a/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard.asm b/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard.asm index d5fcd57..6ab1f1e 100644 --- a/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard.asm +++ b/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard.asm @@ -1,4 +1,22 @@ ; PS/2 Keyboard driver +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . +; ; ; Based on PS/2 protocol as documented on http://www.lucadavidian.com/2017/11/15/interfacing-ps2-keyboard-to-a-microcontroller/ ; diff --git a/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard_scancodeset2.asm b/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard_scancodeset2.asm index c348da7..ee7eb1b 100644 --- a/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard_scancodeset2.asm +++ b/pat80-computer/software/z80-assembly/os/drivers/ps2_keyboard_scancodeset2.asm @@ -1,4 +1,5 @@ ; PS/2 Keycode Mode 2 to ASCII mapping table +; @language: Z80 ASM ; ; Keycodes 0 to 83 diff --git a/pat80-computer/software/z80-assembly/os/drivers/sn76489.asm b/pat80-computer/software/z80-assembly/os/drivers/sn76489.asm index 7151942..0db08fb 100644 --- a/pat80-computer/software/z80-assembly/os/drivers/sn76489.asm +++ b/pat80-computer/software/z80-assembly/os/drivers/sn76489.asm @@ -1,5 +1,23 @@ -; TI SN76489 sound chip display driver +; TI SN76489 sound chip driver ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . +; ; ; USAGE: ; call Snd_init <-- inits sound (and silences default tone) diff --git a/pat80-computer/software/z80-assembly/os/drivers/vgax.asm b/pat80-computer/software/z80-assembly/os/drivers/vgax.asm index 19f28d4..e391f7d 100644 --- a/pat80-computer/software/z80-assembly/os/drivers/vgax.asm +++ b/pat80-computer/software/z80-assembly/os/drivers/vgax.asm @@ -1,5 +1,23 @@ ; Vgax display driver ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . +; ; ; Requires declaration of following pointers: ; VGAX_INSTR_REG diff --git a/pat80-computer/software/z80-assembly/os/libs/strings.asm b/pat80-computer/software/z80-assembly/os/libs/strings.asm index dc530f6..3241944 100644 --- a/pat80-computer/software/z80-assembly/os/libs/strings.asm +++ b/pat80-computer/software/z80-assembly/os/libs/strings.asm @@ -1,5 +1,22 @@ ; Strings manipulation library ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . ; Transforms case to upper diff --git a/pat80-computer/software/z80-assembly/os/libs/time.asm b/pat80-computer/software/z80-assembly/os/libs/time.asm index 2767151..998ed10 100644 --- a/pat80-computer/software/z80-assembly/os/libs/time.asm +++ b/pat80-computer/software/z80-assembly/os/libs/time.asm @@ -1,5 +1,22 @@ ; Time library ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . ; Duration in cpu cycles / 55 (change these values based on CPU frequency) diff --git a/pat80-computer/software/z80-assembly/os/main-dev.asm b/pat80-computer/software/z80-assembly/os/main-dev.asm index 3a06e4c..51d63c0 100644 --- a/pat80-computer/software/z80-assembly/os/main-dev.asm +++ b/pat80-computer/software/z80-assembly/os/main-dev.asm @@ -1,2 +1,4 @@ +; @language: Z80 ASM + org 0xA000 ; Set starting position to ram include 'main.asm' \ No newline at end of file diff --git a/pat80-computer/software/z80-assembly/os/main.asm b/pat80-computer/software/z80-assembly/os/main.asm index adf5d7a..63ae60e 100644 --- a/pat80-computer/software/z80-assembly/os/main.asm +++ b/pat80-computer/software/z80-assembly/os/main.asm @@ -2,6 +2,24 @@ jp Sysinit ; Startup vector: DO NOT MOVE! Must be the first instruction ; Pat80 BIOS v0.01 ; @author: Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . +; ; ; MEMORY MAP ; ROM is at 0x0000 diff --git a/pat80-computer/software/z80-assembly/os/monitor.asm b/pat80-computer/software/z80-assembly/os/monitor.asm index 9a7b594..d7e6486 100644 --- a/pat80-computer/software/z80-assembly/os/monitor.asm +++ b/pat80-computer/software/z80-assembly/os/monitor.asm @@ -1,5 +1,23 @@ ; Pat80 Memory Monitor ; @author Daniele Verducci +; @language: Z80 ASM +; +; +; This file is part of Pat80 Memory Monitor. +; +; Pat80 Memory Monitor is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 Memory Monitor is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 Memory Monitor. If not, see . +; ; ; Monitor commands (CMD $arg): ; H (HELP) Shows available commands @@ -558,17 +576,17 @@ monitor_copyTermToAppMem: ; Exits when the first value differs from the written value (this may be caused by a bad ram ; block or the start of rom in memory map). Prints the last good address on exit. ; monitor_memtest: -; ld bc, MON_COMMAND_MEMTEST + 1 ; autocomplete command -; call Sys_Print +; ld bc, MON_COMMAND_MEMTEST + 1 ; autocomplete command +; call Sys_Print ; ; Prints intro -; ld bc, MON_RAMTEST_INTRO -; call Sys_Print +; ld bc, MON_RAMTEST_INTRO +; call Sys_Print ; ; Starts checking ; ld hl, MEM_END ; monitor_memtest_loop: ; ; Save current byte value for later restore -; ld c, (hl) -; ; Write 0xFF +; ld c, (hl) +; ; Write 0xFF ; ld a, 0xFF ; ld (hl), a ; ; Read and compare 0xFF @@ -583,8 +601,8 @@ monitor_copyTermToAppMem: ; cp 0x00 ; jp nz, monitor_memtest_badram ; ; Memory byte is good, restore previous value -; ld (hl), c -; ; Next one +; ld (hl), c +; ; Next one ; dec hl ; jp monitor_memtest_loop ; monitor_memtest_badram: @@ -592,15 +610,15 @@ monitor_copyTermToAppMem: ; ld bc, MON_RAMTEST_RAMSTART ; call Sys_Print ; ; Print last valid memory addr -; inc hl -; ld a, h -; call monitor_printHexByte -; ld a, l -; call monitor_printHexByte -; ; Newline -; ld a, 10 -; call Sys_Printc -; ; Back to menu +; inc hl +; ld a, h +; call monitor_printHexByte +; ld a, l +; call monitor_printHexByte +; ; Newline +; ld a, 10 +; call Sys_Printc +; ; Back to menu ; jp monitor_main_loop diff --git a/pat80-computer/software/z80-assembly/os/tests/sndtest.asm b/pat80-computer/software/z80-assembly/os/tests/sndtest.asm index c8014b1..bb65516 100644 --- a/pat80-computer/software/z80-assembly/os/tests/sndtest.asm +++ b/pat80-computer/software/z80-assembly/os/tests/sndtest.asm @@ -1,3 +1,5 @@ +; @language: Z80 ASM + SndTest_test: ; ch1 max volume ld a,%10010000 diff --git a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/character_generator.asm b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/character_generator.asm index d5b8e3b..76ca832 100644 --- a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/character_generator.asm +++ b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/character_generator.asm @@ -2,7 +2,25 @@ ; * PAT80 COMPOSITE PAL VIDEO ADAPTER * ; * Character generator module * ; ******************************************* - +; +; @language: AVR ASM +; +; This file is part of Pat80 IO Devices. +; +; Pat80 IO Devices is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 IO Devices is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 IO Devices. If not, see . +; +; ; This module generates the character pixels using the font present in rom ; and adds it on the framebuffer in the position indicated by POS_COARSE (Y). diff --git a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/communication.asm b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/communication.asm index 27b55bc..96910bc 100644 --- a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/communication.asm +++ b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/communication.asm @@ -2,7 +2,25 @@ ; * PAT80 COMPOSITE PAL VIDEO ADAPTER * ; * Communication module * ; ******************************************* - +; +; @language: AVR ASM +; +; This file is part of Pat80 IO Devices. +; +; Pat80 IO Devices is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 IO Devices is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 IO Devices. If not, see . +; +; ; This module manages the communication between Pat80 and ; the video adapter. diff --git a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/main.asm b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/main.asm index e0b95ed..89c1916 100644 --- a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/main.asm +++ b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/main.asm @@ -1,5 +1,23 @@ ; VIDEO COMPOSITE PAL IO DEVICE ; +; @language: AVR ASM +; +; This file is part of Pat80 IO Devices. +; +; Pat80 IO Devices is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 IO Devices is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 IO Devices. If not, see . +; +; ; INTERFACING WITH PAT80: ; Use PortB as data port. Before writing anything, issue a read (pin RW HIGH) and check the busy pin on the data port. ; If the busy pin is high, retry reading until goes low. When the busy pin goes low, we have... TODO diff --git a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/video_generator.asm b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/video_generator.asm index ef0816f..317bb86 100644 --- a/pat80-io-devices/composite-pal-adapter/software/avr-assembly/video_generator.asm +++ b/pat80-io-devices/composite-pal-adapter/software/avr-assembly/video_generator.asm @@ -2,6 +2,24 @@ ; * PAT80 COMPOSITE PAL VIDEO ADAPTER * ; * Video generator module * ; ******************************************* +; +; @language: AVR ASM +; +; This file is part of Pat80 IO Devices. +; +; Pat80 IO Devices is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; Pat80 IO Devices is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Pat80 IO Devices. If not, see . + ; Uses registers X(R27, R26), STATUS (R25), VG_HIGH_ACCUM (r24), LINE_COUNTER (r23) diff --git a/pat80-io-devices/keyboard/hardware/keyboard/LICENSE.md b/pat80-io-devices/keyboard/hardware/keyboard/LICENSE.md new file mode 100644 index 0000000..51ae1dc --- /dev/null +++ b/pat80-io-devices/keyboard/hardware/keyboard/LICENSE.md @@ -0,0 +1,18 @@ +# Hardware +This folder contains the Pat80 keyboard schematics and PCB layout. + +## License +All files contained in this folder are part of Pat80 Blueprints. + +Pat80 Blueprints is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Blueprints is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Blueprints. If not, see . \ No newline at end of file diff --git a/pat80-io-devices/keyboard/hardware/keyboard_controller/LICENSE.md b/pat80-io-devices/keyboard/hardware/keyboard_controller/LICENSE.md new file mode 100644 index 0000000..526f447 --- /dev/null +++ b/pat80-io-devices/keyboard/hardware/keyboard_controller/LICENSE.md @@ -0,0 +1,18 @@ +# Hardware +This folder contains the Pat80 keyboard controller IO card schematics and PCB layout. + +## License +All files contained in this folder are part of Pat80 Blueprints. + +Pat80 Blueprints is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Blueprints is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Blueprints. If not, see . \ No newline at end of file diff --git a/pat80-io-devices/parallel-terminal/arduino/arduino_terminal/arduino_terminal.ino b/pat80-io-devices/parallel-terminal/arduino/arduino_terminal/arduino_terminal.ino index b093462..5b2f1be 100644 --- a/pat80-io-devices/parallel-terminal/arduino/arduino_terminal/arduino_terminal.ino +++ b/pat80-io-devices/parallel-terminal/arduino/arduino_terminal/arduino_terminal.ino @@ -1,10 +1,29 @@ /** * Terminal interface. + * + * * @language: AVR ASM + * + * This file is part of Pat80 IO Devices. + * + * Pat80 IO Devices is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 IO Devices is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 IO Devices. If not, see . + * + * * This sketch allow an Arduino to be used as a terminal to log into Pat80. * The Arduino is connected to the Pat80 I/O bus and to the terminal computer via USB. - * The Python Terminal Monitor or the Arduino IDE serial monitor is used to send + * The Python Terminal Monitor or the Arduino IDE serial monitor is used to send * and receive commands to/from the Z80. - * + * * Seen from the Pat80, the terminal interface has two registers: * DATA Register at addr 0x00 (\RS) contains the last received byte from the pc * DATA_AVAILABLE Register at addr 0x01 (RS) contains the number of bytes in the buffer, diff --git a/pat80-io-devices/parallel-terminal/python/terminal_emulator.py b/pat80-io-devices/parallel-terminal/python/terminal_emulator.py index 23e140f..c4cb124 100755 --- a/pat80-io-devices/parallel-terminal/python/terminal_emulator.py +++ b/pat80-io-devices/parallel-terminal/python/terminal_emulator.py @@ -4,6 +4,23 @@ """ @package docstring ARDUINO PARALLEL TERMINAL EMULATOR + + * This file is part of Pat80 IO Devices. + * + * Pat80 IO Devices is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 IO Devices is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 IO Devices. If not, see . + + USAGE: Connect the arduino to a Pat80 I/O port. Flash /arduino/arduino_terminal firmware into the Arduino. diff --git a/pat80-io-devices/uart/hardware/LICENSE.md b/pat80-io-devices/uart/hardware/LICENSE.md new file mode 100644 index 0000000..0c35be1 --- /dev/null +++ b/pat80-io-devices/uart/hardware/LICENSE.md @@ -0,0 +1,18 @@ +# UART +This folder contains the Pat80 UART decoding logic, schematics and PCB layout. + +## License +All files contained in this folder are part of Pat80 Blueprints. + +Pat80 Blueprints is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Pat80 Blueprints is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTYwithout even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Pat80 Blueprints. If not, see . \ No newline at end of file diff --git a/prototiping-with-arduino/SN76489-test/SN76489-test.ino b/prototiping-with-arduino/SN76489-test/SN76489-test.ino index ec25d2f..ebee9a6 100644 --- a/prototiping-with-arduino/SN76489-test/SN76489-test.ino +++ b/prototiping-with-arduino/SN76489-test/SN76489-test.ino @@ -1,4 +1,21 @@ /** + * + * This file is part of Pat80 Utils. + * + * Pat80 Utils is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 Utils is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 Utils. If not, see . + * + * * SN76489 sound chip test * * DATA BUS IS: 2, 3, 4, 5, 6, 7, 8, 9 (NOTE: 2 is D0, but D0 is the MSB) diff --git a/prototiping-with-arduino/composite-pal-adapter-test/composite-pal-adapter-test.ino b/prototiping-with-arduino/composite-pal-adapter-test/composite-pal-adapter-test.ino index 2a26e3a..8ef7aaf 100644 --- a/prototiping-with-arduino/composite-pal-adapter-test/composite-pal-adapter-test.ino +++ b/prototiping-with-arduino/composite-pal-adapter-test/composite-pal-adapter-test.ino @@ -1,4 +1,20 @@ /** + * This file is part of Pat80 IO Devices. + * + * Pat80 IO Devices is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 IO Devices is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 IO Devices. If not, see . + * + * * Composite pal adapter test. * This sketch makes an Arduino send test data to tha Pat80 composite video pal adapter. * Connect the video adapter directly to Arduino diff --git a/prototiping-with-arduino/eeprom_programmer/eeprom_programmer/eeprom_programmer.ino b/prototiping-with-arduino/eeprom_programmer/eeprom_programmer/eeprom_programmer.ino index b33cd6e..505b07a 100644 --- a/prototiping-with-arduino/eeprom_programmer/eeprom_programmer/eeprom_programmer.ino +++ b/prototiping-with-arduino/eeprom_programmer/eeprom_programmer/eeprom_programmer.ino @@ -1,4 +1,23 @@ /* ************** EEPROM PROGRAMMER ****************** + * This file is part of Pat80 Utils. + * + * Pat80 Utils is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 Utils is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 Utils. If not, see . + + +NOTE: This is not working and I'm not sure if it will be fixed or removed, +as I'm actually using an USB programmer. + HARDWARE: diff --git a/prototiping-with-arduino/hd44780_debugger/hd44780_debugger.ino b/prototiping-with-arduino/hd44780_debugger/hd44780_debugger.ino index 9603be4..c207618 100644 --- a/prototiping-with-arduino/hd44780_debugger/hd44780_debugger.ino +++ b/prototiping-with-arduino/hd44780_debugger/hd44780_debugger.ino @@ -1,4 +1,23 @@ -/* HD44780 Character display debugger */ +/* + * This file is part of Pat80 Utils. + * + * Pat80 Utils is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 Utils is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 Utils. If not, see . + * + * + * HD44780 Character display debugger + * Used to intercept data sent from Pat80 to character display + */ #define EN 2 const byte DATA_BUS[] = {10, 9, 8, 7, 6, 5, 4, 3}; diff --git a/prototiping-with-arduino/ps2-keyb-controller-test/ps2-keyb-controller-test.ino b/prototiping-with-arduino/ps2-keyb-controller-test/ps2-keyb-controller-test.ino index bc4754f..c1600e7 100644 --- a/prototiping-with-arduino/ps2-keyb-controller-test/ps2-keyb-controller-test.ino +++ b/prototiping-with-arduino/ps2-keyb-controller-test/ps2-keyb-controller-test.ino @@ -1,4 +1,23 @@ -/* PS/2 Keyboard controller debugger */ +/* + * This file is part of Pat80 Utils. + * + * Pat80 Utils is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 Utils is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 Utils. If not, see . + * + * + * PS/2 Keyboard controller debugger + * Used to intercept data decoded from Pat80 PS/2 keyboard adapter + */ #define EN 2 const byte DATA_BUS[] = {10, 9, 8, 7, 6, 5, 4, 3}; diff --git a/prototiping-with-arduino/sdcard-test/sdcard-test.ino b/prototiping-with-arduino/sdcard-test/sdcard-test.ino index d9877ec..e2e0b2d 100644 --- a/prototiping-with-arduino/sdcard-test/sdcard-test.ino +++ b/prototiping-with-arduino/sdcard-test/sdcard-test.ino @@ -1,7 +1,24 @@ /** + * + * This file is part of Pat80 Utils. + * + * Pat80 Utils is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 Utils is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 Utils. If not, see . + * + * * SPI SD-Card test sketch * Reads the first 128 bytes from sdcard and prints it out as ascii characters in serial monitor at 9200 baud - * + * * Implementation of the specification at http://elm-chan.org/docs/mmc/mmc_e.html */ diff --git a/prototiping-with-arduino/z80_debugger/z80_debugger.ino b/prototiping-with-arduino/z80_debugger/z80_debugger.ino index 258eb73..a824d9a 100644 --- a/prototiping-with-arduino/z80_debugger/z80_debugger.ino +++ b/prototiping-with-arduino/z80_debugger/z80_debugger.ino @@ -1,4 +1,20 @@ /* ************** DEBUGGER Zilog Z80 ****************** + * + * This file is part of Pat80 Utils. + * + * Pat80 Utils is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pat80 Utils is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY * without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Pat80 Utils. If not, see . + HARDWARE: