Skip to content

Commit

Permalink
New firmware R1.16 with DOS 1.05: added support for sequential files
Browse files Browse the repository at this point in the history
  • Loading branch information
leomil72 committed Mar 28, 2021
1 parent 3b93e12 commit 94906f6
Show file tree
Hide file tree
Showing 26 changed files with 25,071 additions and 2 deletions.
99 changes: 99 additions & 0 deletions 12-Home computer/LM80C_64K-firmware-r1.16.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
; ------------------------------------------------------------------------------
; LM80C 64K - FIRMWARE - R1.16
; ------------------------------------------------------------------------------
; 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 Visual Studio Code
;
; Compiled with SjASMPlus assembler 1.18.2
; https://github.com/z00m128/sjasmplus
; ------------------------------------------------------------------------------
; 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
;
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; 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
; ------------------------------------------------------------------------------
; set name for binary output file
OUTPUT "LM80C-64K-firmware-r1.16.bin"

; set firmware version
DEFINE VERSION "1.16"

; set DOS version
DEFINE DOS_VER "1.05"

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

; incude the latest version of the VDP module
INCLUDE "../include/vdp/vdp-1.07.asm"

; incude the latest version of the PSG module
INCLUDE "../include/psg/psg-1.1.asm"

; include the latest version of the LM80C 64K BASIC interpreter
INCLUDE "../include/basic/basic-1.11.asm"

; include utils
INCLUDE "../include/utils/utils-r1.2.asm"

; include the latest version of the font sets
INCLUDE "../include/vdp/6x8fonts-r16.asm"
INCLUDE "../include/vdp/8x8fonts-r18.asm"
INCLUDE "../include/vdp/logo-fonts.asm"

; include ROM/RAM switcher
INCLUDE "../include/switcher/switcher-r1.02.asm"

; include workspace equates
INCLUDE "../include/workspace/workspace-r1.02.asm"

; include the latest versions of the CF & DOS modules
; do NOT move these files from this position and
; do NOT alter their order!
INCLUDE "../include/dos/dos-1.05.asm"
INCLUDE "../include/dos/bios-1.03.asm"
INCLUDE "../include/dos/buffers-1.01.asm"

; END OF ASSEMBLY SOURCE
;-------------------------------------------------------------------------------
5 changes: 5 additions & 0 deletions 12-Home computer/changelog-64k.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ for the LM80C 64K Color Computer. More info at www DOT leonardomiliani DOT com

P.S.: for the changelog of the LM80C Color Computer see the corresponding changelog file

---------------------------------------------------------------------------------------------
1.16 - 20210327
- New DOS 1.05 with support for sequential files;
- new BASIC statements OPEN, CLOSE, PUT, GET, EOF to manage sequential files

---------------------------------------------------------------------------------------------
1.15 - 20210319

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,7 @@ NXTINST: dec BC ; decrement number of chars to move
ld A,C
or B ; finished?
jr NZ,CHKHL ; no, repeat
ENDINSRT: ld A,SPC ; load SPACE character
ld A,SPC ; load SPACE character
ld HL,(CUR_POS) ; get cursor position
ld (SCR_ORG_CHR),A ; reset original char under the cursor
call WRITE_VIDEO_LOC ; empty current video location
Expand Down Expand Up @@ -1021,7 +1021,7 @@ RPTNLLSRC2: push HL
call READ_VIDEO_LOC ; read char of current position
and A ; is it $00 (null char)?
jr NZ,RPTNLLSRC2 ; no, continue searching
CNTNULL2: ret ; yes: found end of text, return to caller
ret ; yes: found end of text, return to caller


; ------------------------------------------------------------------------------
Expand Down
File renamed without changes.
File renamed without changes.
Binary file added Rom/LM80C-64K-firmware-r1.16.bin
Binary file not shown.
Loading

0 comments on commit 94906f6

Please sign in to comment.