Remove this ad
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#81 [url]

6 April, 2016 23:15:11

Thanks

Btw: (the first i in my name is actually and L :D) and I think your ROM and RAM should work because survivalcraft can handle just about everything except explosions. I set up a clock to my cpu and wondered why I couldn't tell if it was working. Put a sign at the last line in the program and learned it was just going so fast it looped back to line 1 in less than half a second! Thats about 16 functions in 1/4 of a second! :)

Quote    Reply   
Remove this ad
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#82 [url]

7 April, 2016 04:33:23

My pacman is also ridiculously simple.

I have it set up so the gui is just some leds and sr latches. The AI is part of the main program and is run right after it determines the players new location. It is very organized and easy to find mistakes. Sadly the screen is huge because of pixels being close together.

Quote    Reply   
avatar

Stanimus

City Founder
Old Timer

Posts: 1,341 Member Since:19 July, 2014

#83 [url]

7 April, 2016 17:57:46

Clasmir wrote:
... it was just going so fast it looped back to line 1 in less than half a second! Thats about 16 functions in 1/4 of a second! :)
 

Yes, isn't it amazing! I need to try to find out where Kaalus explained how the program calculates the electrics and the internal clock and such. I seem to remember that the entire world is all recalculated 10 times a second but that was some time ago. That may not be so now, since the variable delay gate has a minimum delay of 1/100 second! If a computer core could be clocked at anywhere near 100 Hz, our in-game computer would be faster than some early 'real' computers! Amazing, again!

I'm pretty sure that speed also includes calculating the memory bank outputs and (hopefully) all ripples of changes throughout the system... One of my worlds - a large, programmable scrolling matrix display was having problems that made me think there were delay and race-condition issues and I wondered about the system clocking rate. However, after redesigning the addition module (thanks to you!), I think that I had errors in either that or another bank I used as a general-purpose logic array. I'm hoping to get back to that world, pretty soon. It might even be used as a graphic display for the computer, once it's fully working.

That wiki page I referenced doesn't show the RAM modules but it should be in the uploaded world, along with a register and latch design. They're pretty simple but very useful in computer designs.

Electricwizard: do you have any ideas on implementing a LIFO stack? I think 16 words will work but I need 8 or 12 bits in those words. Specifically, for a return and a data stack in a computer design...
--- Anyone??? I am re-reading some cpu design textbooks to refresh my edjamacation but they don't cover details to that degree - they all assume we design through automated systems and only need a block diagram!

————————————————————
"[The future] is a place about 70 miles east of here - where it's lighter." - Laurie Anderson


Stanimus

Quote    Reply   
avatar

Electricwizard

Hunter
Fully Fledged

Posts: 89 Member Since:23 July, 2015

#84 [url]

7 April, 2016 23:51:44

Stanimus:s

After thinking about it for some time, I came up with a sort of design. I think it might work. There is an easier design but it involves multiplexers.
It's simple: Put your stack of SR latches and tie the top of thr latch to an AND gate which is hooked up to a button. Basically it is a simple shift register, but do not add the reset button to the AND. Therefore a SR will only light up if the bottom one is ON. As for the "pop" function, do the same thing, but negate the SR above. So to sum it up, SRs will only turn on if the bottom one is ON, and they will only turn on if Top is OFF. I think this would do it, although I may have misunderstood your LIFO. That was how I learned it, anyway. 
Clasmir, sorry for the mistyping. I thought it was C capital i asmir. And I'd love to see your Pac-Man when it comes out.

Quote    Reply   
avatar

Stanimus

City Founder
Old Timer

Posts: 1,341 Member Since:19 July, 2014

#85 [url]

8 April, 2016 20:45:56

Thanks, wiz. I'll look over what you have there. I'm not sure it'll give me all I need but it might at least shine a light in the right direction. I'm actually trying to implement a sub-routine return stack and a data/parameter stack, because I want to make a stack-based computer. It may even use a novel internal architecture. It looks better the more I delve into it. I think I now have an idea to implement a full ALU with 15 functions, in a space less than 10 * 20 * 10 blocks! If only 1.30 would come out, it probably could be smaller yet!

————————————————————
"[The future] is a place about 70 miles east of here - where it's lighter." - Laurie Anderson


Stanimus

Quote    Reply   
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#87 [url]

9 April, 2016 14:55:36

lifo hmm

LIFO: last in first out stack system. It is to my understanding that this requires a sort of clock input to shift the data over and the first out. I also read somewhere that many computers auto retain the pushed data. How might one impliment that? Also, is your stack analog? I have developed and analog d-latch that has clock, set, and reset inputs, could this be of help? Although, it is fairly large.

Quote    Reply   
avatar

Stanimus

City Founder
Old Timer

Posts: 1,341 Member Since:19 July, 2014

#89 [url]

9 April, 2016 21:04:01

I found a way to make an analog up/down counter with preload. It takes 2 MEMORY BANKS and 2 AND gates.  http://survivalcraftgame.wikia.com/wiki/File:Preset_Bus_Counter.jpeg

This might work as a Stack Pointer into a BANK to make a 16 deep stack. Load it from the data (bus) input or make it increment each pulse.

T​he pointer could be incremented +/-2 rather than +/-1. Or you could set up any random sequence! And any of those functions could be selected with an analog control making them effectively parallel. So many possibilities...

————————————————————
"[The future] is a place about 70 miles east of here - where it's lighter." - Laurie Anderson


Stanimus

Last Edited By: Stanimus 9 April, 2016 21:29:03. Edited 2 times.

Quote    Reply   
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#90 [url]

12 April, 2016 22:26:18

Welp -.-

I know a lot less about computers, but I made a basic design. If someone could CONSTRUCTIVELY criticize it that would be woulderful. By that I mean explain why it sucks XD. Here is a link to a description for the design: https://docs.google.com/document/d/1-LZBHkYisBqOYdUIxoKWlEODSjPkNz7q4_-i3gL0GvI/edit?usp=docslist_api.

Quote    Reply   
Remove this ad
avatar

Electricwizard

Hunter
Fully Fledged

Posts: 89 Member Since:23 July, 2015

#92 [url]

13 April, 2016 02:10:19

Sure, Clasmir

Why not?
BTW, Stanimus, I created a similar circuit a few months ago that allows me to cycle through a counter endlessly, without any of the annoying A's and B's using a mem. bank. Memory banks are so amazing. Here's the basic layout:
Memory bank output flows into A2. A1 is connected to a button. Pressing 1 will output 1 to A1, and likewise with 2 (output 2 to A1)
 

Quote    Reply   
avatar

Stanimus

City Founder
Old Timer

Posts: 1,341 Member Since:19 July, 2014

#93 [url]

14 April, 2016 23:56:33

Sorry but I can't figure what you're saying there, wiz...

————————————————————
"[The future] is a place about 70 miles east of here - where it's lighter." - Laurie Anderson


Stanimus

Quote    Reply   
avatar

Stanimus

City Founder
Old Timer

Posts: 1,341 Member Since:19 July, 2014

#94 [url]

15 April, 2016 20:44:36

I HATE THIS SITE!!!!
I was signed in and wrote an extensive reply to Clasmir. Then when I hit enter, it sent me to the signin page and DESTROYED ALL MY TEXT. POS! I'm not doing all that again.
But, Clasmir, you have a very ambitious document there but no details and it's likely way out of your league (and Survivalcraft's). That's the condensed version...

————————————————————
"[The future] is a place about 70 miles east of here - where it's lighter." - Laurie Anderson


Stanimus

Quote    Reply   
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#95 [url]

15 April, 2016 21:08:31

Actually,

I wasn't going to attempt building something that large, but I thought it was a decent design. Thanks!

Quote    Reply   
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#96 [url]

16 April, 2016 00:45:45

Lol

Sorry your post dissapears. I notice the act of posting is glitchy, and it almost messed up one of mine too. Hope it works for you in the future!

Quote    Reply   
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#97 [url]

16 April, 2016 16:47:07

64 bit alu may not not be so bad

I made a 16-bit adder that is programmed to take in numbers 0-9 in the first four place values (1 to 1000) and outputs five place values. I tested the classic 2*2*2*2 etc., because I played 2048 recently, and went to 8192. I also added 9999 to itself and got 19998. Here are links to pics of overhead view and the answer 19998: https://drive.google.com/file/d/0B0K-lq6eQyyUZkxfVWVhRnUxdDQ/view?usp=drivesdk, https://drive.google.com/file/d/0B0K-lq6eQyyUZkxfVWVhRnUxdDQ/view?usp=drivesdk. I might put out a world...

Quote    Reply   
avatar

Stanimus

City Founder
Old Timer

Posts: 1,341 Member Since:19 July, 2014

#99 [url]

16 April, 2016 20:06:06

Clasmir,
If you check the world link, I now have an 8 bit 'full adder' circuit there and it's pretty small. It's modular so it can be extended to any number of bits, but that's only one part of an ALU. The shifts needed for multiplication get bigger too, so to have an internal multiplication would get horrendously huge.
I'm assuming I'll be multiplying in machine code so it'll take longer but won't take up space. I'll also be making as much of my CPU layout vertical to reduce the spacing out, so it stays within the active distance and doesn't go all wonky on me. Unless it turns out smaller than I fear. I've made a 64K byte ROM but a same sized RAM must needs take a lot more room. They'll likely be in the 'basement' with the rest built above it. But that's just one of many, many details...

————————————————————
"[The future] is a place about 70 miles east of here - where it's lighter." - Laurie Anderson


Stanimus

Quote    Reply   
avatar

Clasmir

Forager
Greenhorn

Posts: 20 Member Since:18 February, 2016

#100 [url]

17 April, 2016 21:45:32

I don't feel the need for them.

Multipliers and dividers are not neccessary because you can make programs with adders and subtractors. My ALU will have logic, addition, subtraction, and comparison, simple enough. I am going to research the many registers and other components now.

Quote    Reply   
Remove this ad
Add Reply

Quick Reply

bbcode help