Skip to content

Commit

Permalink
New firmware R2.9 released: lot of improvements, the most significant…
Browse files Browse the repository at this point in the history
… one is the cursor movement around the screen
  • Loading branch information
leomil72 committed Dec 22, 2019
1 parent bada880 commit 622025a
Show file tree
Hide file tree
Showing 7 changed files with 6,584 additions and 6 deletions.
113 changes: 113 additions & 0 deletions 12-Home computer/LM80C-firmware-r29.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
; ------------------------------------------------------------------------------
; LM80C - FIRMWARE - R2.9
; ------------------------------------------------------------------------------
; The following code is intended to be used with LM80C Z80-based computer
; designed by Leonardo Miliani. More info at
; www DOT leonardomiliani DOT com
; ------------------------------------------------------------------------------
; Coding/Editing/Compiling:
; Original init code for MC68B05 by Grant Searle
; Original SIO/CTC/PIO init code by Mario Blunk
; NASCOM BASIC originally modified by Gran Searle
; Code modified and adapted for LM80C by Leonardo Miliani
;
; Edited with Atom Editor
;
; Compiled with ZASM assembler 4.2.4
; https://k1.spdns.de/Develop/Projects/zasm-4.0/Distributions/
; ------------------------------------------------------------------------------
; Copyright notes:
; Parts of the code (c) Grant Searle - free for non commercial use
; Please include this advice and the note to the attribution of the original
; version to Grant Searle if you intend to redistribuite it
; http://searle.hostei.com/grant/index.html
; eMail: [email protected]
;
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Parts of the code (c) Mario Blunk
; http://www.train­z.de
;
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; NASCOM ROM BASIC Ver 4.7, (C) 1978 Microsoft
; Scanned from source published in 80-BUS NEWS from Vol 2, Issue 3
; (May-June 1983) to Vol 3, Issue 3 (May-June 1984)
; Adapted for the freeware Zilog Macro Assembler 2.10 to produce
; the original ROM code (checksum A934H). PA
;
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; The following code is intended to be used with LM80C Z80-based computer
; designed by Leonardo Miliani. Code and computer schematics are released under
; the therms of the GNU GPL License 3.0 and in the form of "as is", without no
; kind of warranty: you can use them at your own risk.
; You are free to use them for any non-commercial use: you are only asked to
; maintain the copyright notices, include this advice and the note to the
; attribution of the original version to Leonardo Miliani, if you intend to
; redistribuite them.
; https://www.leonardomiliani.com
;
; Please support me by visiting the following links:
; Main project page: https://www.leonardomiliani.com
; Schematics and code: https://github.com/leomil72/LM80C
; Videos about the computer: https://www.youtube.com/user/leomil72/videos
; Hackaday page: https://hackaday.io/project/165246-lm80c-color-computer
; ------------------------------------------------------------------------------
; Code Revision:
; R1.3 - 20190521 - Added preliminary support for video cursor management
; R1.4 - 20190524 - Added scrolling capabilities
; R1.5 - 20190525 - Added backspace functionality
; R1.6 - 20190601 - Fixed scrolling bugs
; R1.7 - 20190606 - Added "screen" command; code revision
; R1.8 - 20190615 - Better cursor integration; added VPOKE & VPEEK statements; 6x8 & 8x8 fonts
; R1.9 - 20190620 - New VREG, VSTAT, & LOCATE statement; 8x8 pixels font completed
; R2.0 - 20190714 - Added SREG & SSTAT to write to/read from PSG
; R2.1 - 20190818 - Added SOUND command to play simple tones and VOLUME command
; R2.1a - 20190908 - Cursor management improvements
; R2.2 - 20190920 - Fixed cursor bug within SCREEN statement; new command PAUSE
; R2.3 - 20190930 - Fixed bugs in SOUND command
; R2.4 - 20191013 - Added new graphic chars and reorganized previous ones
; R2.4a - 20191015 - More graphic chars
; R2.5 - 20191026 - Revision of init PSG code; revision of serial buffer exp. code;
; fixed a bug into the video buffer manager
; R2.6 - 20191102 - New function INKEY to read a key without a prompt;
; source code cleaning
; R2.7 - 20191116 - Fixed a bug into the INKEY code
; R2.8 - 20191207 - Minor bug fixes; added support for built-in keyboard;
; revision of some char codes;
; R2.8.1 - 20191208 - Introduced support for SHIFT key for uppercase letters & alternate chars
; R2.8.2 - 20191215 - Fixed a bug introduced with 2.8.1 that lead to wrong functioning of
; several BASIC statements (system tick counter, Locate, etc..)
; R2.9 - 20192212 - Code cleaning; improved SOUND statement; revision of PSG code;
; revision of release notes; add support for cursor keys & cursor movements
;
; -----------------------------------------------------------------------------

; this line instructs the assembler to prepare a file for a ROM target
; meaning that blank cells will be filled up with 0xff
#target rom

; this line instructs the assembler to compile taking account that code
; starts at $0000 (the address reached by Z80 upon reset)
#code BOOT, 0000h

; ------------------------------------------------------------------------------
; include the latest version of the bootloader: this sets up the address aliases
; configure the hardware, checks if warm or cold startup and loads the BASIC interpreter
#include "../include/bootloader/bootloader-r29.asm"

; incude the latest version of the VDP module
#include "../include/vdp/vdp-r29.asm"

; incude the latest version of the PSG module
#include "../include/psg/psg-r29.asm"

; include the latest version of the NASCOM BASIC interpreter
#include "../include/basic/basic32k-r29.asm"

; include the latest version of the font sets
#include "../include/vdp/6x8fonts-r12.asm"
#include "../include/vdp/8x8fonts-r15.asm"

; END OF ASSEMBLY SOURCE
#end

;-------------------------------------------------------------------------------
Binary file added Rom/LM80C-firmware-r29.rom
Binary file not shown.
Loading

0 comments on commit 622025a

Please sign in to comment.