From 67892cf81e12e16d663b52543e1746ccbc3709b5 Mon Sep 17 00:00:00 2001 From: Joppe Blondel Date: Thu, 8 Oct 2026 16:50:35 +0200 Subject: [PATCH] Added old tape routines and started with cload --- .gitignore | 1 + Makefile | 9 +- apps/basic/basic.asm | 134 ++++++++++- bios.asm | 33 +++ bios.inc | 3 + hardware.inc | 2 + memory.mk | 8 +- scripts/encode.py | 178 +++++++++++++++ tape.asm | 530 +++++++++++++++++++++++++++++++++++++++++++ tapes/test.wav | Bin 0 -> 1528060 bytes 10 files changed, 885 insertions(+), 13 deletions(-) create mode 100644 scripts/encode.py create mode 100644 tape.asm create mode 100644 tapes/test.wav diff --git a/.gitignore b/.gitignore index 378eac2..1d20adc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ build +*__pycache__** \ No newline at end of file diff --git a/Makefile b/Makefile index 8439170..18bfa67 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,6 @@ ASM := zasm ASMFLAGS := -w -b BUILDDIR := build -FILES := bios - -SOURCES := $(addprefix ./, $(addsuffix .asm, $(FILES))) -TARGETS := $(addprefix $(BUILDDIR)/, $(addsuffix .bin, $(FILES))) - TOPTARGETS := all clean $(TOPTARGETS): $(SUBDIRS) @@ -21,9 +16,9 @@ clean: $(BUILDDIR): mkdir -p $(BUILDDIR) -$(BUILDDIR)/%.bin: ./%.asm $(BUILDDIR)/memory.inc +$(BUILDDIR)/bios.bin: bios.asm tape.asm $(BUILDDIR)/memory.inc echo '>$<' - $(ASM) $(ASMFLAGS) $< $@ + $(ASM) $(ASMFLAGS) bios.bin $(BUILDDIR)/bios.bin basic: $(MAKE) -C apps/basic $(or $(MAKECMDGOALS),all) --no-print-directory diff --git a/apps/basic/basic.asm b/apps/basic/basic.asm index 96926dc..6c1907f 100644 --- a/apps/basic/basic.asm +++ b/apps/basic/basic.asm @@ -15,6 +15,7 @@ ; - Unsupported functions cause FCERR, not a reset or REM ; - modern backspace handling ; - Added DROM/EROM/BANK0/BANK1 commands +; - CLOAD ; ;================================================================================== ; The updates to the original BASIC within this file are copyright Grant Searle @@ -423,8 +424,8 @@ WORDTB: .WORD PEND .WORD CONT .WORD LIST .WORD CLEAR - .WORD FCERR - .WORD FCERR + .WORD CLOAD + .WORD FCERR ; csave .WORD NEW ; RESERVED WORD TOKEN VALUES @@ -4543,4 +4544,133 @@ FULLSETTOP: FULLMSG: .BYTE "[FULL MEMORY]",CR,LF,0,0 +CLOAD: ld a,(hl) ; get byte after "CLOAD" + cp ZTIMES ; "*" token? ("CLOAD*") + jp z,FCERR ; yes - array load (ARRLD1) + cp ZPRINT ; "?" ("PRINT token") verify + jp z,FCERR ; yes - flag "verify" + cp '#' ; 'cload#'? + jp z,CLOADB ; yes - load binary + ; just cload - load basic + jp FCERR + +CLOADB: inc hl ; skip # + call GETNUM ; evaluate numeric expression + call DEINT ; convert FPREG to de + ; de contains load address + ; TODO do safety check on address + push hl + push bc + push de + + ld hl,CLSTARTMSG + call PRS + + ; Load block + call CLREADBLOCK + ; hl contains block, check block type + ld a,(hl) + cp 1 ; first block needs to be a header + jr nz,CLNOHDR ; First block is not a header + ; first block is a header, get nr of blocks + inc hl + ld de,(hl) + ; print number of blocks to load + push de + push hl + ex de,hl + call PRNTHL + ld hl,CLBLOCKSMSG + call PRS + pop hl + inc hl + inc hl ; get filename + call PRS ; print filename + ; de contains the nr of blocks to load + ; TODO check de>0 + + pop de +1$: push de ; save repeat counter + call CLREADBLOCK ; hl = new data + ; TODO check block type + inc hl ; goto start of data + pop de ; get repeat counter + push hl ; save stored data + + exx + pop hl ; get stored data back + pop de ; get destination + ld bc,64 ; block size + ldir ; copy data to memory + push de ; store destination address + exx + + dec de + ld a,e + cp 0 + jr nz,1$ ; repeat if not done yet + ld a,d + cp 0 + jr nz,1$ ; repeat if not done yet + + pop de + pop bc + pop hl + ret + +CLREADBLOCK: + call BIOS_CAS_READ_BLOCK + jr nc,1$ + call BIOS_CAS_WAIT_SILENCE + call BIOS_CAS_READ_BLOCK + push hl + jr nc,2$ + ; error, make sure it is silent again + push af + call BIOS_CAS_WAIT_SILENCE + pop af + jr CLERR +1$: push hl ; save hl + call BIOS_CAS_READ_BLOCK_DRY + ; Ignore errors on this block +2$: ; but make sure it is silent again + call BIOS_CAS_WAIT_SILENCE + pop hl + ret + ; Second block failed as well, error +CLERR: cp 1 + jr z,CLECAL + cp 2 + jr z,CLESYN + cp 3 + jr z,CLERED + cp 4 + jr z,CLECHS + jp FCERR ; Unknown error +CLECAL: ld hl, CLECALMSG + jr CLEPRINT +CLESYN: ld hl, CLESYNMSG + jr CLEPRINT +CLERED: ld hl, CLEREDMSG + jr CLEPRINT +CLECHS: ld hl, CLECHSMSG + jr CLEPRINT +CLNOHDR: + ld hl,CLNOHDRMSG +CLEPRINT: + call PRS + pop de + pop bc + pop hl + jp FCERR + +CLSTARTMSG: .db "Play tape...",0ah,0dh,00h +CLECALMSG: .db "Calibration failed",0ah,0dh,00h +CLESYNMSG: .db "Synchronization failed",0ah,0dh,00h +CLEREDMSG: .db "Read failed",0ah,0dh,00h +CLECHSMSG: .db "Checksum error",0ah,0dh,00h +CLNOHDRMSG: .db "No header found", 0ah,0dh,00h +CLBLOCKSMSG: .db " blocks to load", 0ah,0dh,00h +CLCLRF: .db 0ah,0dh,00h + .end diff --git a/bios.asm b/bios.asm index d5a0a7c..e96a8dd 100644 --- a/bios.asm +++ b/bios.asm @@ -26,6 +26,7 @@ TX_BUSY .equ WORKSPACE+006h TX_BUF .equ WORKSPACE+007h RX_BUF .equ TX_BUF+BUF_SIZE SYSREG_VALUE .equ RX_BUF+BUF_SIZE +END_OF_BIOS_WS .equ SYSREG_VALUE+001h ; ------------------------------------------------------- ; entry @@ -99,6 +100,12 @@ boot_copy: jp setrom .ORG BIOS_BANK jp bank +.ORG BIOS_CAS_READ_BLOCK + jp read_block +.ORG BIOS_CAS_WAIT_SILENCE + jp wait_silence +.ORG BIOS_CAS_READ_BLOCK_DRY + jp read_block_dry ; ------------------------------------------------------- ; BIOS ENTRY @@ -137,9 +144,30 @@ init: ; Enter bios jp BASIC_RAM_START +; 100$ +; ld hl,msg_start +; call BIOS_PUTS +; call BIOS_FLUSH +; call read_block +; jr c,101$ ; error +; ; block received correctly +; ld hl,BLOCK_BUFFER +; call BIOS_PUTS +; call BIOS_FLUSH +; jp 100$ +; 101$: +; add '0' ; get error number +; call BIOS_PUTC +; ld a, 0ah +; call BIOS_PUTC +; ld a, 0dh +; call BIOS_PUTC +; call BIOS_FLUSH +; jp 100$ ; Shouldnt come here ; just to be safe an endless loop + ei 0$: call getc call putc @@ -524,3 +552,8 @@ bank: ; Strings ; ------------------------------------------------------- msg_header: .db "BIOS v1.0 - Joppe Blondel",00dh,00ah,000h + +; ------------------------------------------------------- +; Other files +; ------------------------------------------------------- +#include "tape.asm" \ No newline at end of file diff --git a/bios.inc b/bios.inc index e711b26..83ea311 100644 --- a/bios.inc +++ b/bios.inc @@ -5,3 +5,6 @@ BIOS_PUTS .equ 0c059h BIOS_FLUSH .equ 0c05ch BIOS_ROM .equ 0c05fh BIOS_BANK .equ 0c062h +BIOS_CAS_READ_BLOCK .equ 0c065h +BIOS_CAS_WAIT_SILENCE .equ 0c068h +BIOS_CAS_READ_BLOCK_DRY .equ 0c06bh \ No newline at end of file diff --git a/hardware.inc b/hardware.inc index 5c99aba..11b9da7 100644 --- a/hardware.inc +++ b/hardware.inc @@ -4,3 +4,5 @@ ROM_DISABLE_BIT .equ 001h BANK_SELECT_BIT .equ 002h BANK_ENABLE_BIT .equ 004h BANK_MODE_CLEAR_MASK .equ 0f9h + +TAPE_PORT .equ 018h diff --git a/memory.mk b/memory.mk index c7b8651..85502b0 100644 --- a/memory.mk +++ b/memory.mk @@ -11,11 +11,11 @@ SHARED_MEM_END := 0xffff BIOS_STACK_TOP := 0xffff BIOS_ROM_START := 0x0080 -BIOS_ROM_SIZE := 0x0580 +BIOS_ROM_SIZE := 0x0780 -BASIC_ROM_START := 0x0600 +BASIC_ROM_START := 0x0800 BASIC_ROM_SIZE := 0x2000 BIOS_RAM_START := 0xc000 -BIOS_WP_RAM_START := 0xc600 -BASIC_RAM_START := 0xca00 +BIOS_WP_RAM_START := 0xc800 +BASIC_RAM_START := 0xcc00 diff --git a/scripts/encode.py b/scripts/encode.py new file mode 100644 index 0000000..c09ac9a --- /dev/null +++ b/scripts/encode.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python3 +from __future__ import annotations + +import argparse +import struct +import wave +import os +import math +from pathlib import Path + +BLOCK_SIZE = 64 +TYPE_RAW = 0 +TYPE_HEADER = 1 + +def crc16(data: bytes) -> int: + """Calculate CRC-16/CCITT-FALSE.""" + crc = 0xffff + for value in data: + crc ^= value << 8 + for _ in range(8): + if crc & 0x8000: + crc = (crc << 1) ^ 0x1021 + else: + crc <<= 1 + crc &= 0xffff + return crc + + +class PulseWriter: + def __init__( + self, + sample_rate: int, + t_short_us: float, + t_long_us: float, + amplitude: float, + ) -> None: + self.sample_rate = sample_rate + self.short_samples = self._duration_samples(t_short_us) + self.long_samples = self._duration_samples(t_long_us) + self.high = round(32767 * amplitude) + self.low = -self.high + self.samples = bytearray() + + self.space(0.1) + + def space(self, time: float) -> None: + self._level(0, int(time*self.sample_rate)) + + def _duration_samples(self, duration_us: float) -> int: + sample_count = round(duration_us * self.sample_rate / 1_000_000) + if sample_count < 1: + raise ValueError( + f"pulse duration {duration_us:g} us is shorter than one sample" + ) + return sample_count + + def _level(self, value: int, sample_count: int) -> None: + self.samples.extend(struct.pack(" None: + self._level(self.high, self.short_samples) + self._level(self.low, self.long_samples) + + def long_pulse(self) -> None: + self._level(self.high, self.long_samples) + self._level(self.low, self.short_samples) + + def marker(self) -> None: + self._level(self.high, 2*self.long_samples) + self._level(self.low, 2*self.long_samples) + + def bit(self, value: int) -> None: + if value: + self.long_pulse() + else: + self.short_pulse() + + def byte(self, value: int) -> None: + # Transmit bytes most-significant bit first. + for bit_number in range(7, -1, -1): + self.bit((value >> bit_number) & 1) + + def bytes(self, value: bytes) -> None: + for byte in value: + self.byte(byte) + + def leader(self) -> None: + self.space(0.2) + for _ in range(50): + self._level(self.high, self.short_samples) + self._level(self.low, self.short_samples) + for _ in range(50): + self._level(self.high, self.long_samples) + self._level(self.low, self.long_samples) + self.marker() + for value in (0x55, 0x5A, 0xC3): + self.byte(value) + + def block(self, type:int, data:bytes) -> None: + self.leader() + block_data = struct.pack(" None: + fname = path.name + fsize = os.path.getsize(path) + data = struct.pack(" None: + pulses.block(TYPE_RAW, data) + pulses.block(TYPE_RAW, data) + +def main() -> None: + parser = argparse.ArgumentParser( + description="Generate the pulse-width encoded tape leader" + ) + parser.add_argument("input", type=Path, help="input file to encode") + parser.add_argument("output", type=Path, help="output WAV file") + parser.add_argument("--sample-rate", type=int, default=48_000) + parser.add_argument( + "--t-short", + type=float, + default=250.0, + metavar="MICROSECONDS", + help="short pulse interval in microseconds (default: 250)", + ) + parser.add_argument( + "--t-long", + type=float, + default=500.0, + metavar="MICROSECONDS", + help="long pulse interval in microseconds (default: 500)", + ) + parser.add_argument("--amplitude", type=float, default=0.75) + args = parser.parse_args() + + if args.sample_rate <= 0: + parser.error("--sample-rate must be positive") + if args.t_short <= 0 or args.t_long <= 0: + parser.error("pulse intervals must be positive") + if args.t_short >= args.t_long: + parser.error("--t-short must be less than --t-long") + if not 0.0 <= args.amplitude <= 1.0: + parser.error("--amplitude must be between 0 and 1") + + try: + pulses = PulseWriter( + args.sample_rate, + args.t_short, + args.t_long, + args.amplitude, + ) + except ValueError as error: + parser.error(str(error)) + + # create header block + header(pulses, args.input) + pulses.space(1.0) + with open(args.input, "rb") as f: + while True: + data = f.read(BLOCK_SIZE) + if not len(data): + break + raw(pulses, data) + + pulses.space(1.0) + with wave.open(str(args.output), "wb") as wav: + wav.setnchannels(1) + wav.setsampwidth(2) + wav.setframerate(args.sample_rate) + wav.writeframes(pulses.samples) + + +if __name__ == "__main__": + main() diff --git a/tape.asm b/tape.asm new file mode 100644 index 0000000..fc69a6a --- /dev/null +++ b/tape.asm @@ -0,0 +1,530 @@ +BLOCK_SIZE .equ 1+64+2 ; type + 64 bytes + crc-16 +BLOCK_ERROR_CALIBRATION .equ 1 +BLOCK_ERROR_SYNC .equ 2 +BLOCK_ERROR_READ .equ 3 +BLOCK_ERROR_CHSUM .equ 4 + +TAPE_WORKSPACE .equ END_OF_BIOS_WS +SHORT_AVG .equ TAPE_WORKSPACE + 000h ; byte +SHORT_MIN .equ TAPE_WORKSPACE + 001h ; byte +SHORT_MAX .equ TAPE_WORKSPACE + 002h ; byte +LONG_AVG .equ TAPE_WORKSPACE + 003h ; byte +LONG_MIN .equ TAPE_WORKSPACE + 004h ; byte +LONG_MAX .equ TAPE_WORKSPACE + 005h ; byte +BLOCK_BUFFER .equ TAPE_WORKSPACE + 006h ; BLOCK_SIZE + +; ------------------------------------------------------- +; Measure edge-to-edge pulse +; needs d (comparator state) +; returns b (loop count) +; carry is timeout +; uses a +; loop is 36T extra 22T (0.6 loops) +; ------------------------------------------------------- +measure_pulse: + ld b,0 ; 4T +1$: + ; use b as timeout counter (246 loops) + inc b ; 4T + jr z,9$ ; 12/7T + in a,(TAPE_PORT) ; 11T + cp d ; 4T + jp z,1$ ; 10T + ; loop has 36T + ; edge found + ld d,a ; 4T + or a ; 4T, clear carry + ret ; 10T +9$: + scf + ret + +; ------------------------------------------------------- +; Ignore one pulse and then measure the next +; needs d (comparator state) +; returns b (loop count) +; carry is timeout +; uses a +; loop is 36T extra 26T (0.7 loops) +; ------------------------------------------------------- +sample_pulse: + ld b,0 ; 4T +1$: + ; use b as timeout counter (246 loops) + inc b ; 4T + jr z,9$ ; 12/7T + in a,(TAPE_PORT) ; 11T + cp d ; 4T + jp z,1$ ; 10T + ; loop has 36T + ; edge found + ld d,a ; 4T + ; start timing from now + ld b,0 ; 4T +2$: + ; use b as timeout counter (246 loops) + inc b ; 4T + jr z,9$ ; 12/7T + in a,(TAPE_PORT) ; 11T + cp d ; 4T + jp z,2$ ; 10T + ; loop has 36T + ; edge found + ld d,a ; 4T + or a ; 4T, clear carry + ret +9$: + scf + ret + +; ------------------------------------------------------- +; Average 8 pulse measurements +; needs d (comparator state) +; returns a (average) +; cary is timeout +; uses b,e,h +; ------------------------------------------------------- +average8: + ld e,0 + ld h,8 +1$: + ; synchronize to next pulse and ignore measurement + call sample_pulse + ret c ; return when timeout + call sample_pulse + ret c ; return when timeout + ld a,e ; add loop count to e + add b + ld e,a + dec h + jr nz,1$ ; repeat this 8 times + ld a,e + srl a + srl a + srl a ; divide by 8 + or a ; cear carry + ret + +; ------------------------------------------------------- +; Make a +/-25% window around a +; needs a +; returns b (minimum) c (maximum) +; uses e,h +; NOTE: USES 8 BIT COUNTER +; @1MHZ t_long<1.14ms +; @2MHZ t_long<571us +; @4MHZ t_long<285us +; TODO: Check feasibility of using 16bit accumulator +; ------------------------------------------------------- +make_window: + ld e,a + srl a + srl a + ld h,a ; h = a/4 + ld a,e + sub h + ld b,a ; b = a-25% + ld a,e + add h + ld c,a ; c = a+25% + ret + +; ------------------------------------------------------- +; Calibration +; d needs to be kept from now on +; uses a,b,c,e,h,l +; carry is error +; ------------------------------------------------------- +calibrate: + ld a,(TAPE_PORT) ; get current state + ld d,a + call sample_pulse ; make sure we start in silence + jp nc,cal_err ; should timeout + ; wait for the first edge + ld l,0 +1$: + call sample_pulse + jr nc,2$ + ; use l as timout counter + ; inc l + ; jr nx,1$ + jr 1$ + ; timeout + jp cal_err ; TODO ignored timeout for now +2$: + ; edge found + ; get short leader timing + call average8 + jr c,cal_err ; timeout + ld (SHORT_AVG),a + call make_window + ld a,b + ld (SHORT_MIN),a + ld a,c + ld (SHORT_MAX),a + ; find the long leader + ; need 8 consecutive pulses > short*1.5 + ld a,(SHORT_AVG) + ld c,a + srl a + add c ; a = 1.5*short + ld c,a + ; TODO no overall timeout here +3$: + ld e,4 ; repeat 4 times, each first pulse + ; is ignored +4$: + call sample_pulse + jr c,cal_err + call sample_pulse + jr c,cal_err + ld a,b + ; try again if its a short pulse + cp c + jr c,3$ + ; we found a long pulse + dec e + jr nz,4$ ; repeat this 4 times + ; long leader found + call average8 + jr c,cal_err ; timeout + ld (LONG_AVG),a + call make_window + ld a,b + ld (LONG_MIN),a + ld a,c + ld (LONG_MAX),a + ; A quick sanity check: long>1.5*short + ld a,(SHORT_AVG) + ld c,a + srl a + add c + ld c,a ; c = 1.5*short + ld a,(LONG_AVG) + cp c + jr c,cal_err + ; Find the marker. marker is 2*long + ; threshold is 1.5*long + ld a,(LONG_AVG) + ld c,a + srl a + add c + ld c,a ; c = 1.5*long + ; Find two consecutive marker-width intervals +5$: + ld e,0 +6$: + call measure_pulse + jr c,cal_err ; timeout + ld a,b + cp c + jr c,5$ ; not a marker + inc e ; marker interval found + ld a,e + cp 2 ; we need two of them + jr c,6$ ; not 2 yet, measure next + ; both marker halves found + ; we are at the beginning of the first data pulse + ; next 8 bytes is the training byte 0x55 + call read_byte + jr c,cal_err + cp a,055h + jr nz,cal_err ; training byte not 0x55 + ; calibration complete + or a ; clear carry + ret +cal_err: + scf + ret + +; ------------------------------------------------------- +; Read a single bit +; needs d (comparator state) +; valid: z=1 c=bit +; error: z=0 +; uses a,b,c +; ------------------------------------------------------- +read_bit: + ; entry may be late into first pulse + ; wait for first edge to measure + ld b,0 +1$: + inc b + jr z,bit_bad + in a,(TAPE_PORT) + cp d + jp z,1$ + ld d,a + ; ignored first edge + ; measure second pulse + ld b,0 +2$: + inc b + jr z,bit_bad + in a,(TAPE_PORT) + cp d + jp z,2$ + ld d,a + ; if in short window (second half is short pulse) + ; 1 + ld a,(SHORT_MIN) + ld c,a + ld a,b + cp c + jr c,bit_bad ; pulse no silence + ret + +; ------------------------------------------------------- +; Strings +; ------------------------------------------------------- +msg_start: .db "PLAY TAPE", 0ah,0dh,00h diff --git a/tapes/test.wav b/tapes/test.wav new file mode 100644 index 0000000000000000000000000000000000000000..77f17b0cb98ddb2632dec4920a007f19aeee845e GIT binary patch literal 1528060 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 z;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB z1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3 zTi_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4f zxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj& zfm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i z7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+A zZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>` z;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB z1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3Ti_PB1#W>`;1;+AZh>3i7Ptj&fm`4fxCL&3 QTi_PB1#W>`;QuV}KWXHEe*gdg literal 0 HcmV?d00001