flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2, 3 Next |
Author |
|
THEWizardGenius 17 Jun 2005, 03:51
OK, having tried the beta 8.0 for Windows I have discovered that it has the editor! Yay, and stuff!
|
|||
![]() |
|
crc 18 Jun 2005, 01:06
Quote: Cool, but you'd probably want IRQ-handler capabilities in RF. I just got the stable release 7.6 (from http://www.retroforth.org/) as I said, the Windows one. I'll have optional support for the IDT and IRQ's later this summer. |
|||
![]() |
|
crc 18 Jun 2005, 20:36
Quote: Can you put it in ZIP for us Windows users, and can you also make an installation program or give a link to a program that can be used to do this for Windows? I just put .zip versions together, so Windows users won't need additional tools to open the downloads. I'm not sure exactly by what you mean for an installation program. The only versions that need to be installed are the Native and L4 versions. For native, get RaWrite for Windows (from http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm ) and use it to write retro8\bin\diskimage to a floppy. You should then be able to boot from the floppy. |
|||
![]() |
|
THEWizardGenius 23 Jun 2005, 00:51
Quote:
That's what I needed, thanks! Rawwrite for Windows: That's what I wanted. Thanks for the link! Quote:
Good. You probably won't need them except in the native version, in case anyone wants to write an OS in RF ![]() Did you or are you ever going to have a RF for DOS? I imagine porting from native to DOS wouldn't be difficult. What is darcs? Is it possible to get the source code if you don't have darcs? I'm going to write an OS, and may port to my own OS when I finish my OS- but thats still in the future. I like RF, and hope you continue to improve on it and make it better. |
|||
![]() |
|
Guest 23 Jun 2005, 22:22
Quote:
That's the way all programming languages should be. ![]() |
|||
![]() |
|
crc 30 Jun 2005, 22:43
After six months of development, I'm proud to announce RetroForth 8.0. Here's a quick rundown of the features:
* Cleaned up internals * Better Documentation (including a complete glossary of words and a tutorial) * Lexical scope (localized factoring of definitions) * Delayed execution * a block editor * a debugger * an assembler * colors in output * multi-line definitions now work properly * new FFI makes using external libraries easier * code library is now included * better code generation * New ports: Dex4u and L4Ka::Pistachio Check http://www.retroforth.org for links to the handbook and downloads. |
|||
![]() |
|
crc 17 Sep 2005, 19:24
I'm happy to announce that RetroForth can now be used as a library inside C:
Code: #include <retro.h> int main() { init_forth(); int bye = getxt("bye"); evaluate("words cr cr"); rfcall(bye); } With the optional runtime assembler, this allows easy mixing of Assembly, Forth, and C, in a single codebase. See http://retro.tunes.org/nightly/rf8-dev-libretro.zip for the code. |
|||
![]() |
|
rugxulo 20 Sep 2005, 09:15
So which C compilers have you tested this with so far? (just curious).
|
|||
![]() |
|
vid 20 Sep 2005, 09:44
ehm, could someone put it to me briefly WHAT is Forth language?
|
|||
![]() |
|
shoorick 20 Sep 2005, 10:55
Quote:
oh! it was a great language! the main ideas are next: 1. all operations are provided with numbers placed in stack 2. all (most) operations are executed as their order in the text 3. all keywords are placed into vocabulary as linked list and can be easy added 4. forth system is same time interpreting and compiling (this is need some time to explane) 5. ... a lot of other ![]() 2> if you need to add 2 and 3 you have to place them into stack then add. this will be coded as: 2 3 + this is reverse polish notation, the main reason against forth: somebody do not like this unusual form. but this bring also advantage to forth: because of it the program has form ready to compilation, thus compiler in forth embedded and extremelly small and simple: this was very useful when you wish to have high-level language on the system with low memory/storage resources. also it had advantages over some compilers with speed/size of programs, but now i'm not sure if it is possible: currently small program is made with huge compiler which can optimize it etc. it already a long time i do not use forth so i can be wrong in details, but i still think it is very powerful. |
|||
![]() |
|
shoorick 20 Sep 2005, 11:42
here is a grafic editor from gp-forth package: you can estimate its size, compressed level (it is not packed!) and capabilities. press F10 to exit from it.
oh! i cann't attach here - i'll do it in the heap ![]() _________________ UNICODE forever! |
|||
![]() |
|
crc 20 Sep 2005, 13:14
Quote: So which C compilers have you tested this with so far? (just curious). So far, just GCC. I'll be testing it with TinyCC tonight ![]() |
|||
![]() |
|
crc 20 Sep 2005, 22:22
Quote: WHAT is Forth Language? Forth is a programming language that is based on words (small subroutines), a stack (for passing data), and an interactive compiler. Syntax rules are simple: everything is either a word, a number, or an error. Forth is also a typeless language. (On the stack everything is represented as a cell, which, in RetroForth, is 32-bits). Tokens are separated by whitespace (tab, space, cr, or lf). Basically there is a dictionary (in RetroForth, it's a linked list of headers that have the word names and addresses to the definitions of these words, however some Forths use other approaches such as hashes of the names) that is searched by the interpreter. If a given token isn't found in the dictionary, it's assumed to be a number. If the conversion to a number fails, an error handler is called. Numbers are put on the data stack, which is used to pass values between words. Words will pop these off the stack and do something with them, placing the results on the stack. A few special words (such as :, create, and [entry]) are used to define new words in the dictionary. (This also brings up another interesting point: you can use any ASCII characters you choose in the word name.). : creates a new header in the dictionary then starts the compiler. There are a number of different methods of compilation; RetroForth uses a combination of subroutine threading (call <address>) and native code generation. It's possible to redefine things and also to extend the syntax in almost any way imaginable. For instance, math often looks like: Code: | Add 1 + 2 and display the result | | denotes a comment in RetroForth 1 2 + . If we redefine +, and define print# we can have basic-style syntax: Code: : print# later . ; : + later prior + ; | Add 1 + 2 and display the result print# 1 + 2 (The word prior compiles a call to the old definition for +). The interactive nature means that you can experiment, compile and test new definitions, and get your work done quickly. Size is also a plus: many implementations of Forth are very small. RetroForth runs 4-10k, depending on what all is built in and the host OS. In case you can't tell, I really like it ![]() |
|||
![]() |
|
rugxulo 23 Sep 2005, 05:36
MingW? Cygwin? DJGPP? Linux? Other? I assume you mean Linux since TinyCC is (mostly) only available for that, right? Get it working for DJGPP, and many will smile.
![]() crc wrote:
|
|||
![]() |
|
crc 21 Oct 2005, 13:10
No luck on anything other than GCC on Linux. I'm looking into the ABI for MinGW and DJGPP, and hope to get at least one of those two working soon. Other than that, a .dll version of libretro is nearly done. I just have to do a little more testing of it
![]() Edit: <sigh> further testing yields that the .dll is broken horribly; just attempting to initialize the forth results in the application crashing. Back to the drawing board... |
|||
![]() |
|
crc 24 Jan 2006, 01:16
After starting from scratch, I have working libraries for Linux/FreeBSD and a DLL for Windows users. This is a bit different than the older libretro, as I've revamped the core codebase significantly.
You can pick it up at http://www.rx-core.org, look for the librx packages (both binary and source are provided. It should be useable with any language capable of calling C-style functions. (Stdcall support is coming as well, I'm just not quite ready to dive into that yet) |
|||
![]() |
|
crc 05 Feb 2006, 02:52
RetroForth 9.0 is now released. It brings a number of improvements. Additional word classes allow for inlining and consistently handled data structures, the documentation has been completely redone, and many internal areas have been overhauled. Also new are support for command line arguments, vocabularies, and callbacks.
The native port has also been overhauled significantly and brings many new and improved drivers, support for multiboot, hard disk installation/operation, and an interrupt manager that allows for dynamically changing handlers for the interrupts. A list of the primary drivers: text screen, keyboard, cmos, serial, hard disk, floppy disk, interrupt manager. |
|||
![]() |
|
crc 04 May 2006, 00:39
I have released RetroForth 9.1, with support for Linux, FreeBSD, DragonFly BSD, NetBSD, OpenBSD, and Windows, as well as being able to run as a native (as an OS) version. Other OSes may work with the 'Generic' port.
|
|||
![]() |
|
0.1 09 Aug 2007, 08:38
Hi crc!
I am an utterly newbie for your RetroForth ![]() So plz provide me with a one click link that gives me the RetroForth+Tutorial+Documentation+Reference. Plz. _________________ Code: o__=- ) (\ /\ |
|||
![]() |
|
Goto page Previous 1, 2, 3 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.