Ready for github publishing
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
; @language: Z80 ASM
|
||||
|
||||
org 0xA000
|
||||
include '../../os/abi-generated.asm'
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
; @language: Z80 ASM
|
||||
;hd44780 lcd test procedure
|
||||
|
||||
LCD_INSTR_REG: EQU %00000000
|
||||
|
@ -1,2 +1,4 @@
|
||||
; @language: Z80 ASM
|
||||
|
||||
org 0xA000 ; Set starting position to ram
|
||||
include '../os/main.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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
; config (IO port 0)
|
||||
TERM_DATA_REG: EQU IO_0
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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/
|
||||
;
|
||||
|
@ -1,4 +1,5 @@
|
||||
; PS/2 Keycode Mode 2 to ASCII mapping table
|
||||
; @language: Z80 ASM
|
||||
;
|
||||
; Keycodes 0 to 83
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,4 @@
|
||||
; @language: Z80 ASM
|
||||
|
||||
org 0xA000 ; Set starting position to ram
|
||||
include '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 <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
;
|
||||
; MEMORY MAP
|
||||
; ROM is at 0x0000
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
; @language: Z80 ASM
|
||||
|
||||
SndTest_test:
|
||||
; ch1 max volume
|
||||
ld a,%10010000
|
||||
|
Reference in New Issue
Block a user