Skip to content

Commit 5dcbd7c

Browse files
authored
Merge pull request #9 from nihirash/uart_access
UART support
2 parents 3929fc2 + c57cc63 commit 5dcbd7c

26 files changed

+676
-144
lines changed

.github/workflows/release.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ jobs:
2020
id: version
2121
run: echo "version=$(cat .version)" >> $GITHUB_OUTPUT
2222

23+
- name: Pack release
24+
run: zip -j zinc.zip zinc.bin zinc-setup.bin
25+
2326
- name: Release
2427
id: create_release
2528
uses: actions/create-release@v1
@@ -38,7 +41,7 @@ jobs:
3841
GITHUB_TOKEN: ${{ github.token }}
3942
with:
4043
upload_url: ${{ steps.create_release.outputs.upload_url }}
41-
asset_path: "zinc.bin"
42-
asset_name: "zinc.bin"
44+
asset_path: "zinc.zip"
45+
asset_name: "zinc.zip"
4346
asset_content_type: "application/octet-stream"
4447

.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024.06.09
1+
2024.06.16

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
## 2024.06.16
4+
5+
* Uart parameters can be configured with "zinc-setup" configuration utility
6+
7+
* EDOS now handles CTRL-C via console status call
8+
9+
* LU310 was fixed
10+
11+
* Disable VDP commands via keypresses for more correct terminal emulation
12+
13+
* All terminal code moved out of BIOS
14+
15+
* UART1 is accessible via IOByte
16+
317
## 2024.06.09
418

519
* Better ADM-3a terminal emulation

Makefile

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
1-
ASM=sjasmplus
2-
SOURCES:=$(shell find src -type f -iname "*.asm")
1+
ASM=ez80asm
2+
ASM_FLAGS:=-i -l
3+
SOURCES:=$(shell find src/zinc -type f -iname "*.asm")
34
BINARY=zinc.bin
4-
EDOS=src/edos/edos.bin
5+
EDOS=src/zinc/edos/edos.bin
56

6-
all: $(BINARY)
7+
SETUP_SOURCES:=$(shell find src/zinc-setup -type f -iname "*.asm")
8+
SETUP_BINARY:=zinc-setup.bin
9+
10+
11+
all: $(BINARY) $(SETUP_BINARY)
712

813
$(BINARY): $(EDOS) $(SOURCES)
9-
(cd src && ez80asm -i -l zinc.asm ../$(BINARY))
14+
(cd src/zinc && $(ASM) $(ASM_FLAGS) zinc.asm ../../$(BINARY))
1015

1116
$(EDOS): $(SOURCES)
1217
date '+%Y.%m.%d' >.version
13-
(cd src/edos && ez80asm -i -l edos.asm)
14-
15-
18+
(cd src/zinc/edos && $(ASM) $(ASM_FLAGS) edos.asm)
19+
20+
$(SETUP_BINARY): $(SETUP_SOURCES)
21+
(cd src/zinc-setup && $(ASM) $(ASM_FLAGS) zinc-setup.asm ../../$(SETUP_BINARY))
22+
1623
clean:
1724
rm -rf $(EDOS) $(BINARY)

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ zinc mbasic test
1919

2020
You shouldn't specify file extension for executable file(`.com` will be added automatically) and directory should no contain files with long file names.
2121

22+
### Using UART1 from CP/M Applications
23+
24+
UART1 is accessible via IOBYTE(you can switch character input/output from terminal emulator to UART1 just changing one byte in RAM).
25+
26+
Before using UART use `zinc-setup` utility - it's interactive tool for setting UART parameters.
27+
2228
## Terminal emulation layer
2329

2430
Currently, it supports "ADM-3a"-like compatible terminal emulation routines(like KayPro or some other computers).

src/edos/ebios/console.asm

Lines changed: 0 additions & 60 deletions
This file was deleted.

src/edos/mos.asm renamed to src/mos.asm

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
;; EDOS - Emulation DOS. BDOS emulation layer for ZINC
1+
;; ZINC is Not CP/M
2+
;;
3+
;; CP/M compatibility layer for Agon's MOS
24
;; (c) 2024 Aleksandr Sharikhin
35
;;
46
;; All rights are reserved
@@ -8,15 +10,27 @@
810
rst.lil $08
911
endmacro
1012

13+
macro PRINTZ ptr
14+
ld hl, ptr
15+
ld bc, 0
16+
xor a
17+
rst.lil $18
18+
endmacro
19+
1120
;; API CALLS
1221
MOS_GET_KEY: equ $00
1322
MOS_LOAD: equ $01
23+
MOS_SAVE: equ $02
1424
MOS_DELETE: equ $05
1525
MOS_RENAME: equ $06
1626
MOS_SYS_VARS: equ $08
1727
MOS_EDIT_LINE: equ $09
1828
MOS_FOPEN: equ $0a
1929
MOS_FCLOSE: equ $0b
30+
MOS_UOPEN: equ $15
31+
MOS_UCLOSE: equ $16
32+
MOS_UGETC: equ $17
33+
MOS_UPUTC: equ $18
2034
MOS_GETFIL: equ $19
2135
MOS_FREAD: equ $1a
2236
MOS_FWRITE: equ $1b

0 commit comments

Comments
 (0)