ROMable FORTHs in 4KB

Liste des GroupesRevenir à cl forth 
Sujet : ROMable FORTHs in 4KB
De : legalize+jeeves (at) *nospam* mail.xmission.com (Richard)
Groupes : comp.lang.forth
Date : 12. May 2025, 16:36:04
Autres entêtes
Organisation : multi-cellular, biological
Message-ID : <vvt4h4$343ju$1@news.xmission.com>
User-Agent : trn 4.0-test77 (Sep 1, 2010)
[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>

Date Sujet#  Auteur
12 May 25 * ROMable FORTHs in 4KB9Richard
13 May 25 `* Re: ROMable FORTHs in 4KB8Rafael Deliano
13 May 25  `* Re: ROMable FORTHs in 4KB7Richard
14 May 25   `* Re: ROMable FORTHs in 4KB6Stephen Pelc
14 May 25    `* Re: ROMable FORTHs in 4KB5Richard
14 May 25     +- Re: ROMable FORTHs in 4KB1Richard
14 May 25     `* Re: ROMable FORTHs in 4KB3Stephen Pelc
14 May 25      `* Re: ROMable FORTHs in 4KB2Richard
15 May 25       `- Re: ROMable FORTHs in 4KB1Richard

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal