<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bedrock-pc/src, branch main</title>
<subtitle>Bedrock emulator and assembler for Windows and Linux
</subtitle>
<id>https://code.benbridle.com/bedrock-pc/atom?h=main</id>
<link rel='self' href='https://code.benbridle.com/bedrock-pc/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/'/>
<updated>2025-09-19T02:43:47Z</updated>
<entry>
<title>Allow building Bedrock programs as standalone executables</title>
<updated>2025-09-19T02:43:47Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-19T02:43:47Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=014aa3639223e0656834d7d469faad40291dd2aa'/>
<id>urn:sha1:014aa3639223e0656834d7d469faad40291dd2aa</id>
<content type='text'>
This commit adds a run_program() function to the root of the library.
Any Bedrock program can be compiled as a standalone native executable
by creating a thin Rust program that calls only that function, passing
in the bytecode of the program and a configuration object.
</content>
</entry>
<entry>
<title>Use an error flag for file device errors</title>
<updated>2025-09-19T00:05:46Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-18T07:23:56Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=967866ca2ec7d066e510b287522c8f69de2c3232'/>
<id>urn:sha1:967866ca2ec7d066e510b287522c8f69de2c3232</id>
<content type='text'>
This was a change that was made in the latest revision of the
specification (revision 2). The action port of the file device had
previously reported successes, but it will now report errors instead.
</content>
</entry>
<entry>
<title>Gate gamepad support behind a feature flag</title>
<updated>2025-09-19T00:05:46Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-19T00:02:54Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=1836ac3c6b2abd5dce487f1d7589cfe7466c0fd2'/>
<id>urn:sha1:1836ac3c6b2abd5dce487f1d7589cfe7466c0fd2</id>
<content type='text'>
This is to make it possible to compile bedrock-pc without gamepad
support, which is useful when the target platform doesn't have the
libraries for udev (required by the gilrs dependency).

This commit is a bit of a hack, it'd be nice to implement this better
some day.
</content>
</entry>
<entry>
<title>Print phosphor event loop errors</title>
<updated>2025-09-18T23:48:41Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-18T23:47:43Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=661b4012654c8b41a782adf6a5cc1092b8942803'/>
<id>urn:sha1:661b4012654c8b41a782adf6a5cc1092b8942803</id>
<content type='text'>
If the phosphor event loop could not be started, the returned error
will be printed in the error message. This commit also updates the
phosphor dependency to version 3.3.2, which returns the actual error
object when an event loop error occurs.
</content>
</entry>
<entry>
<title>Add logging for starting and promoting a dynamic emulator</title>
<updated>2025-07-14T23:39:17Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-14T23:39:17Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=738dd7801c8213228d39f83553a785f1219929c3'/>
<id>urn:sha1:738dd7801c8213228d39f83553a785f1219929c3</id>
<content type='text'>
This commit changes the message shown when starting the emulator with
dynamic mode, to make it clear that the window will be hidden initially,
and also adds a message for when the emulator window is made visible.
</content>
</entry>
<entry>
<title>Fix window not being made visible when input device is accessed</title>
<updated>2025-07-14T23:03:12Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-14T23:03:12Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=4e3ee9c9d61ff1e05a7881c92d4414a2ae1da784'/>
<id>urn:sha1:4e3ee9c9d61ff1e05a7881c92d4414a2ae1da784</id>
<content type='text'>
This is for when the emulator is started in dynamic mode. Reading from
the input device wasn't making the window visible, because the break
signal was only being fired when writing to the input device.
</content>
</entry>
<entry>
<title>Change scroll units from pixels to lines</title>
<updated>2025-07-08T01:30:44Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-08T01:30:44Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=d14677431988b6ad6bfea1ae004a6a6dd8f504a9'/>
<id>urn:sha1:d14677431988b6ad6bfea1ae004a6a6dd8f504a9</id>
<content type='text'>
The input device now uses lines instead of pixels as the scroll unit.
Reverts commit 2db5707.
</content>
</entry>
<entry>
<title>Invalidate the cached directory in the file device after a duration</title>
<updated>2025-07-08T00:00:23Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-08T00:00:02Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=f2bcc24eec84c4632c88b5a35821f7e642d41dc5'/>
<id>urn:sha1:f2bcc24eec84c4632c88b5a35821f7e642d41dc5</id>
<content type='text'>
The most recent directory accessed by the file device is cached to
improve performance when rapidly ascending and descending between
sibling entries. This causes an issue where, in a sandboxed root
directory that contains only files, a program will be unable to
invalidate the cache and any changes to the directory outside the
program will not be seen by the program.

To fix this, the directory cache now only lasts for one second.
</content>
</entry>
<entry>
<title>Show window immediately in graphical mode</title>
<updated>2025-07-07T23:55:53Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-07T23:55:53Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=82a10fb3ae8c935e6c325a1b458e7fe6c0b90df6'/>
<id>urn:sha1:82a10fb3ae8c935e6c325a1b458e7fe6c0b90df6</id>
<content type='text'>
This was an omission, the visible argument on the run method was added
for this purpose. When starting the emulator in graphical mode, the
window is shown immediately, without the program first having to access
the input or screen devices.
</content>
</entry>
<entry>
<title>Document the --trust-files flag in the help string</title>
<updated>2025-07-07T10:17:28Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-07T10:17:28Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=f01caf7f4873c9d261477ab5d9d18df624cb5d09'/>
<id>urn:sha1:f01caf7f4873c9d261477ab5d9d18df624cb5d09</id>
<content type='text'>
</content>
</entry>
</feed>
