whitequark[cis] changed the topic of #amaranth-lang to: Amaranth hardware definition language · weekly meetings: Amaranth each Mon 1700 UTC, Amaranth SoC each Fri 1700 UTC · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
notgull has joined #amaranth-lang
<_whitenotifier> [yosys] whitequark created branch develop-0.35 - https://github.com/YoWASP/yosys
cr1901_ has joined #amaranth-lang
lf has quit [Ping timeout: 245 seconds]
cr1901 has quit [Ping timeout: 248 seconds]
lf has joined #amaranth-lang
GenTooMan has quit [Ping timeout: 272 seconds]
GenTooMan has joined #amaranth-lang
jjsuperpower has joined #amaranth-lang
<_whitenotifier> [yosys] whitequark created branch release-0.35 - https://github.com/YoWASP/yosys
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 255 seconds]
Degi_ is now known as Degi
<tpw_rules> nor trying to advise others
jjsuperpower has quit [Ping timeout: 255 seconds]
notgull has quit [Ping timeout: 264 seconds]
notgull has joined #amaranth-lang
notgull has quit [Ping timeout: 272 seconds]
notgull has joined #amaranth-lang
sauce has quit [Server closed connection]
sauce has joined #amaranth-lang
skipwich has quit [Ping timeout: 252 seconds]
skipwich has joined #amaranth-lang
skipwich has quit [Ping timeout: 245 seconds]
skipwich has joined #amaranth-lang
skipwich has quit [Ping timeout: 245 seconds]
skipwich has joined #amaranth-lang
skipwich has quit [Ping timeout: 252 seconds]
skipwich has joined #amaranth-lang
notgull has quit [Ping timeout: 240 seconds]
notgull has joined #amaranth-lang
notgull has quit [Ping timeout: 240 seconds]
notgull has joined #amaranth-lang
balrog has quit [Quit: Bye]
balrog has joined #amaranth-lang
richlatticefae[m has joined #amaranth-lang
<richlatticefae[m> Everyone needs to start somewhere. But if an emulator is a popular path then it makes it much easer to teach. Especially since we can basically teach the same subject the same way for many new students and enthusiasts.
<galibert[m]> richlatticefae: in theory yes. In practice, emulators for anything real tends to require understanding things at a rather low level. Unless you play lego box, I guess, which is sane given all the cores available everywhere
nelgau has quit [Read error: Connection reset by peer]
nelgau has joined #amaranth-lang
<mcc111[m]> If someone was new to programming and decided they wanted to write an emulator, I'd tell them to implement a uxn interpreter.
<mcc111[m]> That's a "fantasy console" / toy stack language machine that has a number of games and small useful productivity apps written in it, and it's designed to be easy to implement over all other considerations.
nelgau has quit [Ping timeout: 255 seconds]
<crzwdjk> I did try to write an emulator when I was still relatively new to programming, though I didn't get very far. Basically I was making dosbox before dosbox actually existed. uxn seems more fun and easier to actually complete.
<crzwdjk> Are there any FPGA implementations of uxn? Seems like an idea that people would try to have a go at.
<mcc111[m]> One person on Mastodon is writing an Analogue Pocket version in PipelineC and it can already run several roms!
<mcc111[m]> I was going to try, but now I've been beat to it, so maybe I'll try Pico-8 instead :P (this is probably doomed to failure but maybe I'll try.)
nelgau has joined #amaranth-lang
<crzwdjk> Is Pico-8 written in Lua or is there some kind of bytecode?
nelgau has quit [Read error: Connection reset by peer]
nelgau has joined #amaranth-lang
<galibert[m]> Chip-8 tends to be popular with emulation writing beginners
notgull has quit [Ping timeout: 255 seconds]
notgull has joined #amaranth-lang
<mcc111[m]> <crzwdjk> "Is Pico-8 written in Lua or is..." <- I'm not actually sure. Lua does have a formal bytecode I think? But there's more than one lua standard and also I think PICO-8 slightly tweaks the lua standard (for example I think it does fixed-point math)
duskwuff[m] has joined #amaranth-lang
<duskwuff[m]> probably worth mentioning that CHIP-8 has some opcodes which are unpleasant to implement in hardware (e.g. clear screen, draw sprite, wait for keypress)
<duskwuff[m]> not that it can't be done, but it is awkward.
<galibert[m]> yeah, chip-8 feels not really representative of emulation of existing hardware
<galibert[m]> but as long as people have fun, who cares :-)
skipwich has quit [Ping timeout: 264 seconds]
<mcc111[m]> <duskwuff[m]> "probably worth mentioning that..." <- Yeah, I was told by the person who's done most of the MiSTER->Pocket ports that pico-8's been looked at and it's probably not viable on the Cyclone V. Yet I daydream :P
<galibert[m]> why, memory management?
<galibert[m]> I'm surprised though, a riscv core fits without issue on a number of cyclonev
<galibert[m]> and that can run lua (anything can run lua, almost)
<mcc111[m]> well, his reasoning was that existing software implementations struggle to run on an ESP32, which is a higher clock rate than any Cyclone V softcpu will be
<galibert[m]> well, cpus are very very bad at implementing interpreters
<mcc111[m]> and i'm thinking "well maybe that can be countered by offloading some of the software implementation's work into hardware" but whether that works will be situational
<galibert[m]> a cyclone V can, I think, easily run a 50-100MHz 6502. A software equivalent would need somewhere around 1-2GHz
<mcc111[m]> galibert[m]: agg23 is like thiiiis [fingers close together gesture] close to releasing a basic general-purpose riscv core for the pocket and it sounds like it uses encouragingly little of the fpga area
<richlatticefae[m> Yeah I get it. But when we pile on I want a drone flight controller on fpga, and I want a 3d printer on fpga, and I wand an automatic daytraiding platform on fpga. A video game doesn't seem that bad.
<duskwuff[m]> CHIP-8 ≠ PICO-8, I know it's confusing
<duskwuff[m]> CHIP-8 is a bytecode interpreter and is probably *possible* to implement on an FPGA, just annoying, PICO-8 is the one that's Lua and would probably be happier on a generic soft core
<galibert[m]> cpus are bad at interpretation, really
josuah has joined #amaranth-lang
skipwich has joined #amaranth-lang
josuah has quit [Quit: nyaa~]
josuah has joined #amaranth-lang
<mcc111[m]> <richlatticefae[m> "Yeah I get it. But when we..." <- Incidentally, I am probably going to make a theremin on the Analogue pocket's FPGA. This is not a joke, and unlike my other wild ideas, I think this one will actually work
<galibert[m]> define theremin in that context?
<mcc111[m]> it turns out that when the game boy cartridge pins have nothing plugged into them, they will flutter between 0 and 1 in a way influenced by nearby electric fields, such as that naturally emitted by the human body
<mcc111[m]> * when the Pocket's game boy
<galibert[m]> aren't they going to be swamped by the electric fields emitted by the pocket itself?
<richlatticefae[m> You might be able to play the same game with the machx02 pico board. It has a set or touch pad built into the PCb
nelgau has quit [Read error: Connection reset by peer]
nelgau has joined #amaranth-lang