Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PandaForth for GBA: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
|title= (Other emulators) - GameBrew
|title_mode=append
|image=pandaforthgba2.png
|image_alt=PandaForth for GBA
}}
{{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/pf4arm.zip
|website=https://torlus.github.io/
|website=https://torlus.github.io/
|source=https://dlhb.gamebrew.org/gbahomebrews/pandaforthgba.7z
|source=https://dlhb.gamebrew.org/gbahomebrews/pf4arm.zip
}}
}}
{{#seo:
|title= (Other emulators) - GameBrew
|title_mode=append
|image=pandaforthgba2.png
|image_alt=PandaForth for GBA
}}
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.


[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 40:
* [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 47:
* 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]]

Latest revision as of 11:01, 23 Haziran 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: