<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bedrock-pc, branch v0.3.0</title>
<subtitle>Bedrock emulator and assembler for Windows and Linux
</subtitle>
<id>https://code.benbridle.com/bedrock-pc/atom?h=v0.3.0</id>
<link rel='self' href='https://code.benbridle.com/bedrock-pc/atom?h=v0.3.0'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/'/>
<updated>2024-04-15T22:53:03Z</updated>
<entry>
<title>Update version to 0.3.0</title>
<updated>2024-04-15T22:53:03Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-04-15T22:52:09Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=d8f0c1e96b79d5094b8f13f8d412763e18a2e6b8'/>
<id>urn:sha1:d8f0c1e96b79d5094b8f13f8d412763e18a2e6b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update devices to match new specifications</title>
<updated>2024-04-15T22:51:26Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-04-15T22:51:13Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=6b3796c9a0d3a2f1422bcbde4790c43417659722'/>
<id>urn:sha1:6b3796c9a0d3a2f1422bcbde4790c43417659722</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement new file device interface</title>
<updated>2024-01-30T18:39:07Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-30T18:38:50Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=28101de56231252ca0cfa6a9f107b75112c9acad'/>
<id>urn:sha1:28101de56231252ca0cfa6a9f107b75112c9acad</id>
<content type='text'>
This is a complete redesign of the file device. The most notable
addition is the ability to ascend and descend the file tree.
</content>
</entry>
<entry>
<title>Prevent overflow errors on stream device pointers</title>
<updated>2024-01-30T18:37:54Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-29T05:33:58Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=30d2f099c9edf4f59fbbdd6686988ae7b0622ba2'/>
<id>urn:sha1:30d2f099c9edf4f59fbbdd6686988ae7b0622ba2</id>
<content type='text'>
The stream device pointers now use wrapping semantics in order to
prevent overflow errors.
</content>
</entry>
<entry>
<title>Change stream device to use buffered streams</title>
<updated>2024-01-30T18:37:54Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-29T05:31:45Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=e4cdcf4f5082f90abd9e259ccc215ecbb1973ab5'/>
<id>urn:sha1:e4cdcf4f5082f90abd9e259ccc215ecbb1973ab5</id>
<content type='text'>
Wrapping stdin and stdout with BufReader and BufWriter makes reads and
writes more efficient by bundling multiple characters into a single
read or write operation. In practice, this hasn't made a difference to
running the numbers demo, but that demo spends the majority of processor
time converting values to decimal strings.
</content>
</entry>
<entry>
<title>Refactor code without changing functionality</title>
<updated>2024-01-30T18:37:54Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-28T01:31:12Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=521e525763723cbc5d65b37ff47f34af48f50a2f'/>
<id>urn:sha1:521e525763723cbc5d65b37ff47f34af48f50a2f</id>
<content type='text'>
An effort to make the code shorter and more readable. This mostly 
affects the code for the clock device.
</content>
</entry>
<entry>
<title>Change clock cumulative timer to use 256th ticks instead of seconds</title>
<updated>2024-01-30T18:37:54Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-28T01:20:59Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=a4d06fd54ab22bbdd6b0dc9d5af199fc8be13591'/>
<id>urn:sha1:a4d06fd54ab22bbdd6b0dc9d5af199fc8be13591</id>
<content type='text'>
The "Cumulative seconds" port of the CLOCK device has been changed
to be called "Cumulative timer", with the units changing from seconds
to 1/256 second ticks.
</content>
</entry>
<entry>
<title>Release version 0.2.0</title>
<updated>2024-01-30T18:37:54Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-30T18:36:37Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=b10c26cf6b10eab4bd4847c27c7b4d65001d51b7'/>
<id>urn:sha1:b10c26cf6b10eab4bd4847c27c7b4d65001d51b7</id>
<content type='text'>
The bedrock_core update is a significant breaking change, so the 
version number needs to be incremented.
</content>
</entry>
<entry>
<title>Update bedrock_core dependency to v2.0.0</title>
<updated>2024-01-20T06:31:18Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-20T06:29:53Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=618d891255bc0eb46ce539400fc191416a27aaa5'/>
<id>urn:sha1:618d891255bc0eb46ce539400fc191416a27aaa5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Make orthogonal line drawing operations work with signed coordinates</title>
<updated>2024-01-05T23:22:17Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2024-01-05T23:22:17Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-pc/commit/?id=03023ea0aa987ec7bbcf2ca5019a1db2dedc3493'/>
<id>urn:sha1:03023ea0aa987ec7bbcf2ca5019a1db2dedc3493</id>
<content type='text'>
The vector line drawing operation of the screen device uses optimised
methods when drawing horizontal and vertical lines. The emulator now
interprets the coordinates of these lines as signed values, to allow for
the correct rendering of orthogonal lines where the coordinates of the
left or top edges are off-screen. Diagonal lines are yet to be tackled.

The bounding-box calculations shared by the rectangle and orthogonal
line drawing methods have also been split off into their own method,
significantly reducing the code duplication between all four of the
methods which require this functionality.

This commit also makes aesthetic changes to the code in the
draw_diagonal_line method to improve readability and brevity, as a part
of the changes made to the draw_line method when the points parameter
was removed from each of the three lower line-drawing methods.
</content>
</entry>
</feed>
