Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Dr. Stab
Sep 12, 2010
👨🏻‍⚕️🩺🔪🙀😱🙀

WhiteHowler posted:

I kind of hate you for telling me this, because now I'm not going to be able to proceed until I figure it out.

Edit: Ugh, I'm not sure how to do this without having someplace to store the previous button state.

You have more storage on a chip than just the acc. You have the pc and also conditional state. And, for that matter, the acc can store more than 1 value.

Adbot
ADBOT LOVES YOU

Ignoranus
Jun 3, 2006

HAPPY MORNING

Dr. Stab posted:

You have more storage on a chip than just the acc. You have the pc and also conditional state. And, for that matter, the acc can store more than 1 value.

Oh, man. I feel like you just blew my mind.

WhiteHowler
Apr 3, 2001

I'M HUGE!

Jeffrey of YOSPOS posted:

MC4000 small hint:
I had a line of code to spare!
Finally got Drinking Game Scorekeeper with a single MC6000. 5y and 443 power. I'll take it.

My state tracking is pretty sloppy, but I couldn't find a more elegant way to do it.

acc is the current score

dat is the state of the buttons:
+1 = Point is being held down from a previous cycle
-1 = Foul is being held down from a previous cycle
0 = No button was active last cycle

This only works because there's always at least one cycle between button presses, and both buttons are never pressed simultaneously.


I'm guessing for the single MC4000 you have to use acc to store both the current score and the state of the buttons, but that makes my head hurt.

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


