| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
This is the change that moves and simplifies the jump and shift
instructions.
|
| |
|
|
|
|
|
| |
This commit also includes changes to devices according to the latest
devices specification, in particular the math and system devices.
|
| |
|
| |
|
|
|
|
|
|
| |
Library names have changed from using underscores as separators to using
hyphens for separators. phosphor has a dependency on event-queue, which
was also affected by this change.
|
| |
|
| |
|
|
|
|
|
| |
This includes a fix to prevent the cursor from being marked as inactive
while at least one mouse button is still being held.
|
|
|
|
|
|
| |
This commit updates bedrock-asm to v4.0.6, which fixes an issue where
the root source unit of a project could sometimes be merged after
library code, preventing the program from running correctly.
|
|
|
|
|
| |
This commit updates bedrock-asm to v4.0.5, which adds a change where
empty source files will no longer be merged into the final source file.
|
|
|
|
|
|
| |
This commit updates bedrock-asm to v4.0.4, which fixes an issue where
the reported source location of the original definition of a redefined
symbol was incorrect.
|
|
|
|
|
|
| |
This commit updates bedrock-asm to v4.0.3, which fixes an issue where
the root source unit of a project could sometimes be merged after
library code, preventing the program from running correctly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The project previously used the `time` crate for getting the current
time in the local timezone. It was discovered that the time crate would
fail to return the local time when the program used multiple threads,
because of concerns that the other threads could modify timezone-related
environment variables while the timezone was being read from the system
and create a soundness issue. A second program thread was introduced
recently by commit 1a830a3 to provide non-blocking reads of standard
input for the local stream device, and so the time returned by the
clock device was falling back to UTC.
To fix this, the `time` crate has been replaced by the `chrono` crate
which does not suffer from this restriction, and in any case seems to
be the more popular of the two anyway.
|
|
|
|
|
| |
This updates the bedrock-asm dependency so that we can use the new
source merging strategy added in version 4.0.2.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
This version of bedrock_core conforms to the final Bedrock core
specification, which will not be changed from this point forward.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This is the Windows side of the refactoring job. The windows crate has
been added as a dependency in order to get a list of available drives
by drive letter, and a virtual top-level root directory has been
implemented in the Windows code to make it possible for programs to
hierarchically navigate between available drives.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The bedrock_core update is a significant breaking change, so the
version number needs to be incremented.
|
|
|
|
|
|
|
| |
Version 2 of bedrock_core contains updated to the Bedrock instruction
set, reflecting a recent change to the Bedrock specifications. Updating
the dependency allows bytecode assembled by the most recent version of
the assembler to evaluate correctly on this emulator.
|
|
|
|
|
| |
The Cargo.lock file previously referred to a commit of the geometry
crate which had been overwritten and did not exist in the repository.
|
|
|