mcc,
@mcc@mastodon.social avatar

YOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

mcc,
@mcc@mastodon.social avatar

I am going to get up to SO MANY shenanigans with my tiny FPGA Game Boy

mcc,
@mcc@mastodon.social avatar

My Game Girl arrived!!!!

NoraReed,
@NoraReed@mastodon.social avatar

@mcc I just got mine too!

Sylvhem,
@Sylvhem@eldritch.cafe avatar

@mcc It’s pretty!

leo,
@leo@60228.dev avatar

@mcc i continue to be baffled by analogue making and trademarking an "fpga" logo, when fpgas are something they definitely didn't invent and only have an extremely nebulous claim towards in general

mcc,
@mcc@mastodon.social avatar

@leo well, the trademark is for the word "openFPGA", and in the UNIX world there is a fine, long tradition for closed consortiums appropriating "open" (Open Group, OPENSTEP etc)

mcc,
@mcc@mastodon.social avatar

I am going to draw TRIANGLES

a13cui,

@mcc hello OpenGL

crzwdjk,
@crzwdjk@mastodon.social avatar

@mcc can't wait to see your first triangle!

mcc,
@mcc@mastodon.social avatar

@crzwdjk Plan is to port my Amaranth rule30 CA program to Pocket ("program" may be overstating the situation) and then next is either FFTs for audio or a triangle!!

mcc,
@mcc@mastodon.social avatar

Game Boy… Game Boy has changed

andygorman,

@mcc i really love this device

teajaygrey,
@teajaygrey@rap.social avatar

@mcc The only (theoretically) appealing thing to me about the Analogue Pocket was there's a dongle to "enable" PCエンジン/TG-16 games.

But, I still have a TurboExpress, even better: with a bigger brighter newer screen.

mcc,
@mcc@mastodon.social avatar
paintedsky,
@paintedsky@mastodon.gamedev.place avatar

@mcc Why would they change Game Boy! Game Boy is Game Boy!

Mr Incredible in the “math is math” bit from Incredibles 2

barbaraebj,
@barbaraebj@mastodon.social avatar

@mcc Yeah; They have been doing similarly for decades now, partly because the government requires the warnings. The gov doesn't want people hacking certain devices, including communication devices like TVs, radios, phones, CBs,etc. to interfere with radio frequencies or send protected/patented/copywritten or gov stuff out of the country. I still remember when kids took over radio frequencies to broadcast their own stuff for fun, sometimes or politics upsetting all sorts of top gov agencies.

barbaraebj,
@barbaraebj@mastodon.social avatar

@mcc You might be surprised how many people used all sorts of gadgets & how many types of gadgets actually did/do communicate or can be hacked into communicating across radio frequencies & more now with the internet. Hackables included atari & other games, CBs, transistors, etc. The 60s+ were filled with new, young & older techies learning on their own how to wire their devices to talk with anyone anywhere. Very political time with the early spread of binary+ and computerization.

mcc,
@mcc@mastodon.social avatar

@barbaraebj Oh, I've got some experience with RF actually! And yeah, you can do some wild stuff. I think there's still a bit of a… how shall I put it… "free experimentation" culture like that running in China.

chfour,
@chfour@wetdry.world avatar

@mcc the game boy grew up and now hes a grumpy old lawyer

consolegrl,

@mcc Welp, toss it in the trash, you tried. That or 👩‍💻 hack 👩‍💻 the ever-living $#!% out of it... Then you can agree to whatever you want :) It's not technically a software lock so you violated no laws.

I'm sure it has a serial port somewhere inside.

mcc,
@mcc@mastodon.social avatar

It's a minor thing, but I am giggling so hard right now. I just compiled one of Didier's Verilog sample programs, copied the netlist and some JSON to the Pocket's drive over USB-C, exited drive mode and selected the core, and… I just programmed an FPGA! I didn't write the code, but even just USING these things is supposed to be super hard! And all I had to do was copy files over USB and now it's running on a screen! CIRCUITS! And they're DRAWING things! That is so cool!!

An Analogue Pocket. On the screen is an animated starfield and the word "FPGA"

mcc,
@mcc@mastodon.social avatar

Okay. This was my mod. It was supposed to be the letters L33T, the stars were supposed to be multicolor, and the "desert Chrome" colors were supposed to be different.

Each thing I changed failed in a different way

No, there's no starfield at all. That's dust

mauve,
@mauve@mastodon.mauve.moe avatar

@mcc More learning opportunities! Watching you mess with this stuff is really interesting. Considering getting one myself now.

loke,
@loke@functional.cafe avatar

@mcc I've spent too much time thinking about this.

I note that the difference between codepoints ','-'L' is -32. The difference between '4'-'T' is also -32. But the difference between 'S'-'3' is 32.

If it also had been --32 this would have been a simple offset by 32, but I don't have a good hypothesis explaining what happened here.

Now I really want to know what went wrong.

mcc,
@mcc@mastodon.social avatar

@loke So it turned out the solution was "read the friggin comments in the friggin source file before trying to modify it"

Farbs,
@Farbs@mastodon.social avatar

@mcc Do you think we'll ever see a future where instead of writing pixel shaders we find ourselves programming per-pixel gate arrays?

(should I be learning this stuff?)

mcc,
@mcc@mastodon.social avatar

@Farbs i could imagine the reverse maybe (pixel shaders being compiled down to netlists)

mcc,
@mcc@mastodon.social avatar

@Farbs No but seriously though, I am going to make a serious go at making an interesting game in pure gateware, and I predict this is going to be unbelievably gratuitous and not justify the work put into it on anything other than a conceptual/personal pride level. From what I've been told, accessing RAM (because I do have to talk to the RAM chip in pure wire language) is going to be hell

I'm so looking forward to this tho

didier,
@didier@malenfant.net avatar

@mcc @Farbs I’m gonna have to use SRAM for my next sample code. Wasn’t planning on it so soon but here we are.

PSRAM is a little tougher burly easy-ish. There’s a controller that @agg23 did for that.

SDRAM though… 🤮

agg23,

@didier @mcc @Farbs my SDRAM controller is mostly good to go, if you don’t need multiple ports. You could add multiple ports yourself without too much trouble

mcc,
@mcc@mastodon.social avatar

@agg23 Oh! Exciting

Farbs,
@Farbs@mastodon.social avatar

@mcc Exciting!

I bet the demoscene is going to do some wild stuff with all this too.

mcc,
@mcc@mastodon.social avatar

@Farbs yeah, that would be super fun.

so here's the thing. it turns out FPGAs aren't really, compared to modern-fab CPUs anyway, that fast. it was being explained to me today the literal clock rate at which any given part of one of these FPGAs runs is in the 200MHz range. That doesn't mean it runs at the speed of a 200MHz CPU because CPUs usually can't do anything in a single cycle and FPGAs often can. But it's still a little bit surprising that number isn't higher

mcc,
@mcc@mastodon.social avatar

@Farbs So your clock rate is low. Pocket tops out at 720p because it physically can't send bits to the HDMI port fast enough. Floating point math is possible but considered an extravagance. And usually on these devices you don't have very much RAM. So if you want to do something really impressive with an FPGA, you have to find something that really, really leverages whatever advantages you do have.

And what you do have is, parallelism. Absurd, totally ridiculous parallelism.

mcc,
@mcc@mastodon.social avatar

@Farbs If I've got these numbers right, the Cyclone V in the Pocket has 50,000 "LUT"s. Which is essentially a wad of gates which can a compose an arbitrary logic function for 1 output bit.

But the thing is, all 50,000 run every cycle.

So that means, if you design things truly optimally, you can do 50,000 operations at once. 50,000 little bitty CPUs running in parallel, but each CPU is kinda slow & does the exact same thing over and over every step.

The best idea I have involves ray tracing.

Farbs,
@Farbs@mastodon.social avatar

@mcc Huh! That's super interesting, thankyou!

And yeah, the more I hear about these the more I think they could be awfully useful for pixel shading, convolutional audio processing, stuff like that.

Maybe not so great for gameplay logic though!

mcc,
@mcc@mastodon.social avatar

@Farbs They're absolutely fantastic for audio DSP. In fact they're fantastic for DSP at speeds that makes audio rate sound very, very slow. Apparently an FFT is very easy to represent in FPGA.

"Maybe not so great for gameplay logic though" True, but! Slap a PicoRV32 in there, or ten, and you can run the gameplay logic on that. You can download a CPU and fit it into one little corner of your FPGA :D And it's RISCV, so you can just like… compile to it. With regular clang. Well, almost regular

Farbs,
@Farbs@mastodon.social avatar

@mcc I wonder what sort of application would be required to get FPGA hardware built into consumer grade computers. It'd have to be something equivalent to 3D cards and the way they massively outperformed software rendering back in the 90s.

Unfortunately all I can think of in this space right now is waves hands in vague manner AI.

But even then, everyone's business model is AI as a service so they absolutely don't want it running on end user hardware.

TomF,
@TomF@mastodon.gamedev.place avatar

@Farbs @mcc Basically none. It's been tried many times, but it doesn't work because the perf and area gap isn't just large, it's absurdly large. FPGA doing "specific logic X" versus a custom chip doing the same logic is probably 1/100th the speed AND 100x the area AND 100x the power.

TomF,
@TomF@mastodon.gamedev.place avatar

@Farbs @mcc For a very short time, people were using FPGAs to do bitcoin mining because it was such a specific task that CPUs did so abysmally badly (by design!). But then people figured out how to do them well using SIMD and/or GPUs and that advantage vanished.

mcc,
@mcc@mastodon.social avatar

@TomF @Farbs The one consumer-facing device I think FPGAs are truly apt for is the Glasgow: https://www.crowdsupply.com/1bitsquared/glasgow

It's a swiss-army-knife that plugs into a computer via USB at one end and at the other end can connect to an enormous variety of wire protocols/"plugs", such as basically every type of serial, outdated things like VGA and PS/2, and the unique protocols used by things like flash memory chips and CO2 sensors.

mcc,
@mcc@mastodon.social avatar

@TomF @Farbs The Glasgow has a very weak FPGA at its heart, but even this very weak FPGA does a great job of bitbanging any serial protocol you can imagine—which even a powerful CPU would struggle to do so consistently (because CPUs have interrupts, operating systems, other things going on), and of course you weren't ever going to put an Intel i5 into a device like this anyway, so to justify itself the FPGA really only has to outperform whatever analogous embedded chip you'd've used instead.

TomF,
@TomF@mastodon.gamedev.place avatar

@mcc @Farbs A lot of FPGAs just come with an actual CPU in the corner for just this purpose - most traditionally 68k based, but I assume ARM is pretty popular these days.

didier,
@didier@malenfant.net avatar

@TomF @mcc @Farbs that’s one way the pocket stands out. It actually has another FPGA (a cyclone 10) instead. But same idea, that’s what runs the ‘OS’ services and interacts with most IO stuff…

TomF,
@TomF@mastodon.gamedev.place avatar

@didier @mcc @Farbs The MiSTer is basically the perfect use for FPGAs. It can reconfigure to "emulate" basically any 8-bit and 16-bit platform including arcade boards and all sorts of esoterica. In this case the reprogrammability of the FPGAs is crucial! It's a neat project.

https://www.retrorgb.com/mister.html

didier,
@didier@malenfant.net avatar

@TomF @mcc @Farbs a lot of the Pocket cores for retro stuff are actually Mister ports it seems. I plan on going the other way and porting my console to Mister once it works on the Pocket.

TomF,
@TomF@mastodon.gamedev.place avatar

@didier @mcc @Farbs I'm kinda hoping once is shipped, we'll find someone to do a Mister version - really just to prove it's possible.

didier,
@didier@malenfant.net avatar

@TomF @mcc @Farbs it’s kinda what I’m doing on the Pocket right now. 68000 with a bunch of custom chips is the plan.

pervognsen,
@pervognsen@mastodon.social avatar

@didier @TomF @mcc @Farbs Very envious you have one, by the way. Any time I've actually wanted something from Analogue, they're out of stock.

didier,
@didier@malenfant.net avatar

@pervognsen @TomF @mcc @Farbs so I won’t mention that the one I’m getting tomorrow will be my third then 🫣

I got a black one of eBay first, then they sent me the devkit one, then I got the glow in the dark one on a whim.

mcc,
@mcc@mastodon.social avatar

@pervognsen @didier @TomF @Farbs It appears they held ALL Pocket orders ALL year long until they completed a hardware revision in early August, and then blasted out an entire year's worth of orders at once. So if you order a Pocket RIGHT NOW you might be able to get one shipped immediately. Alternately, maybe at some point soon they switch over to the "nothing ships until NEXT August" batch, I have no way of knowing. And I think you may missed the chance for the glow-in-the-dark unit

pervognsen,
@pervognsen@mastodon.social avatar

@mcc @didier @TomF @Farbs They're all listed as out of stock on the store but at least I'm signed up now. Fingers crossed.

