Ready for github publishing

This commit is contained in:
Daniele Verducci (ZenPenguin)
2021-07-11 09:49:42 +02:00
parent 1c77bc82ac
commit aa844687c8
47 changed files with 697 additions and 71 deletions

View File

@ -1,3 +1,5 @@
; @language: Z80 ASM
org 0xA000
include '../../os/abi-generated.asm'

View File

@ -1,3 +1,4 @@
; @language: Z80 ASM
;hd44780 lcd test procedure
LCD_INSTR_REG: EQU %00000000

View File

@ -1,2 +1,4 @@
; @language: Z80 ASM
org 0xA000 ; Set starting position to ram
include '../os/main.asm'

View File

@ -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 <http://www.gnu.org/licenses/>.
; config (IO port 0)
TERM_DATA_REG: EQU IO_0

View File

@ -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 <http://www.gnu.org/licenses/>.
;
;
; USAGE:
; STR: DB "Hello world!",0 <-- null terminated string

View File

@ -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 <http://www.gnu.org/licenses/>.
;
;
; Requires declaration of following pointers, one for every column of the keys grid:
; KEYB_A0_REG

View File

@ -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 <http://www.gnu.org/licenses/>.
;
;
; Based on PS/2 protocol as documented on http://www.lucadavidian.com/2017/11/15/interfacing-ps2-keyboard-to-a-microcontroller/
;

View File

@ -1,4 +1,5 @@
; PS/2 Keycode Mode 2 to ASCII mapping table
; @language: Z80 ASM
;
; Keycodes 0 to 83

View File

@ -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 <http://www.gnu.org/licenses/>.
;
;
; USAGE:
; call Snd_init <-- inits sound (and silences default tone)

View File

@ -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 <http://www.gnu.org/licenses/>.
;
;
; Requires declaration of following pointers:
; VGAX_INSTR_REG

View File

@ -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 <http://www.gnu.org/licenses/>.
; Transforms case to upper

View File

@ -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 <http://www.gnu.org/licenses/>.
; Duration in cpu cycles / 55 (change these values based on CPU frequency)

View File

@ -1,2 +1,4 @@
; @language: Z80 ASM
org 0xA000 ; Set starting position to ram
include 'main.asm'

View File

@ -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 <http://www.gnu.org/licenses/>.
;
;
; MEMORY MAP
; ROM is at 0x0000

View File

@ -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 <http://www.gnu.org/licenses/>.
;
;
; 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

View File

@ -1,3 +1,5 @@
; @language: Z80 ASM
SndTest_test:
; ch1 max volume
ld a,%10010000