Expand description
Monotron run-time application support for Rust.
You need to supply a function with this prototype, marked #[no_mangle]
in your crate.
ⓘ
#![no_std]
#![no_main]
extern crate monotron_app;
#[no_mangle]
pub extern "C" fn main() -> i32 {
123
}
If you want to test your app on Linux, you’ll need something like:
ⓘ
#![cfg_attr(target_os = "none", no_std)]
#![cfg_attr(target_os = "none", no_main)]
use monotron_app::prelude::*;
use monotron_app::Host;
#[cfg(not(target_os = "none"))]
pub fn main() {
std::process::exit(monotron_main());
}
#[no_mangle]
pub extern "C" fn monotron_main() -> i32 {
write!(Host, "Hello, Rust!\n").unwrap();
0
}
Modules§
- prelude
- Useful things people should have in scope.
- target
- Implementation used when building code for Linux/Windows
Structs§
- Col
- Represents a column on screen. Valid values are
0..=47
. - Context
- An internal representation of the context we’re given by the Host.
- Frequency
- A frequency we can give to the synthesiser.
- Host
- Represents the Monotron we’re running on. Can be passed to
write!
and friends. - Joystick
State - Represents the current state of an Atari 9-pin joystick.
- Row
- Represents a row on screen. Valid values are
0..=36
. - Table
- The callbacks supplied by the Monotron OS.
Enums§
- Channel
- A channel on the synthesiser. They all run concurrently.
- Font
- Represents a font we can set the screen to use. The whole screen uses the same font. Custom fonts must be exactly 4096 bytes (256 chars x 16 bytes/char) long.
- Note
- Notes on an piano keyboard, where A4 = 440 Hz.
- Waveform
- A waveform on the synthesiser. You can change this note by note.
Functions§
- _close
- _close is required by newlib
- _fstat
- _fstat is required by newlib
- _isatty
- _isatty is required by newlib
- _lseek
- _lseek is required by newlib
- _read
- _read is required by newlib
- _sbrk
- _sbrk is required by newlib
- _write
- _write is required by newlib
- deinit
- C FFI for Host::deinit
- font_
normal - C FFI for Host::set_font
- font_
teletext - C FFI for Host::set_font
- get_
joystick - C FFI for Host::get_joystick
- getchar
- C FFI for Host::readc
- getsize
- C FFI for Host::getsize
- init
- C FFI for Host::init
- joystick_
fire_ pressed - True if joystick is pointing right.
- joystick_
is_ down - True if joystick is pointing down.
- joystick_
is_ left - True if joystick is pointing left.
- joystick_
is_ right - True if joystick is pointing right.
- joystick_
is_ up - True if joystick is pointing up.
- kbhit
- C FFI for Host::kbhit
- move_
cursor - C FFI for Host::move_cursor
- play
- C FFI for Host::play
- put_
separated_ sixel - Ugh
- putchar
- C FFI for Host::putchar
- puts⚠
- C FFI for Host::puts
- set_
cursor_ visible - C FFI for Host::set_cursor_visible
- wfvbi
- C FFI for Host::wfvbi