Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env bash
# some excerpts from my bashrc. tested in 5.2.
# CC0 or MIT, I don't care enough.
# shellcheck enable=all disable=2312,2250,2120 # disables:
# cmd||true, ${v}, unused args, though a few more still trigger.
### helpers
e() { echo >&2 "$@"; "$@"; } # to stay aware of my aliases/functions
@ekipan
ekipan / nicto.asm
Last active December 6, 2025 18:09
; moved to https://github.com/ekipan/nictoforth
@ekipan
ekipan / nectr.asm
Last active December 6, 2025 17:40
16-bit x86 bootsector forth
; moved to https://github.com/ekipan/nictoforth
@ekipan
ekipan / tet
Last active December 8, 2025 06:27
Moved to https://github.com/ekipan/sss
@ekipan
ekipan / asm.fs
Last active April 12, 2026 05:43
\ \ durexforth 6510 assembler.
\ readers: ctrl-f "wordset".
hex latest \ private:
create enc \ addr mode encoding bytes.
0909 , 1505 , 0115 , 8011 , \ ma 8b
8009 , 1d0d , 8019 , 8080 , \ ma 16b
0080 , 1404 , 8014 , 8080 , \ mb 8b
8080 , 1c0c , 801c , 2c80 , \ mb 16b
\ simplest block for durexForth.
\ saves files "b001" "b002" etc.
\ single buffer.
\ marker --
header save-buffers \ [-] to disk
header update \ [-] mark for save
header block \ [b-a] buffer addr
0 value asn \ assigned block
@ekipan
ekipan / tt.fs
Last active April 28, 2023 13:27
( ttiny line editor 10 )
: 00. 0 <# # # #> type space ;
: in- source >in ! drop ;
: in/ source >in @ /string 32 min ;
create scr 10 ,
: edit dup scr ! block drop ;
: line 32 * scr @ block + ;
: wipe 0 line 1024 bl fill ;
: run 0 line 1024 evaluate ;
: scrub 0 line dup 1024 + swap DO
\ marker --
header save-buffers
header empty-buffers header flush
header update header buffer
header block header list
latest
( save each block in a separate
prg file "b001" "b002" etc. )
@ekipan
ekipan / z.fs
Last active May 11, 2023 17:09
.( z: a durexForth block editor. ) cr
\ 25x40 screens vi-clone. yanks to pad.
require block
marker -- \ -z---
header edit \ [b-] edit block b
header z \ [-] resume editing
.( scn )
\ [-] emit (w)y, ctl codes as '?'
\ https://youtu.be/VC-lbd8mTOs
hex
marker ---
: v [ 0 lda,# tax, ] --- v ;
: rvs c7 c! ;
: rndf d41b c@ 80 < ;
: tri if a9 9b else df 97 then ;
: one dup rvs rndf tri emit emit ;
: row 0= #40 0 DO 0= one LOOP ;
: go 0 BEGIN row AGAIN ;