(Bit Indexer and Byte Indexer are gone,) |
m (Fixed typos) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
Save breaker is the alpha development branch on Steam. | Save breaker is the alpha development branch on Steam. | ||
While there is some support for converting a stable save game to save_breaker '''it is NOT possible to switch back and forth, switching from save_breaker back to stable will break your save.''' Rendering it | While there is some support for converting a stable save game to save_breaker '''it is NOT possible to switch back and forth, switching from save_breaker back to stable will break your save.''' Rendering it unusable in either version. | ||
Make a '''backup''' of the save folder, see in game options menu for the location. | Make a '''backup''' of the save folder, see in game options main menu for the location. | ||
This is a brief overview of the main changes from stable (version {{version|0.1059}}). | This is a brief overview of the main changes from stable (version {{version|0.1059}}). | ||
Line 15: | Line 15: | ||
== New Assembler == | == New Assembler == | ||
The Program block has been replaced with the | The Program block has been replaced with the Assembler for writing assembly code. | ||
This provides much greater flexibility in instruction formats. | This provides much greater flexibility in instruction formats. | ||
'''TODO''': This needs | '''TODO''': This needs a whole new page describing it. | ||
== Scoring == | == Scoring == | ||
The main | The main scoring mechanic is now <code>gates * delay * ticks</code> instead of the summation of the three scores. | ||
Component scores have also been updated | Component scores have also been updated | ||
Line 56: | Line 56: | ||
|- | |- | ||
| Switched Output (any width) | | Switched Output (any width) | ||
| Output (add | | Output (add Switch) | ||
|} | |} | ||
Output pins are now "unbuffered" and will propagate Z-state. If this is not desired add a static indexer, or other | Output pins are now "unbuffered" and will propagate Z-state. If this is not desired add a static indexer, or other nop component to coerce Z-state to zero. | ||
Output pins will inherit the width of the connected wire/component feeding them. | Output pins will inherit the width of the connected wire/component feeding them. | ||
Line 80: | Line 80: | ||
* Assembler (replacing Program) | * Assembler (replacing Program) | ||
Circuits using | Circuits using components that have changed size so that some components now overlap will be unusable with "ghost" versions that can be moved. Once all of the overlaps have been resolved, and wires reconnected, the circuit can be used again. | ||
== Missing components == | |||
Bit Indexer and Byte Indexer are gone, use Static Indexer instead. | |||
Display Matrix is gone, at least for the time being. But the larger Pixel Display is an alternative. | |||
Network component is not currently available. | |||
Sprite display is not currently available. | |||
== Component changes == | == Component changes == | ||
* '''Keyboard''': Some pins have switched places. <code>Key up</code> replaced with the inverse <code>Key down</code>. | |||
== Level changes == | == Level changes == | ||
The Overture opcodes have changed, but the Overture levels are | === Overture === | ||
The Overture opcodes have changed, but the Overture levels are relatively unchanged otherwise. | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 107: | Line 118: | ||
| SUB || 5 || 5 | | SUB || 5 || 5 | ||
|} | |} | ||
This can be fixed by: | |||
{{spoiler|Replacing what used to be Byte OR gate with a Word NAND gate set to a width of 8 in your Overture ALU.}} | |||
=== LEG === | |||
The LEG levels in CPU Architecture 2, and beyond, have been rewritten, there are too many changes to list here. | The LEG levels in CPU Architecture 2, and beyond, have been rewritten, there are too many changes to list here. | ||
There are new levels, expanding on LEG. | There are new levels, expanding on LEG. |
Latest revision as of 07:59, 14 December 2024
Save breaker is the alpha development branch on Steam.
While there is some support for converting a stable save game to save_breaker it is NOT possible to switch back and forth, switching from save_breaker back to stable will break your save. Rendering it unusable in either version.
Make a backup of the save folder, see in game options main menu for the location.
This is a brief overview of the main changes from stable (version 0.1059).
Variable width[edit | edit source]
Both wires and built-in components have configurable widths instead of separate 8-, 16-, 32-, and 64- bit versions, these now have a single component which has a configurable width.
New Assembler[edit | edit source]
The Program block has been replaced with the Assembler for writing assembly code.
This provides much greater flexibility in instruction formats.
TODO: This needs a whole new page describing it.
Scoring[edit | edit source]
The main scoring mechanic is now gates * delay * ticks
instead of the summation of the three scores.
Component scores have also been updated
Component | Old (gate/delay) | New (gate/delay) |
---|---|---|
Basic bit gates (AND/OR/NAND/NOR) | 1/2 | 1/1 |
Bit Switch | 1/2 | 2/1 |
Bit Delay Line | 1/0 | 5/0 |
IO pins[edit | edit source]
There are now only 2 main types of component IO pins
Old Component | Replaced with |
---|---|
Input (any width) | Input (configured width) |
Output (any width) | Output |
Bidirectional (any width) | Output |
Switched Output (any width) | Output (add Switch) |
Output pins are now "unbuffered" and will propagate Z-state. If this is not desired add a static indexer, or other nop component to coerce Z-state to zero.
Output pins will inherit the width of the connected wire/component feeding them.
The various widths of input pins have been merged in to a single Input Pin with a configurable width, including 1.
To convert the old Switched Outputs you need to add a switch inside the CC before the new output pin.
IO pins are a different shape and larger then the used to be, this most affects 1-bit pins.
Size changes[edit | edit source]
A number of components have changed size, most will have wrappers to preserve the form factor. These can be found in the old_components
build menu.
A few cannot be wrapped in this way and circuits using them will need to be adjusted:
- RAM (all types)
- ROM
- IO pins (all types, see above)
- Front Panel
- Assembler (replacing Program)
Circuits using components that have changed size so that some components now overlap will be unusable with "ghost" versions that can be moved. Once all of the overlaps have been resolved, and wires reconnected, the circuit can be used again.
Missing components[edit | edit source]
Bit Indexer and Byte Indexer are gone, use Static Indexer instead.
Display Matrix is gone, at least for the time being. But the larger Pixel Display is an alternative.
Network component is not currently available.
Sprite display is not currently available.
Component changes[edit | edit source]
- Keyboard: Some pins have switched places.
Key up
replaced with the inverseKey down
.
Level changes[edit | edit source]
Overture[edit | edit source]
The Overture opcodes have changed, but the Overture levels are relatively unchanged otherwise.
Operation | Old opcode | New opcode |
---|---|---|
OR | 0 | 1 |
NAND | 1 | 0 |
NOR | 2 | 3 |
AND | 3 | 2 |
ADD | 4 | 4 |
SUB | 5 | 5 |
This can be fixed by:
Replacing what used to be Byte OR gate with a Word NAND gate set to a width of 8 in your Overture ALU.
LEG[edit | edit source]
The LEG levels in CPU Architecture 2, and beyond, have been rewritten, there are too many changes to list here.
There are new levels, expanding on LEG.