Giter Site home page Giter Site logo

kestrelcomputer / kestrel Goto Github PK

View Code? Open in Web Editor NEW
183.0 25.0 10.0 21.61 MB

The Kestrel is a family of home-made computers, built as much as possible on open-source technology, and supporting as much as possible the open-source philosophy.

Home Page: http://kestrelcomputer.github.io/kestrel

License: Mozilla Public License 2.0

Makefile 0.21% Forth 27.67% C 4.76% Shell 0.39% Verilog 19.39% Assembly 41.42% Go 0.17% Python 2.82% M4 3.02% SystemVerilog 0.14%
kestrel freedom assembly forth verilog homebrew computer

kestrel's People

Contributors

larsbrinkhoff avatar neuschaefer avatar sam-falvo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kestrel's Issues

Learning to use Huboard

This issue is to serve as an announcement to the project followers -- I'm going to be trying a new work-flow in order to familiarize myself with an online service called Huboard. I hope that my activity here won't spam people's inboxes. But, in case it does, at least you'll know why.

Implement VECTOR and FIXUP

VECTOR ( "name" -- ) creates a new interrupt or reset vector. It behaves exactly as if it were defined with ENTRY.

FIXUP ( a v -- ) fixes the vector destination for v to point to a.

Child of #22

Write a lexer that works on the host. Neither WORD nor PARSE are suitable for my needs.

I can NOT believe I have to do this.

If I have something like:

: foo     bar baz blort ;

where a tab (\t) separates foo and bar, both 32 WORD and 32 PARSE will deliver a single token, "foo\tbar". Now, this makes a whole lot of sense if your input source is a block; but it's coming from a fucking file.

Once upon a time, ANS Forth said clearly that WORD and PARSE, if given a delimiter of a space, are to also treat other whitespace-y characters the same way. Apparently, this is no longer the case; GForth 0.7.0 no longer implements this behavior.

DAMN IT! What a fucking waste of my time! 5 hours of debugging to narrow this down, and I'm sure fixing this will uncover other bugs that I could have been fixing instead.

So not happy at the moment.

Write $DO$VAR

Needed for variables, LABELs, CREATEd words, et. al.

Implement ENTRY, LABEL, CODE, and END-CODE

(action) ENTRY LABEL CODE
Creates Target Head N Y Y
Creates Host Head Y Y Y
References... Pushes Address Pushes Address Calls

LABEL and ENTRY are required to place arbitrary assembly language instructions at HERE. Note that LABEL must produce a head, just like CODE, whereas ENTRY does not. LABEL and ENTRY differs from CODE in that referencing its name pushes the word's address on the stack; it does not compile a call!
#22

:-header must reference colon interpreter.

No inline assembler yet exists, so this bug will have to wait for now. However, at the moment, the colon compiler compiles address 0 for the code-field address, which is clearly wrong. Child of #10

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.