Category:Hopper: Difference between revisions

From Rosetta Code
Content added Content deleted
imported>Yorecode
(Adding the Hopper microcontroller programming language)
 
imported>Yorecode
(Add not yet implemented link and some reformatting edits)
Line 23: Line 23:
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 IDE implementation being on Windows written in C#.
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 IDE implementation being on Windows written in C#.


Hopper is written in Hopper.
Hopper is written in Hopper, with .hexe bytecode files in the ''Bin/'' directory of the IDE setup.
* 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
* show, shell, debug (more on this below), cd, cls, dir, del
* shell
* debug (more on this below)
* cd
* cls
* dir
* del
* more to come
* more to come


Line 48: Line 39:
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):


* Pico, Pico W (with WiFi networking implemented), Challenger RP2040 Wifi
* Pico
* and as is, the Pico firmware will at least minimally work on a fair number of RPi RP2040 development boards
* Pico W (with WiFi networking implemented)
* Challenger RP2040 Wifi
* as is, the Pico W 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.
* 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:
* [[Reports:Tasks_not_implemented_in_Hopper|Tasks not yet implemented]]

Revision as of 12:51, 20 February 2024

Language
Hopper
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


Listed below are all of the tasks on Rosetta Code which have been solved using Hopper.

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 64bit dual core Cortex M0+ MCU with General Purpose Input Output (GPIO) pins and modern internal perpherials 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 IDE implementation being on Windows written in C#.

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
  • more to come

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, 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:

Pages in category "Hopper"

This category contains only the following page.