Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

rate my IDE

A topic by NoFood4u created Aug 15, 2023 Views: 895 Replies: 8
Viewing posts 1 to 6
(4 edits) (+1)

the showcase got kinda broken during compression, sorry for that

inputs:
prev line - moves to the previous line
next line - moves to the next line
WRITE - writes the specified bits to the current line
EXECUTE- increments thru the lines one by one
bit [1 to 16] - the specified bits to be written

next i'll attach it to some simple CPU


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


progress update!

the console records a number or letter on the bottom displays pushing older records up

it's also full of spaghetti


i also replaced the "counter" with a "navigator" which allows me to choose how many lines i want to go forward by rather than just incrementing and decrementing

there are 64 lines in total and they rollover so moving forward by 63 lines is equivalent to moving backwards by 1, this allows the creation of "while true" loops

conditional loops will also be possible with this when i add math and logic operations into the CPU

here's what the ISA for this looks like at the moment with unimplemented features written in bold text:

10-ww-xxxx-yyyy-zzzz - logical test

       writes 1 to xxxx if the logical test is true and writes 0 otherwise

       ww:

              00 => yyyy != zzzz

              11 => yyyy == zzzz

              01 => yyyy > zzzz

              10 => yyyy >= zzzz

01-ww-xxxx-yyyy-zzzz - math operation

       performs a math operation on the numbers from the registries yyyy and zzzz, writes the result to the xxxx registry

       ww:

              00 => yyyy - zzzz

             11 => yyyy + zzzz

             01 => yyyy * zzzz

             10 => yyyy / zzzz

0010-xxxx-yyyy-zzzz - modulo (division remainder)

           writes the result from yyyy % zzzz to the xxxx registry

0000-xxxx-yyyyyyyy - write to registry

       write the bits yyyyyyyy to the xxxx registry

11000001-x-yyyyYY - jump back

       if x is 0 it jumps by yyyyyy lines, if x is 1 it jumps by the number of lines in the yyyy registry (last two YY is ignored)

       jumps by the number of lines in the yyyy registry

       keep in mind that there are 64 lines in total and they rollover so jumping 64 lines won't do anything and jumping 63 lines will jump forward by one

11000011-x-yyyy - print to console

       prints the number in the yyyy registry if x is 0, displays its letter representation if x is 1

11000000-xxxx - input

       writes the input pins into the xxxx registry

the program running in the video is:

0000 0000 01000101   //save 69 into registry 0

0000 0001 00010111   //save 23 into registry 1

11000011 0 0000   //print the contents of registry 0 as a number

11000011 1 0001   //print the contents of registry 1 as a letter

11000001 0 000010   //jump back by 2 lines 


if anyone wants a screenshot of any of the chips i'm using here, feel free to ask.

lastly i have a question, which of the below looks more like a W?

 

also here's the modded version i made for more space: https://www.mediafire.com/file/nrry9bvscl2ki8f/DLS_%2528modded%2529.rar/file

W A S D - move
E - zoom in
Q - zoom out

Dude you are a literal lifesaver

This is... wow...

This is extremely impressive.

Can you post source code?

https://www.mediafire.com/file/3qcmeiwb2yddg50/Digital-Logic-Sim-main.rar/file

Thanks

Holy cannoli! That's insane!