|
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. 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.
|
![]() |
|
![]()
|
# ? Jun 10, 2024 21:59 |
|
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.
|
![]() |
|
Jeffrey of YOSPOS posted:MC4000 small hint: 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.
|
![]() |
|
I cannot figure out for the life of me how to handle the pulse length part of the Vape Pen puzzle. ![]() ![]()
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
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 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
|
![]() |
|
Ciaphas posted:I cannot figure out for the life of me how to handle the pulse length part of the Vape Pen puzzle. 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"
|
![]() |
|
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?!
|
![]() |
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?
|
|
![]() |
|
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 Ooh, you're right about DGT. I didn't realize that it was destructive like that.
|
![]() |
|
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 ![]() Ciaphas fucked around with this message at 21:51 on Oct 10, 2016 |
![]() |
|
immortal flow posted:...... How on earth can you use the conditionals to store information? And more than one value in the acc?!
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
really enjoy the solitaire in this game.
|
![]() |
|
Jeffrey of YOSPOS posted:MC4000 small hint: You are using 1 line of code too many!
|
![]() |
|
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 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. 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.
|
![]() |
|
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 Hint 1: You have two simple-IO connections per chip. Hint 2: All the actual logic can fit in an MC6000.
|
![]() |
|
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 |
![]() |
|
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. 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.
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
![]() 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
|
![]() |
|
New Zealand can eat me posted:
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
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 ![]() 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 |
![]() |
|
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.
|
![]() |
|
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? 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?
|
![]() |
|
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.
|
![]() |
|
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.
|
![]() |
|
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: ![]()
|
![]() |
|
What a waste of power. Does the game let you slx on an unconnected port instead?
|
![]() |
|
Jeffrey of YOSPOS posted:What a waste of power. Does the game let you slx on an unconnected port instead? 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.
|
![]() |
|
![]()
|
# ? Jun 10, 2024 21:59 |
|
![]() https://www.youtube.com/watch?v=RgoiujpgiaQ
|
![]() |