Category:Hopper: Difference between revisions
imported>Yorecode (Add not yet implemented link and some reformatting edits) |
imported>Yorecode (Corrections for accuracy, pointed out by the language author) |
||
Line 14: | Line 14: | ||
The Hopper Interactive Development Environment (IDE) runs on Windows, with outputs targetting Hopper Runtimes for |
The Hopper Interactive Development Environment (IDE) runs on Windows, with outputs targetting Hopper Runtimes for |
||
* 6502, an older 8bit microcontroller unit, (MCU). |
* 6502, an older 8bit microcontroller unit, (MCU). |
||
* RP2040, a newer |
* RP2040, a newer 32bit dual core Cortex M0+ MCU with General Purpose Input Output (GPIO) pins and modern internal peripherals, designed by the Raspberry Pi Foundation, (RPi). |
||
** Pico |
** Pico |
||
** Pico W |
** Pico W |
||
Line 21: | Line 21: | ||
All Hopper Runtimes support a Hopper Monitor shell that implements feedback IO and a command language, the elements of which are Hopper programs. The Hopper Runtime virtual machine can also be used directly from the Hopper IDE on desktop PC, with the bootstrap |
All Hopper Runtimes support a Hopper Monitor shell that implements feedback IO and a command language, the elements of which are Hopper programs. The Hopper Runtime virtual machine can also be used directly from the Hopper IDE on desktop PC, with the bootstrap Windows VM written in C# and the rest is self-hosted in Hopper. For the RP2040 at least. |
||
The 6503 Runtime is bootstrapped from assembly language sources, for both first run hopper and firmware, then hosted in Hopper VM bytecode and the development toolchain. |
|||
⚫ | |||
⚫ | |||
* Preprocess, Compile, Optimize, Codegen, DASM (Disassembler) |
* Preprocess, Compile, Optimize, Codegen, DASM (Disassembler) |
||
* Translate (Hopper to C) |
* Translate (Hopper to C) |
||
In support of the system shell and .cmd scripting, there is also: (non exhaustive list) |
In support of the system shell and '''.cmd''' scripting, there is also: (non exhaustive list) |
||
* show, shell, debug (more on this below), cd, cls, dir, del |
* show, shell, debug (more on this below), cd, cls, dir, del |
||
* see '''help''' for more |
|||
* more to come |
|||
The author has put early documentation efforts into a large set of YouTube videos, with the main page (and search) at: |
The author has put early documentation efforts into a large set of YouTube videos, with the main page (and search) at: |
||
Line 36: | Line 38: | ||
https://www.youtube.com/@biggertigger |
https://www.youtube.com/@biggertigger |
||
In development by Michael Cartwright, with working samples for MOS Technology 6502 |
In development by Michael Cartwright, with working samples for MOS Technology 6502 and Raspberry Pi RP2040. |
||
There are various RunTime UF2's pre-built for quick starts. (UF2 is a hex file format for microcontroller firmware uploads): |
There are various RunTime UF2's pre-built for quick starts. (UF2 is a hex file format for microcontroller firmware uploads): |
||
Line 43: | Line 45: | ||
* along with drivers (written in Hopper) for many MCU related display devices and module peripherals. |
* along with drivers (written in Hopper) for many MCU related display devices and module peripherals. |
||
The debugger is an important part of Hopper development. |
The debugger is an important part of Hopper development. '''TODO''' |
||
Links: |
Links: |
Revision as of 17:54, 20 February 2024
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Garbage collected: | Yes |
---|---|
Parameter passing methods: | By reference, By value |
Type safety: | Safe |
Type strength: | Strong |
Type expression: | Explicit |
Type checking: | Static |
|
Hopper is a Java-like programming language designed for microcontrollers. A curl-brace semi-colon syntax and bytecode virtual machine runtime implementations.
The Hopper Interactive Development Environment (IDE) runs on Windows, with outputs targetting Hopper Runtimes for
- 6502, an older 8bit microcontroller unit, (MCU).
- RP2040, a newer 32bit dual core Cortex M0+ MCU with General Purpose Input Output (GPIO) pins and modern internal peripherals, designed by the Raspberry Pi Foundation, (RPi).
- Pico
- Pico W
- Challenger RP2040 WiFi
- more to come
All Hopper Runtimes support a Hopper Monitor shell that implements feedback IO and a command language, the elements of which are Hopper programs. The Hopper Runtime virtual machine can also be used directly from the Hopper IDE on desktop PC, with the bootstrap Windows VM written in C# and the rest is self-hosted in Hopper. For the RP2040 at least.
The 6503 Runtime is bootstrapped from assembly language sources, for both first run hopper and firmware, then hosted in Hopper VM bytecode and the development toolchain.
Hopper is written in Hopper, with .hexe bytecode files in the Bin/ directory of the IDE setup.
- Preprocess, Compile, Optimize, Codegen, DASM (Disassembler)
- Translate (Hopper to C)
In support of the system shell and .cmd scripting, there is also: (non exhaustive list)
- show, shell, debug (more on this below), cd, cls, dir, del
- see help for more
The author has put early documentation efforts into a large set of YouTube videos, with the main page (and search) at:
https://www.youtube.com/@biggertigger
In development by Michael Cartwright, with working samples for MOS Technology 6502 and Raspberry Pi RP2040. There are various RunTime UF2's pre-built for quick starts. (UF2 is a hex file format for microcontroller firmware uploads):
- Pico, Pico W (with WiFi networking implemented), Challenger RP2040 Wifi
- and as is, the Pico firmware will at least minimally work on a fair number of RPi RP2040 development boards
- along with drivers (written in Hopper) for many MCU related display devices and module peripherals.
The debugger is an important part of Hopper development. TODO
Links: