summaryrefslogtreecommitdiff
path: root/src/emulators
Commit message (Collapse)AuthorAge
* Restructure programBen Bridle2025-03-25
| | | | | This commit also includes changes to devices according to the latest devices specification, in particular the math and system devices.
* Use log crate for printing info and error messagesBen Bridle2025-02-03
|
* Only print halt messages if the verbose flag is setBen Bridle2025-01-12
| | | | | This required passing the verbose flag state down into the DebugState structure.
* Fix vertical scrolling issueBen Bridle2024-11-13
| | | | | A copy-paste error made all vertical scroll events register instead as horizontal scroll events.
* Print debug messages as info-level log messagesBen Bridle2024-10-31
| | | | | Debug messages are now printed with a blue [INFO] prefix, to match the style of the information messages printed by the rest of the project.
* Flush standard output before printing halt messageBen Bridle2024-10-31
| | | | | This ensures that no additional program output will be printed after the debug-mode halt message is printed.
* Load and display symbols in debug informationBen Bridle2024-10-30
| | | | | | The assembler saves out symbols files, which are loaded automatically by the emulator when present. The name and location of the most recent label is displayed with the debug information when symbols are loaded.
* Add option to show mouse cursorBen Bridle2024-10-29
| | | | | | This is to assist with debugging, when a program hasn't yet implemented its own mouse cursor. Phosphor had to be updated to properly support this.
* Rewrite emulatorv1.0.0-alpha1Ben Bridle2024-10-28
This is a complete rewrite and restructure of the entire emulator project, as part of the effort in locking down the Bedrock specification and in creating much better tooling for creating and using Bedrock programs. This commit adds a command-line argument scheme, an embedded assembler, a headless emulator for use in non-graphical environments, deferred window creation for programs that do not access the screen device, and new versions of phosphor and bedrock-core. The new version of phosphor supports multi-window programs, which will make it possible to implement program forking in the system device later on, and the new version of bedrock-core implements the final core specification.