Giter Club home page Giter Club logo

Comments (2)

SamCoVT avatar SamCoVT commented on July 3, 2024

That sounds like a reasonable idea. Does it make sense to leave the forth/user-words.fs file (for stuff users might want on all platforms) and add a platform/myplatform-user-words.fs file for the platform specific stuff?

On the other hand, there isn't a ton of room for the extra words. The existing user-words and forth-words.fs files are stripped of all comments and line endings and stuffed into a string in the ROM with exactly 1 space between words. At startup, the string is EVALUATEd (note that the more stuff you put in the xxx-words.fs files, the slower Tali is to boot because of this). It takes up a lot of ROM space because it's stored as the original ASCII text, minus the comments and extra whitespace. Tali currently takes up around 22Kish, and we tried to leave 8K for the user's use, so there's not a ton of room left.

I ended up running out of room in my SBC's EEPROM to use just the forth-words method, so I added storage to my system (first an EEPROM over I2C and later a Compact Flash interface) and used the block words to get more extensive code loaded. I just use user-words.fs for my I2C routines to access the external EEPROM, and then I load various screens off of that to get the FAT32 support for the Compact Flash card off of that or support for other hardware I have, like an LCD screen.

If this is something you are really interested in, would you be willing to code the changes needed? I'd be happy to help you out, and you can check the Makefile to see how the platform files are currently handled using wildcards and how the xxx-words.fs files are currently handled using the python script that strips the comments/whitespace out.

from taliforth2.

scotws avatar scotws commented on July 3, 2024

From my 64tass tests with Cthulhu Scheme I think there is a lot of space we can save if we we are willing to implement a system of configuration options for conditional assembly. For instance, I really hate octal, think it is a complete waste of space. However, some people may have not yet seen the light. So as a test, I've included a OCTAL = false flag in the Cthulhu platforms file so it won't assemble OCTAL support (which I haven't coded yet, but you get the idea).

I'm not sure how fine-grained we want to be, and we'll have to make sure that all combinations work, but this might be a way to make room for more user-specific stuff. I'm really getting to like conditional assembly :-)

from taliforth2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.