summaryrefslogtreecommitdiff
path: root/src/bin
Commit message (Collapse)AuthorAge
* Update source merging strategyBen Bridle2024-10-30
| | | | | This updates the bedrock-asm dependency so that we can use the new source merging strategy added in version 4.0.2.
* Add colours to info and error messagesBen Bridle2024-10-30
| | | | | | This is to match the message format printed by the bedrock-asm crate. fix
* 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.
* Divide the default screen dimensions by the zoom factorBen Bridle2024-10-29
| | | | | Without this, the otherwise normal default screen dimensions of 800x600 would be scaled to a physical size of 2400x1800 at a zoom factor of 3.
* Canonicalize the source path for the assemblerBen Bridle2024-10-29
| | | | | | | | | | When a relative path with only one path component is passed to the assembler, the parent of that path cannot be determined and so the project libraries descending from that parent cannot be included in the program. To fix this, we canonicalize the path before it is used. This also makes the path comments generated for the project source files more stable and readable.
* Make configuration code less confusingBen Bridle2024-10-29
| | | | | | | | The unwrap_or for the the dimensions value was to get around the fact that we don't have guaranteed dimensions at this point. It makes it look like something more important is happening though, so instead we just make the config struct mutable and overwrite the dimensions field with the real value when we get access to it.
* Rename --encode-stdin option to --decode-stdinBen Bridle2024-10-29
| | | | This more accurately reflects its function.
* 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.