PandaForth for GBA: Difference between revisions

From GameBrew
(Created page with "{{#seo: |title= (Other emulators) - GameBrew |title_mode=append |image=pandaforthgba2.png |image_alt=PandaForth for GBA }} {{Infobox GBA Homebrews |title=PandaForth for GBA |i...")
 
m (Text replacement - "type=Other emulators" to "type=Other Emulators")
 
(7 intermediate revisions by the same user not shown)
Line 7: Line 7:
{{Infobox GBA Homebrews
{{Infobox GBA Homebrews
|title=PandaForth for GBA
|title=PandaForth for GBA
|image=pandaforthgba2.png
|image=pandaforthgba02.png
|description=Port of PandaForth.
|description=Port of PandaForth.
|author=Torlus
|author=Torlus
|lastupdated=2005/03/09
|lastupdated=2005/03/09
|type=Other emulators
|type=Other Emulators
|version=2005
|version=2005
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/gbahomebrews/pandaforthgba.7z
|download=https://dlhb.gamebrew.org/gbahomebrews/pandaforthgba.7z
|website=https://torlus.github.io/
|website=https://torlus.github.io/
|source=pandaforthgba.7z
|source=https://dlhb.gamebrew.org/gbahomebrews/pandaforthgba.7z
}}
}}
This is a port of PandaForth, a Forth implementation created by Torlus, based on Bradford J. Rodriguez's CamelForth for the Z80 in 1994.
This is a port of PandaForth, a Forth implementation created by Torlus, based on Bradford J. Rodriguez's CamelForth for the Z80 in 1994.
Line 22: Line 22:
[http://www.forth.org/ Forth] is a stack-based language using "reverse polish" notation. It provides an interpreter which is able to be extended with new definitions. Unlike BASIC interpreters, new "definitions" (or "functions", Forth users generally talk about "words") are _compiled_ which means that there is no difference in performance between newly created words, and the original ones provided by the interpreter (except for those few written in assembly).
[http://www.forth.org/ Forth] is a stack-based language using "reverse polish" notation. It provides an interpreter which is able to be extended with new definitions. Unlike BASIC interpreters, new "definitions" (or "functions", Forth users generally talk about "words") are _compiled_ which means that there is no difference in performance between newly created words, and the original ones provided by the interpreter (except for those few written in assembly).


Forth is a kind of (unmanaged) virtual machine. Unlike Java virtual machines, a Forth engine is very simple and will usually fit in less than 10Kb. For design considerations about Forth, it is highly recommended to read Bradford J. Rodriguez's [https://archive.ph/www.zetetics.com publications] about them.
Forth is a kind of (unmanaged) virtual machine. Unlike Java virtual machines, a Forth engine is very simple and will usually fit in less than 10Kb. For design considerations about Forth, it is highly recommended to read [https://archive.ph/www.zetetics.com Bradford J. Rodriguez's publications] about them.


==User guide==
==User guide==
Line 39: Line 39:
* [http://www.pascalorama.com/ krb], for gba-tt tool I used for the demo.
* [http://www.pascalorama.com/ krb], for gba-tt tool I used for the demo.
* [http://www.bigredpimp.com/ BigRedPimp], for testing.
* [http://www.bigredpimp.com/ BigRedPimp], for testing.
* All infomation sites about GBA, [https://www.gbadev.org/ GBADev], [https://www.devrs.com/ Devrs.Com] and [https://problemkaputt.de/gbatek.htm GBATEK]
* All infomation sites about GBA, [https://www.gbadev.org/ GBADev], [https://www.devrs.com/ Devrs.Com] and [https://problemkaputt.de/gbatek.htm GBATEK].


And greetings to people on EFNET #gbadev and #gbadevfr.
And greetings to people on EFNET #gbadev and #gbadevfr.
Line 46: Line 46:
* Author's website - [https://web.archive.org/web/20050405075314/http://torlus.com/index.php?GBA http://torlus.com/index.php?GBA] (archived)
* Author's website - [https://web.archive.org/web/20050405075314/http://torlus.com/index.php?GBA http://torlus.com/index.php?GBA] (archived)
* GitHub - https://torlus.github.io/
* GitHub - https://torlus.github.io/
[[Category:GBA homebrew emulators]]
[[Category:Other homebrew emulators on GBA]]
==Screenshots==
==Media==
<youtube></youtube>

Latest revision as of 06:05, 10 May 2024

PandaForth for GBA
Pandaforthgba02.png
General
AuthorTorlus
TypeOther Emulators
Version2005
LicenseMixed
Last Updated2005/03/09
Links
Download
Website
Source

This is a port of PandaForth, a Forth implementation created by Torlus, based on Bradford J. Rodriguez's CamelForth for the Z80 in 1994.

Forth is a stack-based language using "reverse polish" notation. It provides an interpreter which is able to be extended with new definitions. Unlike BASIC interpreters, new "definitions" (or "functions", Forth users generally talk about "words") are _compiled_ which means that there is no difference in performance between newly created words, and the original ones provided by the interpreter (except for those few written in assembly).

Forth is a kind of (unmanaged) virtual machine. Unlike Java virtual machines, a Forth engine is very simple and will usually fit in less than 10Kb. For design considerations about Forth, it is highly recommended to read Bradford J. Rodriguez's publications about them.

User guide

One of the original features of PandaForth is that you can use the interpreter directly from your computer if you have a MBV2 cable, by using the "console mode" of the tool bundled with it.

If you don't have such a cable, you can still test the interpreter features on hardware or in an emulator, as PandaForth is able to "embed" source with the help of Damian Yerrick's GBFS library for GBA.

It is bundled with full source code, a small demo written in Forth, and all the scripts to build your own programs.

Credits

Many thanks to:

And greetings to people on EFNET #gbadev and #gbadevfr.

External links

Advertising: