Skip to content

Releases: Molorius/ulp-forth

v0.0.4

26 Jan 06:56
Compare
Choose a tag to compare

Changelog

  • 3bb16e1 Add .( FILL words.
  • 35078d5 Add M+ and SPACES words.
  • 6382afe Add ROLL 2ROT words.
  • 27bd22c Add VALUE 2VALUE TO FIND words.
  • 478b8e7 Fix MOVE when the addresses overlap.
  • 2ff953e Remember repl lines between errors. Properly close files.
  • 919cd35 Split test suite up by word set.
  • b3ae1e8 Start work on >NUMBER definition.
  • 2a3ac75 Update readme formatting.

Released by GoReleaser.

v0.0.3

25 Jan 02:45
Compare
Choose a tag to compare

Changelog

  • 22513c2 Add >BODY CHAR CREATE DOES> and tests.
  • 0eb5da9 Add cli command to flash the test application.
  • 6ec4040 Allocate new data space every time CREATE is called.
  • af17f95 Change internal uses of STRING" to C"
  • f8d2c2d Extend S" C" and ." so they can be interpreted.
  • c2e6e9a Fix VM.INIT in subroutine threaded builds.
  • cfdba80 Include license document.
  • 0eefc73 Throw error when a word for cross compile doesn't have assembly.

Released by GoReleaser.

v0.0.2

23 Jan 04:20
Compare
Choose a tag to compare

Changelog

  • 6363093 Add CELLS test.
  • 96356f0 Add EVALUATE MOVE ERASE and tests.
  • 063d394 Add HERE , C, ALLOT and ALIGN plus tests.
  • 32f9903 Add RESIZE and FREE with test cases.
  • 1a9eff3 Add install info to readme.

Released by GoReleaser.

v0.0.1

20 Jan 19:19
Compare
Choose a tag to compare

Changelog

  • 4d51bad Add ." and TYPE. Fix test suite, make errors easier to debug.
  • 39f8e3a Add /MOD word.
  • dc824fe Add 2/
  • 4ca3292 Add :NONAME and a few tests.
  • a0c5621 Add ?DO.
  • de5d043 Add AND OR * XOR ABS. Optimize CONSTANT.
  • 44dcd3f Add BASE and more tests from the suite.
  • 0a518d7 Add BEGIN AGAIN UNTIL. Properly wait for esp functions.
  • dcf7e34 Add C@ C! CHAR+ ALIGNED COUNT S"
  • ab8182b Add CASE OF ENDOF ENDCASE.
  • b2574c9 Add CHARS. Change builtin assembly offsets to named addresses.
  • 62ccefe Add D+ with test.
  • 9c75fbb Add D-.
  • 7a5b86f Add DEFER DEFER@ and DEFER!.
  • 9500085 Add DEPTH.
  • 390e3e8 Add DO LOOP +LOOP.
  • d83fd72 Add DOCOL for later optimizations.
  • a518586 Add DU< DU> D00= D>S 2@ 2!.
  • 8d1ef2d Add GPIO input, pullups, and pulldowns with an example.
  • e446692 Add J UNLOOP LEAVE.
  • 1cd9ec3 Add PICK.
  • fb86126 Add R> and >R.
  • 5127a1a Add README to the examples.
  • b051207 Add STATE and IS.
  • 831c337 Add TUCK \ tests.
  • 3751abd Add U. word.
  • 6bb1eae Add U>D and explicilty print the number base in word .S
  • 8d7e213 Add WAKE and HALT with examples.
  • 4e6c1ec Add WHILE REPEAT
  • dbf184c Add WORD and counted strings.
  • a7928fb Add [CHAR].
  • 89190e5 Add [COMPILE].
  • 45c6007 Add a badge to the readme showing the test status.
  • f32b212 Add a few core words that can run on ulp.
  • 711ecd9 Add a few words related to compilation. Untested.
  • d92d802 Add a few words, many test cases, and the remaining test case placeholders.
  • bc9516b Add a release workflow.
  • d4c64da Add a workflow to run unit tests.
  • 176a5b8 Add an app to run the examples.
  • 38e16fd Add comments.
  • 87ead23 Add comparison words.
  • 2af9bbf Add compilation words such as : ; and POSTPONE.
  • 73b221d Add copyright notice.
  • d5496a5 Add cross compiling.
  • e1fe020 Add documentation.
  • 4db1d29 Add double comparison words. Move hardware files to separate directory to speed up tests.
  • d5baff2 Add flag to primitives that are pure and primitives that use the return stack.
  • 494247b Add functions to attempt compiling subroutine threaded.
  • bfec5ff Add primitives for a subroutine threaded forth.
  • 4f4f9e4 Add serial output and a "hello world" example.
  • 041c249 Add several double words. Add a clock delay.
  • 150b4ba Add unit tests for ulp primitives.
  • 8ae59fd Add unit tests.
  • 9d92672 Add word ACTION-OF.
  • d3fc4b8 Add word EXECUTE.
  • 4eeb809 Add words IF ELSE THEN.
  • d1b73c7 Add words to create assembly. Create GPIO output words. Include a minimal esp32 app.
  • 15e75e9 Also run unit tests on host.
  • 362fc31 Always run subroutine tests. Get the blink example working.
  • 537598d Begin restructure of cross compile process.
  • e0af85a Build assembly the same way for both token threaded and subroutine threaded.
  • 9a3438d Calibrate the millisecond delay.
  • 4583176 Change CellString uses to CellAddress.
  • 7f1bfd9 Change parsing to accept a delimiter.
  • f3affca Change parsing to prepare for compiling later.
  • b296b46 Change token threaded assembly to allow for options. Fix compiling nonstandard token threaded assembly.
  • 2fe3e3d Change token threaded primitive NEXT values to flags.
  • 3060c99 Change uses of DEFER! to IS.
  • dc1a2b9 Compile assembly words for subroutine threaded.
  • c09fbea Create blink example and a busy delay.
  • acc5dee Create build and run commands.
  • f805ee8 Create data words ALLOCATE @ and !
  • 3661f33 Create global memory which can be shared with the esp32.
  • 6d3615d Create i2c library with an example.
  • def85f6 Create map of literals for cross compile.
  • 79ec40c Don't compile subroutine threaded docol if the word is never called.
  • 40015f6 Don't print extra newlines.
  • 3232a46 Finish compilation of subroutine threading. Tests broken.
  • 178ef7d Fix C! and RPICK for subroutine threaded. All tests pass.
  • 21e7a35 Fix DEFER for subroutine threading.
  • 79483d8 Fix numbers usage and literals compilation.
  • f87590d Fix skipped error messages. Print redefine statement.
  • a207d39 Fix so allocated memory does not appear twice in out.
  • d30134d Fix stack cleanup on DELAY_MS.
  • 98c0544 Force EXIT to not be optimized.
  • 02ad69a Further optimized /MOD.
  • 50e31f2 Get the hello_world and i2c can example working under subroutine threading.
  • 092c7c1 Implement basic compiling. Add builtin forth files.
  • c606db7 Implement printing using EMIT. Add a few assorted words.
  • c8a83e7 Implement signed division.
  • fa13648 Implement tail calls.
  • 75684bc Initial. The basic interpreter works, data structures are set up.
  • 561982e Inline deferred words that cannot be altered in cross compiled output.
  • 4518872 Make HALT begin at the next instruction for subroutine
  • 503c0b3 Mild U/MOD optimization.
  • 5fc4095 Mild U< optimization.
  • c35e261 Move optimizations to a new file.
  • d2e9426 Move primitive logic together.
  • e8c260e Move test setup code to inside individual tests.
  • e80f689 Optimize accessing the instruction pointer.
  • 7300c5e Optimize division routine.
  • e7badde Optimize jumps to vm entry.
  • b126141 Precompute the lower case of words. Speeds up tests significantly.
  • c95254a Put token threaded forth words in the .data section.
  • 1290e69 Remove CellEntry type.
  • e2346ef Remove DOCOL word as it is only part of subroutine threaded.
  • 764a81f Remove STATE word for now.
  • 0789370 Remove experimental warning for subroutine threaded. Update dependencies.
  • f7d6efe Remove unused/unhelpful rtc_reg words.
  • 8fbc5c5 Rename examples from *.forth to *.f.
  • aa483f2 Run tests in parallel for a mild speedup.
  • ee607c9 Set compile flags with existing hardware access assembly.
  • 7ffecf6 Start adding double words.
  • 952c042 Start writing the test suite.
  • 22fafce Tag recursive words for optimizations.
  • a00f0a6 Update copyright notices to 2025.
  • 0061c81 Update readme with threading models and optimizations.
  • d26bd36 Update to latest ulp-c.
  • a1a9ad3 Update ulp-c dependency.
  • a9e6152 Update ulp-c for better emulation errors.
  • 876c217 Use CellAddress instead of CellMemory, remove CellMemory.
  • 339a423 Use the word body ...
Read more