Giter Site home page Giter Site logo

oh2aun / flashforth Goto Github PK

View Code? Open in Web Editor NEW
97.0 16.0 27.0 17.54 MB

FlashForth development

Forth 21.22% Assembly 54.30% Makefile 2.84% Shell 0.31% C 2.81% Python 3.16% Tcl 2.08% Pawn 8.33% C++ 3.76% HTML 0.91% GLSL 0.07% Emacs Lisp 0.21%
forth assembly atmega pic24 pic18 interpreter compiler

flashforth's Introduction

FlashForth

FlashForth is a standalone Forth system for the Microchip PIC 18, 24, 30, 33 and the Atmel Atmega series of microcontrollers. A Forth system with interpreter, compiler, assembler and multitasker is provided.

See FlashForth main site

Tutorials

flashforth's People

Contributors

larsbrinkhoff avatar oh2aun avatar pajacobs-ghub avatar tlyu avatar ulrichberntien 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

Watchers

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

flashforth's Issues

mask! shortening

: mask! ( dest1 opcode mask -- instruction )
rot over invert and rot rot and or ; \ dest1&!mask src&mask or

can be:

>r over xor r> and xor ;

demonstration:

: x rot over invert and rot rot and or ;  ok
: y >r over xor r> and xor ;   ok
aaaa bbbb 0f0f x . ABAB  ok
aaaa bbbb 0f0f y . ABAB  ok

Integrate FF and Optiboot for AVR

I came across Optiforth , which is much what I was after a few years ago, and thought i might put this back on the radar, if you are ever feeling short of things to do, or if his work can be merged back into the main FF-avr

I think this can make FF avr more accessible and usable, especially to the Arduino world.

  • a FF binary would be loadable into an optiboot arduino from the arduino environment without needing an AVR programmer, and without rendering the AVR incompatible with arduino. Once flashed with Optiboot, FF becomes an option for an arduino user to try, without needing
  • Make a FF+Optiboot default factory rom for arduinos that runs FF out of the box, but is still fully arduino usable i.e you can load arduino sketches into it.

The endgame is being able to buy an OptibootFlashForth ready to run off aliexpress

Initial discussion about using Optiboot in FF

Optiboot ref to writing flash

Also in optiboot is the following note:
"Optiboot_X ... Atmel was acquired by Microchip Inc, and released several "new" architectures with the AVR CPU. These are known as the Mega-0, Tiny-0, and Tiny-1 Series. While the basic CPU operation is about the same as older AVRs, the peripherals, including Flash self-programming, are significantly different. "
Using optiboot flash write routines, might be the easier path if you decided to support any of these devices such as the ATTINY3216

atmega328 "task:" missing

Hi, there, love your system.

I'm beginning to learn the multitasking features of FlashForth. I found some code on YouTube, and modified it to suit my needs. However, when I upload the code to my Arduino Nano, the "task:" word is missing. Here is the vocabulary:

p2+ pc@ @p hi d. ud. d> d< d= d0< d0= dinvert d2* d2/ d- d+ dabs ?dnegate dnegate s>d rdrop endit next for in, inline repeat while again until begin then else if zfl pfl xa> >xa x>r dump .s words >pr .id ms ticks r0 s0 latest state bl 2- ['] -@ ; :noname : ] [ does> postpone create cr [char] ihere ( char ' lit abort" ?abort ?abort? abort prompt quit true false .st inlined immediate shb interpret 'source >in tiu tib ti# number? >number ud/mod ud* sign? digit? find immed? (f) c>n n>c @+ c@+ place cmove word parse \ /string source user base pad hp task ulink rsave bin hex decimal . u.r u. sign #> #s # digit <# hold up min max ?negate tuck nip / u*/mod u/ * u/mod um/mod um* 'key? 'key 'emit p++ p+ pc! p! p@ r>p !p>r !p u> u< > < = 0< 0= <> within +! 2/ 2* >body 2+ 1- 1+ negate invert xor or and - m+ + abs dup r@ r> >r rot over swap drop allot ." ," s" (s" type accept 1 umax umin spaces space 2swap 2dup 2drop 2! 2@ cf, chars char+ cells cell+ aligned align cell c, , here dp ram eeprom flash >< rp@ sp@ 2constant constant 2variable variable @ex execute key? key emit Fcy mtst scan skip n= rshift lshift mclr mset ic, i, operator iflush cwd wd- wd+ pause turnkey to is defer value fl+ fl- c! c@ @ a> ! >a literal int! ;i di ei ver warm empty rx0? rx0 tx0 load- load+ busy idle exit

Do I need to compile from source to get this, or is it an unintentional omission?

Paul

Sources for USB code for PIC18F2550

Hello,

I'm trying FlashForth 5.0 on a PIC18F2550 in USB mode. When I connect the device to a windows machine, I see the device appear as COM5 in the device manager. However, windows flags an error ("This device cannot start (Code 10)").

Looking through the sources for some clues, I find that much of the USB code is in the precompiled FF_USB_18F2550.lib library.

I would like to try and recompile the USB library using Microchip's latest USB library sources, so that I could debug USB problems. However, the git repository doesn't seem to contain any files with the USB CDC endpoint descriptors etc. Where are the sources where the USB descriptors are declared? How do I recompile this library?

Thank you.

asm2 sbi sbi sbic sbis

asm2.txt is very cool but I had problems with cbi and sbi producing incorrect hex. Line 24 is incorrect. It should be:
[ 0f8.3 , 007.0 , ] \ 04 xxxx.xxxx.dddd.dbbb cbi sbi sbic sbis

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.