This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export default { | |
| name: "basic", | |
| scopeName: "source.basic", | |
| aliases: ["sinclair-basic", "bbc-basic", "zx-basic"], | |
| extensions: [".bas", ".bbc"], | |
| patterns: [ | |
| { include: "#line-number" }, | |
| { include: "#comment" }, | |
| { include: "#string" }, | |
| { include: "#sigil-builtin" }, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export default { | |
| name: "z80", | |
| scopeName: "source.z80", | |
| aliases: ["z80asm"], | |
| extensions: [".z80", ".asm", ".inc"], | |
| patterns: [ | |
| { include: "#comment" }, | |
| { include: "#label" }, | |
| { include: "#local-label" }, | |
| { include: "#directive" }, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python3 | |
| """ | |
| z80lint.py -- Z80 assembler linter for CP/M 3.1 / ZX Spectrum +3 project. | |
| Proper instruction parser with effects table, replacing the old regex linter. | |
| Checks: | |
| 1. Stack balance: every RET must be reached with net push/pop depth of zero. | |
| 2. Register clobber: reads of registers known clobbered by a preceding CALL | |
| without intervening restore. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 10 REM [7F] 1983 Scicon Ltd V3.1 RT/DS | |
| 80 GO SUB 9600: CLEAR ix-1850: GO SUB 9600: LET o=0: LET l=1: DIM a$(22): DIM b$(600): POKE 23609,50: LET b$(l TO l+l)=CHR$ o+CHR$ o | |
| 100 LET dm=9100: LET cl=9000: LET mc=9300: LET er=9050: LET gk=9400: LET tx=9500: LET mm=800: LET E$="": LET I$="": LET s$="c": FOR i=l TO 22: LET a$(i)=CHR$ 10: NEXT i | |
| 330 LET mf=ix+6: LET exc=ix+11: LET fmod=ix+45: LET id=ix+55: LET t=ix-PEEK ix-PEEK (ix+2)-256*(PEEK (ix+l)+PEEK (ix+3)) | |
| 340 FOR i=o TO 9: LET I$=I$+CHR$ PEEK (id+i): NEXT i | |
| 350 LET ls=l: LET E$="Download Failure": IF PEEK exc=o THEN LET E$="": LET ls=o: GO TO 400 | |
| 360 IF PEEK exc=7 THEN LET E$="" | |
| 400 PAPER l: BORDER o: INK 7: IF PEEK exc=8 THEN GO TO 2000 | |
| 410 LET T$="": GO SUB tx | |
| 800 LET mn=o: GO SUB dm: GO TO mc |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ; ============================================================================= | |
| ; VTX5000 Prestel/Viewdata Modem ROM - Annotated Disassembly | |
| ; ============================================================================= | |
| ; | |
| ; ROM: vtx5000-3-1.rom (8192 bytes, $0000-$1FFF) | |
| ; Hardware: Prism VTX5000 Modem for the ZX Spectrum 48K | |
| ; Developer: Scicon Ltd, 1983 | |
| ; Version: 3.1 (RT/DS) | |
| ; | |
| ; HARDWARE OVERVIEW: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| DEVICE ZXSPECTRUM128 | |
| ORG $4800 ; Bank 5 (display bank) | |
| ; --------------------------------------------------------- | |
| ; All-RAM mode 0 ($1FFD=01): Banks 0,1,2,3 at $0000/$4000/$8000/$C000. | |
| ; | |
| ; Strategy: | |
| ; • Bootstrap runs in Bank 5. Prints title/banks to display. | |
| ; ULA always reads Bank 5, so display is visible throughout the test. | |
| ; • Copies this code to Bank 1 (via $7FFD paging), then enables All-RAM. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env node | |
| const { execSync } = require('child_process'); | |
| const fs = require('fs'); | |
| const path = require('path'); | |
| let input = ''; | |
| process.stdin.on('data', chunk => input += chunk); | |
| process.stdin.on('end', () => { | |
| const data = JSON.parse(input); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import glob | |
| import subprocess | |
| import os | |
| import shutil | |
| import re | |
| import sys | |
| import argparse | |
| from concurrent.futures import ProcessPoolExecutor, as_completed | |
| from ruamel.yaml import YAML |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python3 | |
| """ | |
| ym2aytap.py - Convert YM music files to ZX Spectrum .tap for AY playback. | |
| Reads YM2/YM3/YM5/YM6 files (LHA compressed or raw) and generates a .tap | |
| with a compact Z80 player that writes AY registers at 50Hz using HALT. | |
| 14 bytes/frame × 50Hz = 700 bytes/sec → 46s (48K) or ~2:40 (128K). | |
| Damien Guard, MIT License, 2026 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System.Collections.Generic; | |
| using var outFile = File.OpenWrite("linc.ch8"); | |
| for (var x = 32; x < 128; x++) | |
| { | |
| byte[] c = [0, 0, 0, 0, 0, 0, 0, 0]; | |
| if (CharacterPatterns.Patterns.TryGetValue(Convert.ToChar(x), out var pattern)) | |
| { | |
| c = CharacterPatterns.MapPatternToRaw(pattern); |
NewerOlder