Skip to content

Releases: LightslicerGP/Excpute

V2.4 Bad Apple

20 Jan 22:19

Choose a tag to compare

Watch the video here!

In the making of this, I realized that PTO was implemented wrong, and takes the port address to write to and THEN the register, which it should be flipped to be register then port, but oh well.

Check the YouTube video's description for more information!

All files for this version of the project are linked below, download the zip and run the Excpute.py file, and enjoy the 2 hour movie!

v2.4 The Final 8 Bit ALU CPU. Fantastic.

16 Jan 23:17

Choose a tag to compare

v2.4 is my final showcase for the 8 bit version of Excpute. v1 was meant for Minecraft, which as of recently (1.16.26) I've gone back to working on it a little bit to see if its possible to make work, and I've made a tiny bit of progress (see on the Redstone Army discord) but we will have to see what can even happen for that. v2 was meant to be the same thing, but in python, which then expanded to c++ and even an unfinished html/js version, since i was unable to get proper squared, non feathered/anti-aliased pixels. So,

  • Now with mouse support, with the ability to get the X and Y positions.
  • A WAY better rendering technique, only pushing to the display when necessary, and not every clock cycle.
  • added an uncommentable clock cycle counter

Check v2.3.2 to see speed comparisons between that and this version.

Here are some mouse related stuff:

Mouse Pointer Test using the cursor to move around on screen

Mouse.Cursor.mp4

Mouse Drawing Test using lmb to draw white pixels, and rmb to draw black/erase pixels

Black.and.White.Drawing.mp4

Mouse Scrolling Grayscale Drawing Test using the same controls, but up and down arrows to scroll through all grayscale colors (should've put a delay, its hard to select a specific grayscale color lol)

Grayscale.Drawing.mp4

Mouse Scrolling Colored Drawing Test using the same idea, where q, w, e, all go up in red, green, and blue (respectively), and down with a, s, d, respectively

RGB.Scrollable.Drawing.mp4

Mouse Selectable Colored Drawing Test using q all the way to y from low to high value for red, same for a to h for green, and z to n for blue

RGB.Selectable.Drawing.mp4

Here is a list of things I want to improve with v3, the 16 bit version:

  • add much better display related stuff
  • add many more instructions
  • remove the need for opcodes to specify things, just use a different instruction isntead
  • ACTUALLY use a binary file, most likely as a memory snapshot
  • have storage support
  • have (probably bitmap only) font support
  • add FULL SUPPORT for multiply and divide
  • have an OS made possibly
  • have text rendering support
  • have compiler compile to v3
  • more comparison instructions that ACTUALLY use flags, and not just one register holding flags (as a result of the old v1 cpu legacy flag handling artifacts)

...and probably more i cant think of right now.

Thank you, and Good Luck future me!

V2.3.2 minor update release

06 Nov 15:15

Choose a tag to compare

  • Made a new way to update the cpu, no multithreading (HINT: v2.4 will be on PY, CPP, and JS 👀), follows a update-cpu, update-display, cycle
  • Added keyboard input and some sample scripts, "full keyboard" (without numpad) support, with the Keyboard Oriented Character Set (KOCS) system, similar to the Text Editor I had made in MC, but with added control keys like Tab, Enter, Backspace, CTRL, ALT, FN, etc.
  • Planning on adding mouse support in v2.4 (probably gonna be backwards compatible with v2.3.x)
  • Optimizations (as always)

also, running at 1x scale will ALWAYS be faster than any scaled version, for some reason, idk 💀

v2.4 will modify the SPD system, to allow pushing a buffer (replacing the "remove" property in SPD) so you don't have flicker whenever a pixel moves or updates
v2.4 will ALSO be FASTER than v2.3.2, and (possibly) the multithreaded v2.3.0-v2.3.1 version, and MUCH MUCH faster than v2.2. This will happen by updating the display ONLY when SPD is ran, and ONLY when the buffer is pushed, resulting in unnecessary display updates to not happen

Preview of v2.3.2 compared to v2.4:

OldVSNew.Excpute.mp4

Playing at 4x vs 2x vs 1x:

2024-10-31.15-52-54.mp4

Testing Keyboard Input with Ball Movement

2024-10-31.15-34-42.mp4

V2.3.1 minor update release

23 Aug 04:25
5f9369e

Choose a tag to compare

Cleaned up some code, still as functional.

LSH now has an optional SetFlag option, if SetFlag is 1, on Carry out it will set the Carry flag.

original on Apr 14th 2024

here was v2.3: https://github.com/LightslicerGP/Excpute/releases/tag/2.3
(all scripts from that still run)

Final (semi-incomplete) v2.3 version

14 Apr 22:38

Choose a tag to compare

After some time I have been able to make v2.3 complete enough to start on v3, which will be a 32-bit system!
v3 won't include multiply, divide, square, or square root because it would be hard to keep track of decimals and exceed the binary limit or whatever (maybe if I have knowledge in the future I'll update it, but as for now, no.)

The aim for v2.3 was to improve speed, avoiding reading a file for ram, registers, and for the instructions and to do it all locally as variables (thanks to @Nano112 ).

In the Sample Script Sets folder, you can find a ball-bouncing algorithm that took me many hours over the course of 2 days to program, but it works!

Also, the Assembler is much better compared to last time, it's a bit repetitive but it makes sure that a certain set of instructions are followed to assemble the code properly (which I'll also use when making v3 since it's a very robust way of assembling.)

This will be the end of v2, which I'm so glad I actually worked on because it gave me insight into how hard some things already are, but also made me realize how hard things COULD have been.

Enjoy!

2024-04-14.10-53-22.mp4

Final (semi-incomplete) v2.2 version

01 Feb 15:33

Choose a tag to compare

In favor of having more optimal code (thanks to @Nano112 ) I'll be completing this as finished.

Bad news: I didn't do "multiply" through "square root", but all the other functions (should) work.

But, completed example instructions are in the "assembled scripts" folder and should run perfectly! just.... slow lmao (37 minutes to fill the whole screen with "green to blue gradient")

Enjoy!

Final (incomplete) v2.1 version

25 Jan 23:43
28e5f53

Choose a tag to compare

Full Changelog: https://github.com/LightslicerGP/Excpute/commits/2.1

working on 2.2 but i want to keep a backup of this version juuuust in case
1/25/24