mcc,
@mcc@mastodon.social avatar

@pervognsen I hope you get your device before next August!

TomF,
@TomF@mastodon.gamedev.place avatar

@mcc @Farbs Yes - they are well-suited to being GPUs, which also have a ton of highly parallel ALUs but relatively abysmal access to memory.

Now, that's compared to an old-fashioned CPU. Modern CPUs are also massively parallel machines and the difference between a GPU and a CPU is kinda subtle these days.

didier,
@didier@malenfant.net avatar

@mcc @Farbs apparently simple designs can push 250Mhz thru on the Pocket. The problem becomes the time it takes to get all the gates stable when your design is complex. The higher the clock rate and the more complex the design, the more chance you have for meta-stability and then the compiler shouts at you…

Tathar,

@mcc

@Farbs

I think I need to apply for one of the dev kits now. This is extremely my jam.

mcc,
@mcc@mastodon.social avatar
mcc,
@mcc@mastodon.social avatar

Confession: After recording this video I spent like 10-15 minutes repeatedly re-reprogramming it unsuccessfully trying to make the bottom half of the text pink so I could say "look, bisexual colors!". Every attempt to make a pink just wound up with a different rusty brown. I eventually decided that my worth as a programmer does not hinge on my ability to eyeball what hex value will become pink after it's darkened an arbitrary amount. At any rate I think the current colors are pretty bisexual.

mcc,
@mcc@mastodon.social avatar

Incidentally if you look really close you'll find the Terasic JTAG "USB Blaster" has printed on it, in tiny letters, "Lead Free". I think this is supposed to make me reassured but really it's just making me worry what was going on here that I apparently ought to be worried about a JTAG connector not being lead free

eater,
@eater@cijber.social avatar

@mcc putting "lead free" on random sites I make from now on

jkohlmann,
@jkohlmann@mastodon.social avatar

@eater @mcc “Lead free”, only to be paired with “contains chemicals known to the state of California to cause cancer”

beeoproblem,
@beeoproblem@mastodon.gamedev.place avatar

@mcc Probably just solder. I'm pretty sure you can still buy the tin+lead stuff for electronics work but it's been a while since I needed any.

mrcarrot,
@mrcarrot@mastodon.social avatar

@beeoproblem @mcc Yeah, pretty sure lead-free solder is required by some environmental regulations(possibly EU).

TomF,
@TomF@mastodon.gamedev.place avatar

@mcc Maybe it just means it came with a cable at not extra cost?

mcc,
@mcc@mastodon.social avatar

Baby steps progress continues: I made a version of the Verilog sample project that contains animation and sound (an A440 tone). This actually is much less impressive than the last demo I posted, but I did more of it myself.

Buttons are pressed to select "Run" on a game boy like device, then there are diagonal stripes and a tone.

acb,
@acb@mastodon.social avatar

@mcc So the Analogue Pocket is essentially like a MISTer in a Gameboy form factor?

Are there many hoops to jump through to get your own cores running on it, or is it fairly straightforward?

mcc,
@mcc@mastodon.social avatar

@acb 1. Yes, that's it. Most of the cores are MiSTer ports.

  1. No, other than the (reasonable, not different from MiSTer) inconvenience of using Altera Quartus, it's quite straightforward. If you want to do it fast, you have to take off the back with a screwdriver and attach a $100 proprietary JTAG debugger but to develop this demo all I did was repeatedly bump it into USB-C mode and drag the rbf_r file on the PC into a folder full of JSON
acb,
@acb@mastodon.social avatar

@mcc Cool; I’m now tempted to buy one, despite not needing yet another side project

mcc,
@mcc@mastodon.social avatar

Thanks to some absolutely heroic work by @whitequark it is as of last night now possible to make Analogue Pocket cores in Amaranth, which is the Python eDSL HDL I used to make this: https://cohost.org/mcc/post/2499788-my-first-fpga-project Basically you write a Python script that describes a circuit, and you get to just skip most of Verilog's unnecessary headaches. The chances of me making something cool for Pocket just went way up.

Here's Whitequark's template Amaranth core filling the screen with magenta:

mcc,
@mcc@mastodon.social avatar

Also, reviewing this thread I'm realizing if you read the Cohost post about my Doppler/Amaranth project then work down the videos/images in this thread you can basically watch my nail polish degrading in real time. I really need to put on a new coat before I try to take any more demo shots

ChateauErin,
@ChateauErin@mastodon.social avatar

@mcc you're just leaving easter eggs for future anthropologists

mcc,
@mcc@mastodon.social avatar

I have now acquired a Pocket dev kit!!!

Check out this weird naked Game Boy cart that comes with it. This is actually the most important thing in the entire devkit package because it's got a button, an LED, and a serial port on it, exactly the things you'd want for debugging a design

Circuit board with a hole in the center

Kowfm,
@Kowfm@ruby.social avatar

@mcc this looks amazing!

gkrnours,
@gkrnours@mastodon.gamedev.place avatar

@mcc wow, nice!

mcc,
@mcc@mastodon.social avatar

