Skip to content

Commit bc6b9a6

Browse files
committed
New firmware release R3.10
1 parent 78b7d65 commit bc6b9a6

File tree

9 files changed

+8387
-0
lines changed

9 files changed

+8387
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
; ------------------------------------------------------------------------------
2+
; LM80C - FIRMWARE - R3.10
3+
; ------------------------------------------------------------------------------
4+
; The following code is intended to be used with LM80C Z80-based computer
5+
; designed by Leonardo Miliani. More info at
6+
; www DOT leonardomiliani DOT com
7+
; ------------------------------------------------------------------------------
8+
; Coding/Editing/Compiling:
9+
; Original init code for MC68B05 by Grant Searle
10+
; Original SIO/CTC/PIO init code by Mario Blunk
11+
; NASCOM BASIC originally modified by Gran Searle
12+
; Code modified and adapted for LM80C by Leonardo Miliani
13+
;
14+
; Edited with Atom Editor
15+
;
16+
; Compiled with ZASM assembler 4.2.4
17+
; https://k1.spdns.de/Develop/Projects/zasm-4.0/Distributions/
18+
; ------------------------------------------------------------------------------
19+
; Copyright notes:
20+
; Parts of the code (c) Grant Searle - free for non commercial use
21+
; Please include this advice and the note to the attribution of the original
22+
; version to Grant Searle if you intend to redistribuite it
23+
; http://searle.hostei.com/grant/index.html
24+
25+
;
26+
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
27+
; Parts of the code (c) Mario Blunk
28+
; http://www.train­z.de
29+
;
30+
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
31+
; NASCOM ROM BASIC Ver 4.7, (C) 1978 Microsoft
32+
; Scanned from source published in 80-BUS NEWS from Vol 2, Issue 3
33+
; (May-June 1983) to Vol 3, Issue 3 (May-June 1984)
34+
; Adapted for the freeware Zilog Macro Assembler 2.10 to produce
35+
; the original ROM code (checksum A934H). PA
36+
;
37+
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
38+
; The following code is intended to be used with LM80C Z80-based computer
39+
; designed by Leonardo Miliani. Code and computer schematics are released under
40+
; the therms of the GNU GPL License 3.0 and in the form of "as is", without no
41+
; kind of warranty: you can use them at your own risk.
42+
; You are free to use them for any non-commercial use: you are only asked to
43+
; maintain the copyright notices, include this advice and the note to the
44+
; attribution of the original version to Leonardo Miliani, if you intend to
45+
; redistribuite them.
46+
; https://www.leonardomiliani.com
47+
;
48+
; Please support me by visiting the following links:
49+
; Main project page: https://www.leonardomiliani.com
50+
; Schematics and code: https://github.com/leomil72/LM80C
51+
; Videos about the computer: https://www.youtube.com/user/leomil72/videos
52+
; Hackaday page: https://hackaday.io/project/165246-lm80c-color-computer
53+
; ------------------------------------------------------------------------------
54+
55+
56+
; ------------------------------------------------------------------------------
57+
; this line instructs the assembler to prepare a file for a ROM target
58+
; meaning that blank cells will be filled up with $FF
59+
#target rom
60+
61+
; this line instructs the assembler to compile taking account that code
62+
; starts at $0000 (the address reached by Z80 upon reset)
63+
#code BOOT, $0000
64+
65+
; ------------------------------------------------------------------------------
66+
; include the latest version of the bootloader: this sets up the address aliases
67+
; configure the hardware, checks if warm or cold startup and loads the BASIC interpreter
68+
#include "../include/bootloader/bootloader-r310.asm"
69+
70+
; incude the latest version of the VDP module
71+
#include "../include/vdp/vdp-r310.asm"
72+
73+
; incude the latest version of the PSG module
74+
#include "../include/psg/psg-r310.asm"
75+
76+
; include the latest version of the NASCOM BASIC interpreter
77+
#include "../include/basic/basic32k-r310.asm"
78+
79+
; include utils
80+
#include "../include/utils/utils-r11.asm"
81+
82+
; include the latest version of the font sets
83+
#include "../include/vdp/6x8fonts-r14.asm"
84+
#include "../include/vdp/8x8fonts-r17.asm"
85+
#include "../include/vdp/logo-fonts.asm"
86+
87+
; END OF ASSEMBLY SOURCE
88+
#end
89+
90+
;-------------------------------------------------------------------------------

12-Home computer/changelog.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@
77
The following file reports the changelog of the LM80C firmware developed by Leonardo Miliani
88
for the LM80C Color Computer. More info at www DOT leonardomiliani DOT com
99

10+
---------------------------------------------------------------------------------------------
11+
3.10 - 20200508
12+
13+
- Added GPRINT command to print text and ASCII chars in screen 2 as they would in text modes;
14+
- fixed a bug that lead to unpredictable behaviors when a line longer than 88 chars was
15+
received from the serial port: now the interpeter simply drops exceeding chars.
16+
1017
---------------------------------------------------------------------------------------------
1118
3.9 - 20200502
1219

BASIC examples/gprint.bas

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
10 REM TEST OF GPRINT IN GRAPHICS 2
2+
15 REM WORKS WITH LM80C BASIC R3.10 AND ABOVE
3+
20 SCREEN 2
4+
30 FOR I=0TO767
5+
40 X=I%32:Y=I#32
6+
50 CH$=CHR$(INT(RND(1)*256))
7+
60 GPRINT CH$,X,Y,INT(RND(1)*15+1),INT(RND(1)*15+1)
8+
70 NEXT

Rom/LM80C-firmware-r310.rom

19 KB
Binary file not shown.

0 commit comments

Comments
 (0)