• ROMable FORTHs in 4KB

    From Richard@21:1/5 to All on Mon May 12 15:36:04 2025
    [Please do not mail me a copy of your followup]

    Hi,

    I have a slow-burn project to build an SBC around the Motorola 6805
    CPU. (Why? Because someone gave me a pile of them.) This CPU only
    has 8K of address space. I would like to have a ROM with FORTH in 4K
    leaving ~3.5K of address space for user data/program.

    The motivation for having FORTH in ROM was to have the SBC boot into
    an interactive "ready to program" environment, kind of like how the
    original IBM PC without floppy drives would boot into BASIC in ROM.

    I dug around and found some FORTH implementations that seem like they
    will do the job (e.g. fit in 4K) but examining the source code implies
    that they will need some additional changes in order to execute from
    ROM instead of RAM.

    The 6805 has a tiny hardware stack (located in the zero page), so
    FORTH's stack probably needs to be elsewhere?

    The 6805 is also not the fastest CPU, so implementing as many of the
    core words in assembly is probably best to get reasonable performance.

    SBC project: <https://github.com/LegalizeAdulthood/6805_SBC>

    I found this ROMable FORTH for 8080/Z80: <https://github.com/LegalizeAdulthood/sl5>

    Other repositories that are relevant to this project: <https://github.com/stars/LegalizeAdulthood/lists/6805-forth-sbc>

    I have added these FORTH related files to the repo based on my
    scouring of the inny-nets: <https://github.com/LegalizeAdulthood/6805_SBC/tree/master/firmware/6805EF13>

    05EF21.ASM (6805 eForth 2.01, 3/17/99, C. H. Ting) looks promising,
    but it assumes that the code space is writable and the first thing it
    does is copy itself from ROM into RAM.

    6805-4TH.TXT (RAFOS FORTH V1.0 26 March 1986) appears to be ROMable
    ready, but didn't come with much documentation, so I'd have to spend
    some time reverse engineering the assembly.

    I'd love to hear if anyone has experience with these implementations
    or suggestions for better implementations for my use case.

    Thanks,

    -- Richard

    --
    "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
    The Terminals Wiki <http://terminals-wiki.org>
    The Computer Graphics Museum <http://computergraphicsmuseum.org>
    Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rafael Deliano@21:1/5 to All on Tue May 13 17:22:59 2025
    Motorola 6805

    I did port my 6502 implementation ( 32k RAM + 32k EPROM ) to the
    MC68HC05E0. The 68pin PLCC had no internal EPROM but a direct
    ( = non-multiplexd ) memory access to almost 64kbyte. So there
    was an external 32k RAM and 32k EPROM.
    FORTH + Assembler/Disassembler 68HC05 about 16kByte.
    On the 68HC05 one cannot push/pop data on the CPU-stack.
    Adapted my FORTH accordingly.

    That board was used as a emulator for debugging assembler-programs
    for the much smaller J1A, P6, C8 with 1k, 4k, 8k EPROM.
    I had used a Motorola "low cost" 68HC05 emulator and found it
    a rather inconvenient time/money-burner.

    As soon as the 68HC08-Flash replaced the 68HC05-OTP everyone moved
    on. I still use 68HC908 both for testequipment and small volume
    production.

    MfG JRD

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard@21:1/5 to All on Tue May 13 21:57:42 2025
    [Please do not mail me a copy of your followup]

    Rafael Deliano <Rafael_Deliano@arcor.de> spake the secret code <vvvo4m$1t3hr$1@dont-email.me> thusly:

    FORTH + Assembler/Disassembler 68HC05 about 16kByte.

    As the subject line states, I need something that squishes into 4KB.

    Total address space is 8KB.
    --
    "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
    The Terminals Wiki <http://terminals-wiki.org>
    The Computer Graphics Museum <http://computergraphicsmuseum.org>
    Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Pelc@21:1/5 to All on Wed May 14 13:30:29 2025
    On 13 May 2025 at 23:57:42 CEST, "Richard" <Richard> wrote:

    [Please do not mail me a copy of your followup]

    Rafael Deliano <Rafael_Deliano@arcor.de> spake the secret code <vvvo4m$1t3hr$1@dont-email.me> thusly:

    FORTH + Assembler/Disassembler 68HC05 about 16kByte.

    As the subject line states, I need something that squishes into 4KB.

    Total address space is 8KB.

    AFAIR the RAFOS Float Forth you already have should do this.

    Please note that this code is copyrighted by Targeta Scientific, who
    are still in business as far as I know. Over 30 years ago MPE started
    a port of this code to our cross compiler and gave it back to Targeta.
    The code I have in my archive is probably completely untested.

    See https://www.taygeta.com/contact.html

    Stephen
    --
    Stephen Pelc, stephen@vfxforth.com
    Wodni & Pelc GmbH
    Vienna, Austria
    Tel: +44 (0)7803 903612, +34 649 662 974 http://www.vfxforth.com/downloads/VfxCommunity/
    free VFX Forth downloads

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard@21:1/5 to All on Wed May 14 16:47:54 2025
    [Please do not mail me a copy of your followup]

    (Richard) legalize+jeeves@mail.xmission.com spake the secret code <1002g5a$377ee$1@news.xmission.com> thusly:

    The copyright notice doesn't say that; it says Copyright 1986 Everett
    Carter.

    I did make an issue on my SBC project to contact them about using that
    code, however, so I appreciate the heads up and link.
    --
    "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
    The Terminals Wiki <http://terminals-wiki.org>
    The Computer Graphics Museum <http://computergraphicsmuseum.org>
    Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard@21:1/5 to All on Wed May 14 16:25:14 2025
    [Please do not mail me a copy of your followup]

    Stephen Pelc <stephen@vfxforth.com> spake the secret code <10025tl$2hamn$1@dont-email.me> thusly:

    AFAIR the RAFOS Float Forth you already have should do this.

    Please note that this code is copyrighted by Targeta Scientific,

    The copyright notice doesn't say that; it says Copyright 1986 Everett
    Carter.

    Unfortunately I didn't put in the commit message the URL where I got
    this from.
    --
    "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
    The Terminals Wiki <http://terminals-wiki.org>
    The Computer Graphics Museum <http://computergraphicsmuseum.org>
    Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Pelc@21:1/5 to All on Wed May 14 16:48:03 2025
    On 14 May 2025 at 18:25:14 CEST, "Richard" <Richard> wrote:

    [Please do not mail me a copy of your followup]

    Stephen Pelc <stephen@vfxforth.com> spake the secret code <10025tl$2hamn$1@dont-email.me> thusly:

    AFAIR the RAFOS Float Forth you already have should do this.

    Please note that this code is copyrighted by Targeta Scientific,

    The copyright notice doesn't say that; it says Copyright 1986 Everett
    Carter.

    Unfortunately I didn't put in the commit message the URL where I got
    this from.

    Everett (Skip) Carter is a nice guy. Just ask him for permission to
    use (with attribution) and I'm sure he will give it to you.

    Stephen
    --
    Stephen Pelc, stephen@vfxforth.com
    Wodni & Pelc GmbH
    Vienna, Austria
    Tel: +44 (0)7803 903612, +34 649 662 974 http://www.vfxforth.com/downloads/VfxCommunity/
    free VFX Forth downloads

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard@21:1/5 to All on Wed May 14 20:29:10 2025
    [Please do not mail me a copy of your followup]

    Stephen Pelc <stephen@vfxforth.com> spake the secret code <1002hg3$2jnbf$1@dont-email.me> thusly:

    Everett (Skip) Carter is a nice guy. Just ask him for permission to
    use (with attribution) and I'm sure he will give it to you.

    I sent them an email today, we'll see what they say.

    -- Richard

    --
    "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
    The Terminals Wiki <http://terminals-wiki.org>
    The Computer Graphics Museum <http://computergraphicsmuseum.org>
    Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard@21:1/5 to All on Thu May 15 20:09:52 2025
    [Please do not mail me a copy of your followup]

    (Richard) legalize+jeeves@mail.xmission.com spake the secret code <1002uem$37fs4$1@news.xmission.com> thusly:

    I sent them an email today, we'll see what they say.

    One quick reply later and permission granted: <https://github.com/LegalizeAdulthood/6805_SBC/issues/11>
    --
    "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
    The Terminals Wiki <http://terminals-wiki.org>
    The Computer Graphics Museum <http://computergraphicsmuseum.org>
    Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)