Skip to content

Releases: meithecatte/miniforth

Snapshot 23w15a

13 Apr 17:39
caecfc9
Compare
Choose a tag to compare
  • Add description of filesystem API to README

  • Remove the + word from kernel, saving 6 bytes

  • Don't expose the BASE variable, saving 4 bytes

  • Remove DROP from kernel, defining it as : drop dup - - ; (saves 7 bytes)

  • Combine [ and ], saving 5 bytes

  • Make compress.py print the number of bytes saved by compression

  • Save 1 byte

  • Simplify how we force yasm to emit push 0x89 in two bytes

  • Save 1 byte

  • Move EMIT out of the kernel, saving 12 bytes

  • Move >IN to 7d00, saving 5 bytes.

  • Don't use the uefix chainloader in the default build configuration.

Miniforth is now small enough to fit a partition table itself.

Snapshot 23w11b

18 Mar 10:46
cc36415
Compare
Choose a tag to compare
  • asm32 (internal): check that mod-r/m-size was called before emitting a ModR/M byte

  • asm32: emit 32-bit NEXT in 32-bit mode

  • asm32: Implement shift instructions

  • Document the internals of does>

  • go32: Fix the alter-0 check

How did this work before??? Why was a small stack underflow the only
symptom?

  • Show input position on exception

  • asm32: Implement movzx

  • fed: Make downwards scrolling faster

Going to the end of the file (or a search result) used to do it one line
at a time, rendering each step. This became an annoyingly slow animation
the 100th time you saw it on a long file.

  • fed: Implement C and D (change/delete to end of line)

  • go32: Coming back to 16-bit mode.

Snapshot 23w11a

13 Mar 22:51
85a38ef
Compare
Choose a tag to compare
  • require: include a file if a word isn't defined

  • Initialize alters automatically on 50 load

  • Initial forays into protected mode :3

Snapshot 23w10f

12 Mar 15:39
a71fd47
Compare
Choose a tag to compare
  • fed: Fix pasting at the end of the file

  • fed: Make cc at the last line work properly

  • fed: Don't crash after ggdG

Snapshot 23w10e

12 Mar 03:04
4ea5b02
Compare
Choose a tag to compare
  • CI: generate changelogs in chronological order

Reverse-chronological is confusing sometimes >.<

Snapshot 23w10d

12 Mar 02:59
0ed218a
Compare
Choose a tag to compare
  • asm32: Add tests for out

  • Make disk I/O work in alters other than 0

  • Reformat the code in the initial blocks

  • asm32: assembler with more typical syntax and 16/32-bit as target

  • alters: a way around the 64K limit

  • Include filesystem contents in repo and disk images

This includes a more full-featured version of the file editor in
fed.fth, a fsck in fsck.fth, a unit test library in test.fth, a file
copying utility in fsext.fth, and a minimal x86 encoding reference in
x86.txt.

  • Move intermediate files to build/

  • Clean up repo organization

  • Save 5 bytes

Snapshot 23w10c

07 Mar 00:27
f375b60
Compare
Choose a tag to compare
  • Save 1 byte

  • Don't preserve return stack pointer between interpreted words

This isn't done by the expanded interpreter either, and not doing
it lets me save 4 bytes.

  • Save 1 byte

Snapshot 23w10b

06 Mar 01:17
0fa2518
Compare
Choose a tag to compare
  • mkdisk.py: print block numbers in hex

  • Perform 1 load automatically when built with -DAUTOLOAD

This is not done by default, as I like to keep a known-good version
of the code at blocks 101 and upwards, as a fallback if break the main
copy. This might be desirable for other usecases, though.

Closes #7

  • Don't load install-to by default (moved to block 5f)

Snapshot 23w10a

06 Mar 00:55
5ff0aa8
Compare
Choose a tag to compare
  • Generate fuller changelogs for snapshots

  • Add bootstrap version of file editor

  • Fix stack comment of fopen?

  • Don't overlap ptable buffer with freebits

  • Don't load grep by default (moved to block 2f)

  • exceptions: conserve memory

  • #lines is ambiguous. rename to blk-{width,height}

  • Handle multiple string literals in interpreter mode

  • Remove obsolete and crude text entry stuff

Loading them into memory at this point is wasteful.

  • Use DAA trick for digit conversion (saves 2 bytes)

  • run.sh: handle option drift

  • build.sh: bail out on first error

Snapshot 22w38a

19 Sep 19:27
83309a9
Compare
Choose a tag to compare
Simple filesystem