I cannot figure out for the life of me how to handle the pulse length part of the Vape Pen puzzle. :(

Ignoranus
Jun 3, 2006

HAPPY MORNING

WhiteHowler posted:

I'm guessing for the single MC4000 you have to use acc to store both the current score and the state of the buttons, but that makes my head hurt.

I haven't tried it yet but my guess is that it has to do with the fact that there are commands that check and set specific digits in the ACC.

Jeffrey of YOSPOS
Dec 22, 2005

GET LOSE, YOU CAN'T COMPARE WITH MY POWERS
I'm kind of at a loss as to what hints to give here, if any. Having to fit in 9 instructions rules out a lot of working but code heavy solutions. 8 instructions

I find dgt pretty awkward to use, it feels like it'd take a lot of instructions to actually pull 3 values out of anything, since it only operates on acc and does so destructively.

Dr. Stab
Sep 12, 2010
👨🏻‍⚕️🩺🔪🙀😱🙀
For fitting things on a small chip, think of it like this:
There are certain instructions that have to go on the chip (you have to read the input, you have to send the output, you have to sleep, etc). This leaves you with only a few instructions left to add, and the rest is just putting them in the right order.

OddObserver
Apr 3, 2009

Jeffrey of YOSPOS posted:

I'm kind of at a loss as to what hints to give here, if any. Having to fit in 9 instructions rules out a lot of working but code heavy solutions. 8 instructions

I find dgt pretty awkward to use, it feels like it'd take a lot of instructions to actually pull 3 values out of anything, since it only operates on acc and does so destructively.

Yeah, had the same problem with it and dst as well... Which is why I haven't gotten a working solution to the (fairly late puzzle name) the mixer puzzle

TheOneAndOnlyT
Dec 18, 2005

Well well, mister fancy-pants, I hope you're wearing your matching sweater today, or you'll be cut down like the ugly tree you are.

Ciaphas posted:

I cannot figure out for the life of me how to handle the pulse length part of the Vape Pen puzzle. :(


Hint: Remember that simple outputs will stay in whatever state they are in until you explicitly set them again.

Bigger hint: On cycles where there is no signal, try sending something to the right-side controllers that basically says "don't change the current value" or "turn off"

immortal flow
Jun 6, 2003
boing boing boing

Dr. Stab posted:

You have more storage on a chip than just the acc. You have the pc and also conditional state. And, for that matter, the acc can store more than 1 value.

...... How on earth can you use the conditionals to store information? And more than one value in the acc?!

nielsm
Jun 1, 2009



Okay Scaevolus please explain how you can get just 49 cycles on the Animated E-sports Sign. To do that you'll have to make a 1-1 pulse in just one instruction per cycle, or less to also account for the drinking animation, how is that possible at all?

Ignoranus
Jun 3, 2006

HAPPY MORNING

Jeffrey of YOSPOS posted:

I'm kind of at a loss as to what hints to give here, if any. Having to fit in 9 instructions rules out a lot of working but code heavy solutions. 8 instructions

I find dgt pretty awkward to use, it feels like it'd take a lot of instructions to actually pull 3 values out of anything, since it only operates on acc and does so destructively.

Ooh, you're right about DGT. I didn't realize that it was destructive like that.

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


Ok I figured out Vape Pen and my power was good but my production score was sky high, 18 yuan compared to like 6 or 7 mode on the histogram, and I have no idea why or how you could possibly get this down to two or three chips



Not to mention there's a hole in my logic where i would fail to catch an interruption of a non-999-length pulse, but the sim doesn't test for that so :shrug:

Ciaphas fucked around with this message at 21:51 on Oct 10, 2016

homeless snail
Mar 14, 2007

immortal flow posted:

...... How on earth can you use the conditionals to store information? And more than one value in the acc?!
Imagine a program where every single instruction is conditional

Jeffrey of YOSPOS
Dec 22, 2005

GET LOSE, YOU CAN'T COMPARE WITH MY POWERS

immortal flow posted:

...... How on earth can you use the conditionals to store information? And more than one value in the acc?!

The state of the condition flags can be thought about as a boolean variable, or a 3 state thing if you count neither being set. You can't store numbers in it directly, but you can pretty explicitly use them to store some fact about the state of your program. A lot of problems involve things like, wait for some event, then do something for more than one cycle, and the flags might store which of those two states you're in. I can give specific examples when I get home.

CoasterMaster
Aug 13, 2003

The Emperor of the Rides


Nap Ghost
I read somewhere (but can't find again) that Steam Cloud saves don't work cross platform. Is that still the case? I've got a Mac laptop and I want to be able to move back and forth between that and my Windows desktop but I don't want to corrupt my save and lose my progress.

Jeffrey of YOSPOS
Dec 22, 2005

GET LOSE, YOU CAN'T COMPARE WITH MY POWERS

CoasterMaster posted:

I read somewhere (but can't find again) that Steam Cloud saves don't work cross platform. Is that still the case? I've got a Mac laptop and I want to be able to move back and forth between that and my Windows desktop but I don't want to corrupt my save and lose my progress.

The steam syncing doesn't work cross platform for me, I have to manually move the save directory. It works fine after that though.

Hell Yeah
Dec 25, 2012

really enjoy the solitaire in this game.

fomo sacer
Feb 14, 2007

Jeffrey of YOSPOS posted:

MC4000 small hint:
I had a line of code to spare!

You are using 1 line of code too many!

Pollyanna
Mar 5, 2005

Milk's on them.



gently caress me, I was understanding XBus all wrong, then. I was imagining it to be more of a push model than a pull model, but if it's the latter, some things make a lot more sense. I might have to re-tackle some of the old designs and see if I can actually figure out what the gently caress this time.

Jabor posted:

Don't use slx.

I'm serious. You can do all the early puzzles with lockstep implementations. If you're not really understanding how the xbus works, stick to solving everything lockstep until you do understand it.

I felt like since XBus was there, it HAD to be used somehow, I just didn't know how. Anyway, I'm past the point where you can avoid using XBus, so I don't have much of a choice.

homeless snail posted:

To expand on what Fuzzy Mammal said, I think you should look at the specifications for this puzzle again, because there's one crucial misunderstanding here that's throwing you off and you could make this solution work with a slight modification. If you want a hint: you only need to send the packet when you receive a request for it, right now you're sending it every tick.

If you added a slp to the middle CPU you could take out all the slxes and it would work exactly the same as it does now (and actually use less power). Remember, its perfectly okay to block on xbus for a bit, so long as you don't deadlock and try to carry that block into the next time unit. The #1 and kind of only rule in this game is that everything must be put to sleep before the time unit can end.

I had intended to start from the end and work backwards, pushing random garbage data to tx and changing it to good data once I got everything hooked up, but that ended as you see here. Thinking about it now, it makes no sense for a wireless controller to be constantly pushing data, so I was going about this the wrong way no matter what.

As for the "prototyping a game" design challenge, uh...is there a manual for all these parts? I'm a little surprised to see an LCD screen of all things here, I have no idea how to render 2D image data with these things, let alone sprites or anything.

Kobata
Oct 11, 2012

Ciaphas posted:

Ok I figured out Vape Pen and my power was good but my production score was sky high, 18 yuan compared to like 6 or 7 mode on the histogram, and I have no idea why or how you could possibly get this down to two or three chips



Not to mention there's a hole in my logic where i would fail to catch an interruption of a non-999-length pulse, but the sim doesn't test for that so :shrug:

Hint 1: You have two simple-IO connections per chip.
Hint 2: All the actual logic can fit in an MC6000.

Bonfire Lit
Jul 9, 2008

If you're one of the sinners who caused this please unfriend me now.

nielsm posted:

Okay Scaevolus please explain how you can get just 49 cycles on the Animated E-sports Sign


you can't spend any power at all on the click outputs
e: ok yeah I'm sure this isn't intended behavior because it breaks whenever I send any XBus data on a completely different connection

Bonfire Lit fucked around with this message at 23:20 on Oct 10, 2016

zedprime
Jun 9, 2007

yospos

Pollyanna posted:

As for the "prototyping a game" design challenge, uh...is there a manual for all these parts? I'm a little surprised to see an LCD screen of all things here, I have no idea how to render 2D image data with these things, let alone sprites or anything.
You are like god's own multitool, its nothing but a thing to just try things out and see what happens and go from there.

The small LCD is just a digital numeric display like the one in the drinking game. Push a number to it and it displays that number all big like.

The other one is based on cell based LCD screens where each cell has an address and is on or off. Send it the number of the cell positive to turn it on. Send it the number of a cell negative to turn it off. There's a matrix by default but the numbering address is kind of bad for doing anything with unless you have a line on a neat mathematical algorithm to use for a kick rear end demo. If you plop the screen down it gives you instructions on making custom screens which is how most people are putting together simple Game & Watch style stuff.

Pollyanna
Mar 5, 2005

Milk's on them.


Hmmm. Sounds annoying. I'll mess with it later.

I'm having a bit of trouble with the coin machine. I've got everything but the payment counter:



It's a really basic question: how do I make something that responds to 100s on input-1, 5, and 12 by adding that value to their acc and publishing their acc on an XBus port? MCs only have two simple inputs by default, so I need to use two of them to cover all of the input ports and another to consolidate the totals, and I run out of space pretty quickly in that case.

Bonfire Lit
Jul 9, 2008

If you're one of the sinners who caused this please unfriend me now.

Pollyanna posted:

MCs only have two simple inputs by default, so I need to use two of them to cover all of the input ports and another to consolidate the totals, and I run out of space pretty quickly in that case.
You have the DX300 I/O expander by now, it converts three simple I/O connections into an XBus connection (as long as the simple I/O only uses levels 0 and 100).

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
It literally only takes two instructions to check for a coin and do something with it. (The coin reader is well-behaved, you don't need to worry about edge detection). So you should be able to do the aggregation in one of the controllers you wired up to the inputs instead of adding a third one?

There's a supplemental component that helps too, but I'm not sure you have it yet.

New Zealand can eat me
Aug 29, 2008

:matters:


:siren: update just went out with more bugfixes http://steamcommunity.com/games/504210#announcements/detail/907864854486471955

Instead of 3 fixed test runs and 1 random test run, the game now runs 8 fixed test runs. We're still trying to figure out what needs to be done for verification, but hopefully this will at least be a little less... random.
Fixed a bug where you could place some parts on input/output board terminals.
Fixed a bug where histograms wouldn’t display for Mac and Linux users.
Attempted to fix the PDF opening bug on Linux. Whether it actually works for everyone is yet to be seen. Why is this the hardest part about porting to Linux?
Fixed a bug where only comically low resolutions were available to Mac users with Retina screens.
Fixed a bug where the breakpoint instruction text was wrong for Mac users.
Fixed a bug where you could click the fullscreen button even when it wasn’t visible.
Fixed a bug where some developer hotkeys were accidentally left enabled.
Fixed a few typos and text content errors.

Emphasis mine

homeless snail
Mar 14, 2007

New Zealand can eat me posted:

:siren: update just went out with more bugfixes http://steamcommunity.com/games/504210#announcements/detail/907864854486471955

Instead of 3 fixed test runs and 1 random test run, the game now runs 8 fixed test runs. We're still trying to figure out what needs to be done for verification, but hopefully this will at least be a little less... random.
I guess they really do consider people cheesing the verification in the spirit of shenzen electronics then, I was kinda hoping they would add more random passes.

Jeffrey of YOSPOS
Dec 22, 2005

GET LOSE, YOU CAN'T COMPARE WITH MY POWERS

homeless snail posted:

I guess they really do consider people cheesing the verification in the spirit of shenzen electronics then, I was kinda hoping they would add more random passes.
It's kinda telling that the random run would still never hit the ingredients established by the other three wrt gaps after packets and such.

Bonfire Lit
Jul 9, 2008

If you're one of the sinners who caused this please unfriend me now.

New Zealand can eat me posted:

Instead of 3 fixed test runs and 1 random test run, the game now runs 8 fixed test runs. We're still trying to figure out what needs to be done for verification, but hopefully this will at least be a little less... random.
actually it seems to me what it does now is run 4 fixed test runs and then crash

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

Jeffrey of YOSPOS posted:

It's kinda telling that the random run would still never hit the ingredients established by the other three wrt gaps after packets and such.

There were definitely bits where it messed up the time-to-first-thing-you-care-about, which is relevant for those last few power use shavings.

zedprime
Jun 9, 2007

yospos
Glad I got my stoplight solution through before they added in the runs as mandatory that broke my RAM implementation.

Spoiler blocking headphones still lets you cheat :twisted:

e. I should mention that I am a bad so this is in the context of doing things poorly to progress and not aiming to beat the histogram.

zedprime fucked around with this message at 00:10 on Oct 11, 2016

New Zealand can eat me
Aug 29, 2008

:matters:


I feel like verification should be more than just passing test runs, unless it's for the evil AI corporation, then it should be the opposite (pass the tests only, but cause it to blow up in real world use).

It would be cool to have the puzzles/unit tests get increasingly hard/convoluted, a great example would be "handle both buttons being pressed at the same time" for drinking game. Another might be fading the LED intensity up on the Cool Dad Vape Pen

While I'm dreaming, I'd love to see some sort of challenge between unit cost vs what the unit can be sold for based on featureset. Then you'd be earning money based on performance, which you could spend on R&D for better/more components/customer leads

Personally not a big fan of the power use optimization, I know most of you can't help it but I feel like it goes against the concept of being cheap as hell.

Pollyanna
Mar 5, 2005

Milk's on them.


Bonfire Lit posted:

You have the DX300 I/O expander by now, it converts three simple I/O connections into an XBus connection (as long as the simple I/O only uses levels 0 and 100).

Jabor posted:

It literally only takes two instructions to check for a coin and do something with it. (The coin reader is well-behaved, you don't need to worry about edge detection). So you should be able to do the aggregation in one of the controllers you wired up to the inputs instead of adding a third one?

There's a supplemental component that helps too, but I'm not sure you have it yet.

I guess the next question I have is what to do with the results of the I/O expander. The 000-111 setup means that if I want to check for the presence of one type of coin, it's destructive - storing the I/O result in the acc then accessing the 1st/2nd/3rd digit overwrites acc, which means I lose the data and can't check for the other two coins. I could fix that by simply moving the result into acc again, but 1. that seems hacky and bloated, and 2. I won't be able to store the total coin value in acc. I could just delegate the totaling to another MC, I guess.

For the "two instructions", what does that mean? teq p0 coin-value; mov p0 x0 or something?

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

Pollyanna posted:

For the "two instructions", what does that mean? teq p0 coin-value; mov p0 x0 or something?

Yes, the "two instructions" are "check for a coin" and "if so, do something".

Just spend a few moments thinking about how you could put those together and I'm sure it will come to you.

Bonfire Lit
Jul 9, 2008

If you're one of the sinners who caused this please unfriend me now.

Pollyanna posted:

The 000-111 setup means that if I want to check for the presence of one type of coin, it's destructive - storing the I/O result in the acc then accessing the 1st/2nd/3rd digit overwrites acc, which means I lose the data and can't check for the other two coins.
The coin counter will only have at most one input high at any one time.

zedprime
Jun 9, 2007

yospos
I went back and fixed my stoplights to use a better memory scheme. I ran out of instruction space, and I could probably parse conditionals better to free up some room, but...

I give you the single greatest microcontroller ever devised:

Jeffrey of YOSPOS
Dec 22, 2005

GET LOSE, YOU CAN'T COMPARE WITH MY POWERS
What a waste of power. Does the game let you slx on an unconnected port instead?

zedprime
Jun 9, 2007

yospos

Jeffrey of YOSPOS posted:

What a waste of power. Does the game let you slx on an unconnected port instead?
That's your biggest problem with a delayed start card?

slx on an empty port and slp 999 consume the same amount of power because a test cycle is only 46 cycles long. I punctuate dead controllers with double slp 999 | slp 999 for fun. It makes more sense on other dead cards I've made because they are usually memory loaders using every single port already.

Adbot
ADBOT LOVES YOU

New Zealand can eat me
Aug 29, 2008

:matters:


:stare: I'm over here happy with a few beeps but some people just don't know when to stop

https://www.youtube.com/watch?v=RgoiujpgiaQ

  • Locked thread