Skip to content

Commit

Permalink
New release 2.5. Some improvements and bug fixes (serial, audio, and …
Browse files Browse the repository at this point in the history
…video)
  • Loading branch information
leomil72 committed Oct 26, 2019
1 parent a47a271 commit 131d549
Show file tree
Hide file tree
Showing 6 changed files with 6,056 additions and 0 deletions.
87 changes: 87 additions & 0 deletions 12-Home computer/LM80C-firmware-r25.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
; ------------------------------------------------------------------------------
; LM80C - FIRMWARE - R2.5
; ------------------------------------------------------------------------------
; 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: home.micros01@btinternet.com
;
; 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
;
; Parts of the code by Leonardo Miliani
; www DOT leonardomiliani DOT com
; ------------------------------------------------------------------------------
; 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
;
; -----------------------------------------------------------------------------

; 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-r25.asm"

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

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

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

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

; END OF ASSEMBLY SOURCE
#end

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

0 comments on commit 131d549

Please sign in to comment.