Ok so this is very exciting!! I need to write a Cohost post to really explain this but. Check out this custom FPGA core I built! It's unpleasant to look at and unpleasant to listen to but it's important because:

  • Its synchronized video animation and audio with all "business logic" in pure Amaranth (Python). (@whitequark did the video writing code, I did the color patterns and the audio.)
  • The ugly color patterns (which my phone camera can't pick up even up close) test Pocket screen resolutions

A screen on a Game Boy shaped device is vertically wiping between a series of patterned colors while a series of notes play.

mcc,
@mcc@mastodon.social avatar

The source is at https://github.com/mcclure/analogue-core-template-amaranth/tree/screen-test , but it won't help you much pending a better explanation.

For this screen test app, I wound up doing audio synthesis (the 16-note sequence of square waves playing C octave) at the bit level by generating the needed bits in real time as each bit was needed while writing those bits to a sound chip using the i2s serial protocol. This was a fascinating experience that I never, ever want to do again.

mcc,
@mcc@mastodon.social avatar

Okay, here's something a lot prettier looking (maybe not prettier sounding… depending on your tastes). After taking two whole weeks to make a "hello world", I made this little "rule 30" cellular automata scroller in about two hours (about 3/4 of which, inevitably, was debugging). This is running in pure gateware (fixed circuit in FPGA) on an Analogue Pocket. The original version was much higher res but I reduced it to take a video. Gonna try adding controls next…

Source: https://github.com/mcclure/analogue-core-template-amaranth/tree/cellular-toy/

mcc,
@mcc@mastodon.social avatar

Update: I have redone my nail polish and am now ready to resume taking demo photos with the Pocket

pmzeitler,
@pmzeitler@mastodon.social avatar

@mcc That's a great color on you.

jplebreton,
@jplebreton@mastodon.social avatar

@mcc jails (jean nails)

mcc,
@mcc@mastodon.social avatar

@jplebreton it's surprisingly hard to take a photo of your hands. How are you supposed to take the photo? Your hands?

Ronflaix,
@Ronflaix@mastodon.gamedev.place avatar

@mcc @jplebreton There's probably a way by putting a corner of your phone between your eye and your glasses but depending of the size of the phone it'd be hard to balance it.

Also beware of pink eye if your phone isn't clean.

mcc,
@mcc@mastodon.social avatar

Vaulted over the final mandatory gate to making "something useful" on the Analogue Pocket: Input! I now have a demo for the Pocket buttons. This is written in Amaranth and despite not being that complicated managed to uncover bugs in both of Amaranth and Yosys! I feel proud. I think.

Triangles on a game boy

ohthesetrees,

@mcc Oh no now I feel like I need to dev on one of these. That looks awesome.

mimir,

@mcc what pride flag is this

j3rn,
@j3rn@fosstodon.org avatar

@mcc NGL button mashing this thing makes fab art 👌

mcc,
@mcc@mastodon.social avatar

Been experimenting with the "developer key". I was able in my own code to talk to the button (somehow haven't got the LED working with my own code yet, I'm missing something). I also got some Verilog code from a nice person on the Discord named "Boogerman" which takes serial bitmap data over the developer key's USB jack and displays it on the screen. Here I'm using the "Boogerman code" to display my avatar. Notice the cable's going into the back— it's plugged into a fake Game Boy cart in back.

mcc,
@mcc@mastodon.social avatar

Project status

May have a release (a beta release, at least) for my cellular toy app in the next week or so.

mcc,
@mcc@mastodon.social avatar

I'm having this weird problem where this app is supposed to be black and white, but often when I launch it I find it randomly displays black lines with green shadows. It looks as if my RGBRGBRGB pixel bytes sometimes come up offset by one, so that it's instead interpreting the bytes as _BRGBRGBRG. One time I even got purple and black and white, with weird line jittering similar to the Amiga core.

Scrolling cellular automata

fluffy,

@mcc that reminds me of the old Apple II NTSC color hack

mcc,
@mcc@mastodon.social avatar

@fluffy Yes, I was thinking the same thing

mcc,
@mcc@mastodon.social avatar

Still don't have the PLLs working in my cellular toy core well enough to release a beta BUT here is me successfully running a simple Rust program on the Pocket, on the beta of agg23's general purpose riscv core! On the first try uploading all it did was show an off-center picture of Rick Astley and play a loud ~200hz tone, but fortunately that was exactly what I programmed it to do

A gray game boy shows a picture of Rick Astley

onelson,
@onelson@mastodon.social avatar

@mcc this is great because of the meta rickroll aspect. I expected to see him bop around and assure me I'd never be given up, but instead I hit play and was Toned.

mcc,
@mcc@mastodon.social avatar

@onelson You're no stranger to BUZZZZZZZZZZZZZZ

mcc,
@mcc@mastodon.social avatar

The original version of the demo app written by agg23, as demoed on his Twitter https://twitter.com/iam_agg/status/1723042566235455636, displayed Rick Astley and played an mp3 of "Never Gonna Give You Up", but I did not have an interest in compiling an mp3 library and did want to test if I could generate audio such as a 200 hz tone, so.

Anyway check out the pretty blue snow pattern that the beta RISCV core displays before you load an app. It's not intentional but I'm trying to convince agg to keep it

Traiken,
@Traiken@mastodon.social avatar

@mcc As I was scrolling up through my feed, I thought this was a Magic Eye at first

mcc,
@mcc@mastodon.social avatar

Okay, now there's something I can be proud of as a "first program" on the Pocket! I took one of my very old experimental glitch audio programs and ported it to Rust then had it generate a Hilbert curve fractal kinda thing.

Warning: Very loud
Warning: Experimental glitch techno, may be confusing or at least very annoying
Warning: My nail polish looks bad again

A series of wobbly sounds and pixelated images on a Game Boy

mcc,
@mcc@mastodon.social avatar

Anyway, next, I see if I can write Space Invaders in 48 hours

mcc,
@mcc@mastodon.social avatar

I have now created MINIMALIST BREAKOUT. No blocks. No balls. Just the paddle. No score display, you have to remember your score (it's always zero). What's that you say, this is boring? This is INDIE GAMING, you're not supposed to have fun you're supposed to have meaningful experience in which you contemplate the lonely futility of existence. The buzzing droning sound that plays continuously? That's "anxiety". It's a metaphor. Okay, game's done. I will not be holding a question and answer period

A red rectangle moves back and forth on a black screen

mcc,
@mcc@mastodon.social avatar

By the way, the glitch noises app from the previous video now has controls and it's incredibly cool, assuming you have my particular tastes in art and music. Will post more when I'm ready to post a download.

mcc,
@mcc@mastodon.social avatar

I have decided to abandon my attempts at ART and COMMUNICATING EMOTIONS and have embraced CRASS COMMERCIALISM by adding the ability to both win and lose to my "break out" style game for agg23's RISC-V core for the Analogue Pocket. It now has a win condition, a lose condition, music, and a "final boss". This was supposed to be a prototype for something much more complex but it's playable enough I think I will release it as sample code when the core leaves beta (after adding RNG and maybe a score)

A gray Analogue Pocket is picked up, and three unsuccessful plays of a "break out" style game are made.

thomasfuchs,
@thomasfuchs@hachyderm.io avatar

@mcc @bnys ACAB includes breakout clones

mcc,
@mcc@mastodon.social avatar

@thomasfuchs @bnys All Clones Are Breakout?

thomasfuchs,
@thomasfuchs@hachyderm.io avatar

@mcc @bnys 😂😂

allpurposemat,
@allpurposemat@mastodon.gamedev.place avatar

@mcc this looks so fun! Love following this series :)
Tempted to get an Analogue Pocket, seems really neat to dev on.
Also, the video loops so perfectly it caught me off-guard at first.

mcc,
@mcc@mastodon.social avatar

@allpurposemat It's not your easiest option for (I believe the Ambernic handhelds can just run normal linux executables) but developing for it is such an interesting learning experience, and there is so much potential (I want to make little 3D video cards in gateware that my Rust programs on the RISCV chip control…)

mcc,
@mcc@mastodon.social avatar

This post probably should have gone into this thread https://mastodon.social/@mcc/111492715891072804

Don't read that though, read the explanation on Cohost https://cohost.org/mcc/post/3702877-i-don-t-understand

mcc,
@mcc@mastodon.social avatar

Here is the C program I was trying to write. It doesn't really exist for any purpose except to be written in C. We didn't have a C program that drew graphics for the platform, so I wrote one.

FUNGUS
FUNGUS!!!
FUNGUS!!!!!!!!

mcc,
@mcc@mastodon.social avatar
mcc,
@mcc@mastodon.social avatar

This was supposed to be a simple, minimal demo app. All it was supposed to be doing was demonstrating how to access the video and sound registers in C. I got carried away. I got so carried away. I don't know how to say this without it sounding like a joke but I'm not really aware of time having passed over the last eight hours, I got consumed in bringing this Thing into the world. It's probably too complicated now to be accepted upstream as sample code. I regret nothing. It had to happen.

image/png
image/png
image/png

mcc,
@mcc@mastodon.social avatar

Forgot to link into my Pocket progress thread: I published four downloadable cores for Analogue Pocket at https://pocket.runhello.com

https://mastodon.social/@mcc/111541897074800389

mcc,
@mcc@mastodon.social avatar

Forgot to link into my Pocket progress thread: Using a new feature in Firmware 1.2, I can now create cores which have a different screen resolution depending on whether they are running in handheld or docked (TV) mode https://mastodon.social/@mcc/111592441309751932

mcc,
@mcc@mastodon.social avatar

So basically every step of this cellular toy project has been a process of writing bugs and then accidentally discovering the bugged version is more interesting than the thing I was trying to create on purpose

A series of flowing pyramids are interrupted by larger, blockier, flickering static pyramids

numist,
@numist@xoxo.zone avatar

@mcc oooh I can see glitch fractals catching on. What is that hardware?

mcc,
@mcc@mastodon.social avatar

@numist Analogue Pocket

mcc,
@mcc@mastodon.social avatar

So after many months of shipping difficulties I now have this Tang Nano 9k fpga dev board stick plus hardwired screen. Here's an Amaranth demo by @whitequark which I modified to make the little square move on it's own. Goal is to get my Pocket cores (https://pocket.runhello.com) in some kinda build infrastructure where they can all cross-build for either the Pocket or for this thing (and ideally also for the Colorlight board I've got).

White square moves across a screen

mcc,
@mcc@mastodon.social avatar

For the maybe one of you who is actually following my Pocket releases instead of just following my development pictures, I have a much improved version of Cellular Toy locally but I will probably wait until I've improved the sound (read: do something about the high pitched screeching it makes if you get it into the state where, by its current rules, it would make a high pitched screeching)

mcc,
@mcc@mastodon.social avatar

Offhanded end of week project: I wrote a demo drawing sprites (using art by Miguel Sternberg) in motion with double buffering on agg23's RISCV (LiteX) core for Analogue Pocket. A couple things are missing (the sprites don't individually animate and I haven't tested how many it can draw at once) but it's probably good sample code already. It's not trivial because this FPGA core was designed for utilities not games, so animation is done only by writing to framebuffers in RAM.

mcc,
@mcc@mastodon.social avatar

Okay hey, RLE compression is pretty good actually

mcc,
@mcc@mastodon.social avatar

Current "sprite animation on Analogue Pocket RISC-V utility core" project status: can now do about 16-17 sprites simultaneously plus smooth vertical scrolling with a simple background.

Next step: smooth vertical scrolling with a complex background, horizontal scrolling (this is impossible, BUT what I CAN do is rotate the entire screen 90 degrees clockwise and simultaneously switch to a framebuffer that looks the same but 90 degrees rotated counter-clockwise, so that vertical becomes horizontal)

Octopi and witches against a scrolling purple tile background

indrora,
@indrora@social.sdf.org avatar

@mcc ooh that's very neat.

I'm curious how the Analogue Pocket compares (hardware wise) to the FP-GBC (a full GBC clone on a Gowin FPGA that fits in an OG GBC shell that costs ~$150)

mcc,
@mcc@mastodon.social avatar

@indrora Pocket is a Cyclone V on the inside. Hard to say how that compares without knowing which Gowin FPGA

mcc,
@mcc@mastodon.social avatar

I did this big refactor last weekend where instead of unpacking the images into memory I kept them RLE encoded and drew the RLE directly to screen at draw time, which I thought would be faster because it would be reading less from memory and could skip transparent pixels totally, I even had a cool RLE damage system based on Regions from Mac OS 1, but this was SLOWER actually. Either I introduced too many branches in the hot loop or I broke an optimization where it was blitting whole 32 bit words

mcc,
@mcc@mastodon.social avatar

An update for anyone with an Analogue Pocket: I just updated my Pocket cores site:

https://pocket.runhello.com/

(4 cores here, none are on the main core inventory… yet)

There is now a new "beta3" version of Cellular Toy, it is a big improvement. It is now fullscreen in BOTH Dock and handheld aspect ratios and there are "Core Settings" (in the Analogue menu) for color schemes and access to all 256 elementary cellular automata (in beta 2 it was limited to four).

Upgrade with Pocket Sync or "zip".

Many triangles
Angled triangles
Strange fabric ticker-tape feeling

mcc,
@mcc@mastodon.social avatar

I'm not really sure how this happened but a couple hours ago instead of going to bed I started working on the scroll demo again.

This is… wrong… but it's actually pretty close to right… but it's far enough away from right it's convinced me I should go to bed instead of trying carefully thinking out the modular arithmetic here.

You might recognize this video as a less evocative version of the images from my thread here https://mastodon.social/@mcc/112141103375777088 "less evocative" coincides with "closer to correct"

A scrolling screen where witches and octopi bounce back and forth over a grid of squares streaked with diagonal lines. By the way the witch and octopus sprites are by Miguel Sternberg. I ran out of room to say that in the post.

mcc,
@mcc@mastodon.social avatar

OK, I don't know why I seem to be unable to work on this project except at times I specifically should be sleeping, but

I did it!! Using nothing but an underpowered CPU and the ability to relocate the framebuffer pointer, I can do infinite scrolling in 1 dimension through an endlessly autogenerated space (or like, I could pull a "level design" from a file, too). If you look upthread I stated this as my "next step" 42 days ago. (I only poke at this occasionally.) Next: 2 dimensions (alternating)

Witches and octopi (drawn by Miguel Sternberg) over a candy colored sky by a gray tower

mcc,
@mcc@mastodon.social avatar

Update: 2 dimensional scrolling was a bust because it turns out Analogue Pocket currently draws the screen fully black for two full frames every time you change scaler modes, so rotating the screen can't be done as part of a smooth animation.

So, 1 month belated, here is the open source release of the demo in the previous post (plus an experimental cargo feature to set scaler modes):

https://github.com/mcclure/pocket-riscv-rs/tree/scrolltest

Useful sample code for all zero of you who are writing Rust games for embedded RISC-V.

mcc,
@mcc@mastodon.social avatar

I think I can still get 2D scrolling if I can convince litex to use a separate number for "byte distance between framebuffer rows" than it does from "width of each row", but (like the vsync bug separately making me miserable) to make this simple change I'm going to have to make sense of the dense, uncommented blob that is the litex codebase.

So that said uh if anyone reading this knows anything about the framebuffer/"vga" code in Litex mimes a "call me" motion text me

mcc,
@mcc@mastodon.social avatar
Catawu,
@Catawu@mastodon.social avatar

@mcc Now, invent the fly swatter that ends it!

leona,
@leona@mastodon.social avatar

@mcc JP voicebarks included for scale

mcc,
@mcc@mastodon.social avatar

If anyone's wondering: Yes, this is going perfectly well, thanks for asking

Spaceship + slug trails
Ibid.
Ibid.

mcc,
@mcc@mastodon.social avatar

Spaceship can free fly with scrolling backgrounds and other sprites in the environment. Would you believe this core as configured can only scroll within an area 24 pixels wider and taller than the visible area? 100% of the fun in writing this is that everything is so much more difficult than it needs to be…

Please excuse the messy desk. And the horrifying vsync tear issue, that is LiteX's fault.

Spaceship zooming around harassed by purple squids

WAHa_06x36,
@WAHa_06x36@mastodon.social avatar

@mcc Oh man that is cool!

mcc,
@mcc@mastodon.social avatar

@WAHa_06x36 both horizontal and vertical scrolling are done exclusively by moving the framebuffer DMA pointer, lol

WAHa_06x36,
@WAHa_06x36@mastodon.social avatar

@mcc Abusing DMA is the truest form of graphics programming. https://m.pouet.net/prod.php?which=61197 runs almost entirely on DMAing to a single GPIO register.

mcc,
@mcc@mastodon.social avatar

Current status: Added semitransparent shadows and I really like how they look. This'll look great once I have a better tile texture.

A very satisfying moment was when I realized you can cheaply darken an RGB565 pixel by just saying screen[idx] = (screen[idx] >> 1) & 0b0111101111101111;. Is this SIMD lol

mcc,
@mcc@mastodon.social avatar

Very excited as I've just figured out the reason why previous attempts to optimize my Pocket sprite drawing code actually made it slower, is because modulo is extremely slow on this vexriscv softCPU. This is SO unsurprising in retrospect but I hadn't realized it until now. Already getting significant speedups with minor tweaks and I think I can get even more.

I got too used to the "nothing is slow except branches and cache misses" era of CPUs. I was seduced by the decadence of the modern world!

TomF,
@TomF@mastodon.gamedev.place avatar

@mcc Haha! Welcome to my brain circa 1990:

Multiplies and shifts are EXPENSIVE. Lookup tables are your friend.

Divides - staaahp. No literally, they make the machine stop. Do absolutely everything in your power to avoid them. Lookup tables are your SAVIOUR.

Branches? 4 clocks just like everything else. Why do you ask?

Wait what's a "cache"?

mcc,
@mcc@mastodon.social avatar

@TomF I was excited that I would be able to outperform other cores on the platform by drawing NPOT sized sprites and textures but maybe I'm gonna get locked into power of two sizes after all.

mcc,
@mcc@mastodon.social avatar

Okay so I'm not going to bother to take a video, I'm not even going to bother to take a proper screenshot, but:

So I've now implemented spawning bullets when you press Y, but I haven't yet implemented the code to make the bullets move at their current velocity from frame to frame, so you're just zooming around dropping bullets which hang there endlessly, which you'll have to take my word for it is pretty funny

shanecelis,
@shanecelis@mastodon.gamedev.place avatar

@mcc Nice shadows!

You know I got me one of them FPGAboys, but I haven't delved into it yet. I was arrested by an idea though. I had read about posits as an alternative to floats and thought, "Cool. Maybe in ten years they'll be available in hardware," then put it out of my mind. But with FPGAs it would seem possible to build your own posits.

Anyway just an idle thought. Love seeing your actual work running on the Analogue Pocket.

https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/posits/#:~:text=Whereas%20positive%20and%20negative%20infinity,of%20such%20unclean%20special%20values.

mcc,
@mcc@mastodon.social avatar

@shanecelis Right now I'm in this awkward position where I can EITHER

  • Make my own FPGA code which is 100% by me and 100% all as I want it
  • Run real Rust code on a full-stack CPU core somebody else made

But I'm not at the point yet where I can write Rust code and have it running on a CPU with extension instructions (like posit support) I invented or registers with fully custom behaviors I define (like a FPGA sprite drawing unit). I'm really looking forward to that point!

shanecelis,
@shanecelis@mastodon.gamedev.place avatar

@mcc What cool problems you have. :D

mcc,
@mcc@mastodon.social avatar

@shanecelis Well at some point I will have to address the problem of "I have no path to connecting this to anything I can make money from, but it's time consuming enough eventually it may get hard to do much of it unless I can find such a path" which is less fun. But for now I'm ignoring it!

sloot,
@sloot@tiny.tilde.website avatar

@mcc
Dropping turds?

mcc,
@mcc@mastodon.social avatar

@sloot well I'd prefer to think of it any way than that, but

lunarood,
@lunarood@mastodon.gamedev.place avatar

@mcc unrelated, but I genuinely always love seeing your signature weeks old nail polish! I, too, dislike acetone. It's nice to see some representation in the wild 🥰

mcc,
@mcc@mastodon.social avatar

@lunarood haha, unfortunately I would prefer to have my nails always replenished but I'm easily distracted

crzwdjk,
@crzwdjk@mastodon.social avatar

@mcc The term for the offset between rows is stride, in case that helps your searching through the code.

lackattack,
@lackattack@mastodon.social avatar

@mcc is this on xbox live? thx

sideshow_jim,
@sideshow_jim@mastodon.world avatar

@mcc "Bricks", "Ball", "Score" soon available as DLC!

swetland,
@swetland@chaos.social avatar

@mcc This looks like a ton of fun. I managed to order one from their latest small batch yesterday and am excited to poke at the FPGA side of things.

Out of curiosity, do you know if anyone has a command-line workflow for driving the Altera tools when building for Pocket?

I'm familiar with driving Vivado with Makefiles and TCL scripts, but it's been much longer since I last dealt with Quartus.

mcc,
@mcc@mastodon.social avatar

@swetland Yes, I kick off builds on my system with

/path/to/install/intelFPGA_lite/22.1std/quartus/bin64/quartus_sh.exe --flow compile ap_core

and I just got that from another user, so there's Knowledge around. And I believe you can script quartus via tcl just like you can with Vivado. I recommend joining the FPGAming discord, they have Mame and Pocket sections and the Pocket section has several hardcore quartus users

codecat,

@mcc this is such a cool device!! Wish it wasn’t out of stock :(

mcc,
@mcc@mastodon.social avatar

@codecat I think once they're done with this set of special edition colors they'll go back to letting you pre order the basic colors at least

0xabad1dea,

@mcc “no, I didn’t program it to display Rick Astley. There’s no data for a Rick Astley image anywhere in the rom. I tried reducing the program to a single return statement and it’s still displaying Rick Astley”

mcc,
@mcc@mastodon.social avatar

@0xabad1dea "the 200 hz tone though, that was intentional"

tucanae47,

@mcc Hello :) was wondering is there a way to load your own code without the devkit or key? i applied to get the devkit but no answer so far

mcc,
@mcc@mastodon.social avatar

@tucanae47 Hello,

Yes, it is easy to build and compile your own cores with nothing but the retail Pocket unit and the same USB-C cable you use to install any third party core. Before I answer though can you indicate what language you believe you'll be writing the code in, and do you understand the difference between C and Verilog?

mcc,
@mcc@mastodon.social avatar

@tucanae47 The short version is to read "Overview" and "Getting Started" here https://www.analogue.co/developer/docs

Once you understand that, bookmark the wiki at https://github.com/agg23/analogue-pocket-utils (consider using agg's https://github.com/agg23/openfpga-template instead of analogue's version of the template, it's cleaner), and also https://openfpgatutorials.org/ (didier has some good sample code), and join the FPGAming discord.

The developer key is unnecessary, so is the devkit. You may find it helpful to buy the Terasic Blaster peripheral tho

mcc,
@mcc@mastodon.social avatar

@tucanae47 I may write some beginner-focused tutorials first.

tucanae47,

@mcc Oh to be honest i got one pocket to test and learn stuff you are doing in Amaranth 😅 and eventually be able to help. and to answer your question yeah i know my way around with verilog and c. did some basic stuff in Amaranth before also, want to make it a permanent tool at my job, but dont feel confident enough yet.

mcc,
@mcc@mastodon.social avatar

@tucanae47 ohh then you're in a good position. if you want to try something in amaranth, try the instructions in README here https://github.com/mcclure/analogue-core-template-amaranth/tree/cellular-toy

This is all in flux, whitequark had a template but she temporarily took it down, my template's main branch is out of date. Soon there will be a better template and I will have a semi-tutorial about amaranth on pocket.

Note no one on FPGAming knows about amaranth, the only people who have gone that route are me and whitequark.

mcc,
@mcc@mastodon.social avatar

@tucanae47 the branches that work well in that link are branch cellular-toy or control-test

Leebenningfield,
@Leebenningfield@mastodon.social avatar

@mcc I haven't been paying any attention to the openFPGA scene, I'm mostly using my Pocket to play carts I already own, but I'm excited to see development on it beyond just emulating other consoles

jepyang,
@jepyang@wandering.shop avatar

@mcc This is so ridiculously cool!

mary,

@mcc did they also send the JTAG easy access rear cover (or a new Pocket)? I want to play with my Pocket FPGA but don’t want to unscrew the back all the time (plus worry about bricking it with a bad Core, although I would imagine that’s very unlikely)

crzwdjk,
@crzwdjk@mastodon.social avatar

@mcc @whitequark Amaranth makes life so much easier in so many ways. Btw how does the data get sent to the screen?

whitequark,
@whitequark@mastodon.social avatar

@crzwdjk @mcc we decided to not reimplement the Verilog harness because it had a bunch of weird code with no testbenches or debug interfaces that the console requires to run

in practice, it's sliced in two and written to the scaler by a ddio megafunction

gkrnours,
@gkrnours@mastodon.gamedev.place avatar

@mcc for the joke, I would suggest hashtag FAE

dpc2,
@dpc2@hachyderm.io avatar

@mcc Holy shit, this is so rad and now I want one SO FREAKIN BAD. FPGA Game Boy 😤✊️

benjohn,

@mcc like, the two middle characters are the same though, so I count that as a success!

linuxlizard,
@linuxlizard@twit.social avatar

@mcc The first time my own beginner Verilog ran on a simple FPGA (Digilent board) and blinked some LEDs, I jumped around the room in happiness.

mcc,
@mcc@mastodon.social avatar

@linuxlizard yeah! I did the LED thing last month and it was really satisfying: https://cohost.org/mcc/post/2499788-my-first-fpga-project

This is so visceral tho!

gureito,
@gureito@peoplemaking.games avatar

@mcc ohh... from your firs posts i though it was just a retro-thing emulating the gameboy. that would be quite neat already, but it's a nicely packaged FPGA? 😲😳

mcc,
@mcc@mastodon.social avatar

@gureito it is an FPGA and one FPGA netlist you can run emulates the Game Boy in gateware

zzt,
@zzt@mas.to avatar

@mcc the proprietary toolchains drive me insane, but FPGAs are so much fun to work with otherwise!

pezillionaire,
@pezillionaire@mastodon.social avatar

@mcc Yo @didier Check it out!

didier,
@didier@malenfant.net avatar

@mcc thats the first sample that truly blew my mind when I started learning. The star field expecially, all generated from one clock signal… hardware is crazy… enjoy and don’t hesitate to ask I can help with anything.

mcc,
@mcc@mastodon.social avatar

@didier thank you!! Actually I did have one question in dev-talk https://discord.com/channels/834264850230018058/1018959657244577813/1149095886744461382

Has anyone tried to use / are there plans to support pf dev tools on systems where Quartus Lite is running natively rather than in Docker?

didier,
@didier@malenfant.net avatar

@mcc funny you mention it. It’s on my todo list (https://didier.malenfant.net/plan) I’ll see if I can put something out today because it’s been bugging me on Windows too.

mcc,
@mcc@mastodon.social avatar

@didier Cool! I'm not sure yet if I'm going to be primarily using this (I'm also looking at another toolchain), but it would definitely be useful to have pf-dev-tools in my toolbox.

didier,
@didier@malenfant.net avatar

@mcc well like I said if I can be of any help don’t hesitate to ask me directly on here.

mcc,
@mcc@mastodon.social avatar

@didier I'll keep that in mind, thank you! And thanks for the super cool example projects :) Don't know if you saw but I made a minor mod of the starfield demo to prove I could: https://mastodon.social/@mcc/111021749800302023

didier,
@didier@malenfant.net avatar

@mcc looks awesome! Did you take your back panel off to plug in the usb blaster?

mcc,
@mcc@mastodon.social avatar

@didier Yeah! I was really nervous about how to balance it with the back off lol

didier,
@didier@malenfant.net avatar

@mcc someone should 3D print a run of backs with a trapdoor. The dev pocket has that and it’s super handy.

Crito,

@mcc @didier
Wait, that's not the Starfield I was looking for...

I thought you had modded a demo for the game Starfield 😆

mcc,
@mcc@mastodon.social avatar

@didier Actually! I just remembered, I had a second question.
I tried running your 04_fullres example, and it looks like this (1)

This was with me having to create the json file by hand (due to the pf-dev-tools problem); I converted (2) in the toml to (3) in the json

Does any of this look surprising?
Do you think something went wrong because pf-dev-tools didn't finish running?
Could there be an error in the sample as checked in?

image/png
image/png

didier,
@didier@malenfant.net avatar

@mcc that reminds me I should add screenshots of the samples in the readme.

This looks ok to me at first glance. What did you expect to be different? And what problems are you having with pf-dev-tools?

didier,
@didier@malenfant.net avatar

@mcc ok screenshots are in. Let me know if yours look any different.

mcc,
@mcc@mastodon.social avatar

@didier Okay. Great. Then what I'm seeing is exactly what I should expect.

I expected the square to fill the screen, but not for any specific reason, I just guessed.

And the problem I was having with pf-dev-tools was that when I ran pf make it would copy the files into the quartus project, but couldn't run it because it couldn't contact docker (because as described above I don't use docker for quartus on this machine)

didier,
@didier@malenfant.net avatar

@mcc cool!

Next version of the tools have a ‘native’ Quartus option now. I’m using it on my Linux machine right now.

mcc,
@mcc@mastodon.social avatar

@didier Ah, neat! Maybe I'll have a use for those when they're ready.

didier,
@didier@malenfant.net avatar

@mcc it is so much easier than juggling with all the JSON.

didier,
@didier@malenfant.net avatar

@mcc (and I’m not reliably on Discord so better ask here or on the Discussions group for tutorials on GitHub).

Tathar,

@mcc

Now I want this. I could do so much with it.

Tathar,

@mcc

I think I want to apply for a dev kit now.

mcc,
@mcc@mastodon.social avatar

@Tathar Good luck and if you succeed tell me how it went lol

Tathar,

@mcc

Trying really hard not to encourage my university's IEEE chapter to monopolize the dev kits so we could host a demoscene competition lol

mcc,
@mcc@mastodon.social avatar

@Tathar You don't strictly need the dev kit! I don't have one. It's not needed for installing custom cores, though I think it would save significant time and inconvenience when casually debugging one.

Tathar,

@mcc

I mean, the regular pockets are all out of stock, and I'm way more interested in using it for development than playing anyway.

lambdageek, (edited )
@lambdageek@mastodon.social avatar

@mcc wait wait you didn't have to bootup a Win7 machine and run some Win32 program with one of those 20th century grey 3d UIs that is like 5 buttons 20 check boxes and a multi line textbox "output window" with interactions disabled to prevent input, but also that doesn't let you select text to copy to a clipboard?

What kind of hardware hacking is THAT?

mcc,
@mcc@mastodon.social avatar

@lambdageek if it helps, it's a Windows 10 program which, if I understood the installer correctly, runs partially inside of Windows Services for Linux

leo,
@leo@60228.dev avatar

@mcc @lambdageek i recall there being a xilinx tool that runs in cygwin on windows and in wine on linux

mcc,
@mcc@mastodon.social avatar

@leo @lambdageek full body shiver

mcc,
@mcc@mastodon.social avatar

@lambdageek Also some of the ancillary third party tools don't work because they assume you're invoking them on Mac OS , and running the Linux version of the Windows 10 program inside Docker

lambdageek,
@lambdageek@mastodon.social avatar

@mcc oh yes. Now this is pod racing...

faoluin,
@faoluin@chitter.xyz avatar
jonathon,

@mcc Not Atomic Purple enough.

(I know, Analogue doesn't make that. But they should.)

mcc,
@mcc@mastodon.social avatar

@jonathon Well, they introduced a glow in the dark model last week (this is not a joke) so if you contact them maybe they'll go for it

pry,
@pry@raru.re avatar

@mcc !!! that looks awesome

livingcoder,

@mcc I'm happy for you and jealous. I wish I had a clone that could delve into this.

radu,

@mcc soo that's what mcc stands for. Makes sense

mcc,
@mcc@mastodon.social avatar

@radu It is, indeed, what mcc stands for

gkrnours,
@gkrnours@mastodon.gamedev.place avatar

@mcc I guess these extra 10 seconds to add a dock, a case and a cable to your order costed you 4 months of wait time :x

pem,

@mcc nice! I was looking at these devices a month or two ago. the screen on the analogue pocket looks amazing, but eventually I decided to cheap out and get a miyoo mini plus. FPGAs are much cooler though.

bobayaga,
@bobayaga@blahaj.social avatar

@mcc Nice. I finally got the last chance to cancel or change your address order email last week, so hopefully mine's soon.

xgranade,
@xgranade@wandering.shop avatar

@mcc Oh sweet!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • kavyap
  • thenastyranch
  • Durango
  • DreamBathrooms
  • ngwrru68w68
  • magazineikmin
  • cisconetworking
  • Youngstown
  • mdbf
  • slotface
  • osvaldo12
  • GTA5RPClips
  • rosin
  • InstantRegret
  • provamag3
  • everett
  • cubers
  • vwfavf
  • normalnudes
  • tacticalgear
  • tester
  • ethstaker
  • khanakhh
  • modclub
  • Leos
  • anitta
  • megavids
  • JUstTest
  • All magazines