Right. Me too. Definitely looking forward to exploring the PiStorm some more. Also, now it's going to be really interesting to compare it to TheAmiga or whatever it's called since I suspect there will be a fair amount of overlap.
I do like projects like this: CPU emulation is the sweet spot for emulation as it's much easier to do reliably than the custom hardware. And the custom hardware is really the soul of the machine, so if you keep that, you haven't crossed the line to essentially using an emulator.
Have you seen FPGA solutions? They blur the line even more! Long/short, FPGAs are chips that can be programmed to be other chips! Check out the MisTeR project.
@@mattsword41 But to what end? Nostalgia? That won’t be enough in the long term. Every chip dies someday. That’s why FPGAs are so vital. Tick for tick, perfect replication, not emulation. Hey, your grandkids might cook up their own 6502s in the basement for a science project someday. Think about that. Lol!
@@CandyGramForMongo_ hehe. i guess a bit for nostalgia, a bit for fun and a bit for preservation ;) But as you point out, eventually, nostalgia will go as we all get too old!
You can enable a shared folder in the PiStorm's config file which contains the Amiga GUI program that controls the PiStorm, this has a shutdown button for the Pi on it. You showed it earlier in the video at 11:47 . There's also the pi command in the Amiga console which can do the same thing with "sudo shutdown -h now" shown at 10:56 . :)
@@elmariachi5133 Emu68 does not need to emulate fastram. It is just using almost all available raspi memory on your amiga. On RasPi 3A you will have at least 200MB of available memory (or more, I don't remember)
I picked up a PiStorm on one of the very earliest batches, beat my head against a wall for days getting it to work (it was early days and almost no doco). But I haven’t really touched it since. Might have to pull it out again relook at the install - that image seems to make thing a lot easier.
The issue with the editor might be solvable by setting the TERM environment variable to something that works with the Amiga's console. There's a good chance there's a termcap file that could work. It's either that, or resort to ed, which isn't too bad if you're already comfortable with vi, but isn't ideal!
Ah, good point. I'll check it out. To be honest I didn't try to solve it since I was all set up with the ssh, but it would be ideal to fix that (although the first time you set up something that doesn't work you'll need to use ssh anyway since the Amiga won't boot up).
Its pretty impressive that a software emulation on separate hardware can run precisely enough to fully replace a 68000 on a board. I mean the timing has to be pretty accurate right for it all to work together!
True! I didn't get into that, but I suspect it's because the Pi is just so fast. It's like an emulator on a PC that can run in real time for the machine it's emulating. So the Pi can do everything it needs to do and then is synchronized with the next clock signal it gets from the board. Although thinking about it, it needs to be ignoring that signal to run a the speed it does, so it just needs to respond to the other control signals quickly enough. But yes, no doubt it's tricky!
Well, that's kind of a problem. If the Pi Storm is only able to emulate the 68020 and higher, that means it's not doing cycle-exact emulation, and probably is not emulating the supervisor stack calls, either. That will usually run Workbench applications fine, but cause all kinds of problems with games that bypass the OS. The biggest reason why games fail on AGA Amigas has nothing to do with the newer chipset or even the ROM. It's the exception stack format on 68010+ CPUs that games don't like. Some games will only run on a stock 68000. That's something to consider before upgrading to any kind of accelerator, whether it's based on emulation or real hardware.
It seems the Emu68 project gets overlooked a bit. Let me explain. Emu68 is a bare metal CPU emulator. It does not use linux. It boots in seconds almost as fast as a normal Amiga would. It can do RTG it also has a HDD emulator and it gives you even more speed, we are talking vampire like speeds here or 830 mips in sysinfo. The development speed of this project is amazing Michal Schulz is doing a incredible job here. Also remember that the pi-storm interface (the board between the Amiga and the PI) can not do the 3.5 mb p/s speeds yet and that games that need full bandwidth will not work correctly, but they are working on it. Checkout the pistorm discord server or visit Michal's patreon! About having a raspberry pi in your amiga. Back in the day there were 060 cards with SCSI and RTG and lots of memory. This is more or less the same.
I'll be honest dude, when I first saw the title I thought "oh, not another video about this" but then watched it all. You have a knack for making anything more interesting.
Right at 11:55 you can see the button to shutdown the pi on the bottom left corner of the panel. There's even a CLI command to do it. Just like you had to Park hard drive heads back in the day
About shutting down, usually this kind of linux distros have the system on a read-only file system, and the user data and config files on a file system without write cache. That way, unless you turn off the Pi right while writing a file, the chances of corrupting the system are very low. But I don't know if that's the case.
Great that you managed to get the video online. The PiStorm is great and there is that (virtual) struggle if it is still an real Amiga or not. I prefer to think that it is. Great video with some interesting points I haven't seen anywhere else.
Thanks! Yes, it's quite an interesting project. And I'm loving that there are different options for different people: original systems, PiStorm, expensive accelerators, high-end Amigas, full FPGA solutions, fancy emulations like TheAmiga, etc, etc. Lots of choose from!
It's quite amazing how far one can make old retro go with some modern help. I'd love to see this device adapted to the likes of an Atari ST or even an Atari Jaguar and possibly a Sinclair QL. Even an X68000 might benefit as well. The reason you don't get any faster speed out of some of those other 2D games is because they are usually tied to the vertical blank...which makes sense.
The PiStorm should work (and welcomes developers for!) ST, X68k and Mac too. QL would be interesting - the 68008 has a cut down address bus that would need adaptation, but in a “this is easier!” way!
@@JaimieVandenbergh The real question is, has anyone written the necessary firmware for any of these. The QL would require a reduced bus fix. For the Jaguar the gerbers would need to be adapted for a different 68000 package which would be a 68 pin QFP(?).
@@GORF_EMPIRE Mac Plus has been booted from floppy. ST requires some signalling that the current firmware doesn't yet support, planned for the nearish future. QL I don't believe anyone has looked at it. X68k has been bought but not yet meddled with :)
I built a couple PiStorm boards. It was actually good fun. Ive had other Amiga accelerators in the past, they're a mixed bag. PiStorm is just brilliant, a nice mash of old and new.
You don't need a baremetal implementation for the power off problem, you can put the linux system in stateless mode, where it won't change any files in the filesystem while running. The downside it, is that if you want to change a core feature you have to change it to stateful, reboot, change it back to stateless, reboot. For images and files you can easily use a extra partition on the SD that isn't read only
This is something the project can work around. You can keep the root filesystem in read only mode and have a RAM based scratch partition for /tmp. To make onboard application changes permanent I imagine you would keep a separate partition mounted read only, then remount r/w long enough to write changes, then remount read only afterwards. It's cumbersome but if they created an API for the onboard apps it could be transparent to each app. Again, just a matter of time and skill.
I have a Amiga A1200 with a ACA1221EC accelerator. I like that it is not a FPGA and using a Motorola CPU to do the acceleration. But then the PiStorm came along and I just had to get one for my A500. The PiStorm is a lot of fun to create a punk hotrod A500 Amiga.
Being a fan of the Raspberry Pi, I love what's being done here that's not simply yet another retropie build but actually using the Pi's hardware to boost the Amiga. I'd buy one presoldered too, if it weren't for the lack of an Amiga computer. Sadly those are rather expensive these days or rather stay stable in price :/
Paid to buy retro computers years ago. You could get Amigas for almost free. But now yes it's hundreds and hundreds. Years ago the average person could have a large collection. Now you'd probably be best to stick to a couple of computers. I consider myself lucky
To me, other than networking and RTG functions, this does nothing more than a traditional Amiga accelerator card does like the ACA500+, HC508, GVP hard drive/accelerator combo, etc. It doesn't take over virtually the whole machine like a Vampire does. Paula still pumps out 8-bit 4 channel audio. Gary and the CIA chips still handle the floppy drive, rear ports, etc. Fat Agnus is still handles Chip RAM and other stuff. Denise still gives you 15khz low and hi-res interlaced and non-interlaced screen modes. And it will only get better when newer RasPi's are released. I just don't use mine all that often because my Pi 3A gets super hot in use and I don't want to burn anything up.
this is partly true and partly not true. It delivers RTG graphics, network and hard drive emulation. It lacks AGA and anything else. Judging by the possibilities of the raspberry universe and the development of emu86 there ist actually no demand for more performance. btw. Important points are the price and availability of the product. EURO 589,- can't compete, especially when always on back order.
@@LoosLas - I am not arguing against the PiStorm, I see that I was unclear about that and I apologize. "there ist actually no demand for more performance" - huh??? I for one would LOVE to see a native Amiga web browser that can handle CSS/Javascript/HTML5, Amiga video streaming software, Amiga video editing software, more ports of older 3D PC games, new Amiga 3D games, etc. etc. We just need new software to take advantage of all the new accelerators that are hitting the market.
Yes, have you seen the benchmarks using emu68 running on a rpi3? Quite stunning. And rpi 4 is yet to come. What I meant by my comment was that we did not reach the end of the line because Claude Schwarz and Michel Schulz are doing a great job. So we actually don't need more performance ATM, because we didn't reach the limit yet.
@@LoosLas Ahhh, ok, gotcha! I agree with you, the performance is only going to get better from here, and I can't wait to see what's coming up in 2022. Never thought these machines would see a new life and some new hardware, it's amazing. :)
I had basic knowledge of the Pistorm, but your video has been outrageously educational, and I have been able to understand the advantages and the mechanisms in a very simple way. Thanks a lot
You said you don't like the idea of an FPGA emulating the whole system. Well, FPGAs do not emulate, they mimic. Essentially an FPGA set up to mimic all the chips in a computer system is just shrinking that system down in size. More specifically it's like combining the multiple chips into one including all the connections between them. It's not a new concept either, we saw this happen already in the 80's with the Sinclair ZX Spectrum 48K machine. They combined all the logic chips into one and called it the ULA to cut costs. The only difference between the ULA and an FPGA is an FPGA chip needs to be configured every time it's powered up, the logic is not hard coded like in the ULA chip. The custom chips in an Amiga are also similar to the ULA, they are a reduction of multiple chips and circuits into custom made chips, the original prototypes of the Amiga were on multiple boards because those chips were not created yet. FPGA chips do the same thing, it's just they are reconfigurable instead of being fixed hardware. You could also combine all the functions of all the custom chips into one larger FPGA chip! Go one step further and include the CPU into the FPGA and you have the complete system all on the one chip, just as you get with systems like MiSTer! So you see, it's not emulation, it's copied miniaturized hardware, just not permanent. 🙂
Funny thing about that. ULA and "Gate Array" are two different terms for the same thing (supposedly, Ferranti trademarked the ULA acronym), and FPGA is short for "Field Programmable Gate Array", so an FPGA is literally a "Field-Programmable ULA".
This is probably the best and most concise overview of pistorm to date and I’m happy to point anyone with curiosity about the project here. Great work.
With a journalling filesystem like ext4fs, there's almost no risk of corrupting things by losing power. Worst case, you might lose some recent writes, but the filesystem and the configuration should be fine.
@@overdriver99 A future feature could be to lock the SD card file systems and move working files to ram-disk. You can then toggle read only mode to allow the settings to be changed and then back to prevent SD card issues. Some fun and games needed if you want to emulate a disk drive, maybe created a separate partition that is not read only for that.
As long as the program writes to files in an atomic way, e.g. writing new settings to a fresh file, then replacing the old settings file with the new one.
At that time I had an Amiga1200 with 68060. All programs for 68000, '020,' 030 and '040 are running. But there was a 68060.library (or 68040.library) because a few rare commands of the 68030 in these two CPUs no longer ran in hardware but in software. Even so, '040 and' 060 are faster and have FPU and MMU. The '020 and' 030 are almost the same. (the 68000 and '010 are the same too) But with Pi Storm everything is emulated in software and run on a different CPU type. 50% of the time the chip ram is accessed from the custom chips. The image structure, sound, in/out run in independent DMA mode. But that also means that nothing can be changed in this sub-system because it's controlled by that logic. And the frequency of the chip RAM depends on the screen control. The rest of the time, the CPU is allowed to access the RAM. The CPU can access Fast RAM and the plug-in cards outside the Chip RAM almost without waiting. Plug-in cards can also be configured as RAM with their own DMA controller for SCSI, video, etc. Then there are waiting times for the CPU again if the DMA write to this part of the RAM. Only through the Direct Memory Access was the Amiga fast despite the slow CPU. But it also means that if another DMA-IC accesses the memory, the CPU does not reach this part. It's different with the PC. The CPU is so fast, it does everything on its own, but faster and faster and faster.
Most games will not run faster under acceleration because it depends on the speed of the custom chipset. And the syncs either in PAL or NTSC. The old games take that into account.
@@jensschroder8214 Some games will indeed run much faster and with less lag, especially if they use the CIA timers correctly instead of only relying on VSync. Even if a game only runs from chip RAM and the custom chipset prevents the CPU from getting more than 50% of the memory bus cycles, the CPU can still execute instructions faster. Old PC games ran stupidly fast after a CPU upgrade because the original IBM PC didn't have system timers, and games had to rely on the CPU for timing. The Amiga didn't have this issue.
I recently just checked out the Pimiga project, I believe the 2.0 version was just released very recently. It of course uses a RasPi to emulate the whole Amiga, which is sadly a system that I've never really gotten the chance to really delve into, aside from the music. Great seeing something else Amiga related with a Pi!
I have an A500 with an ACA500+ and I recently put PiStorms into a rev 5 Amiga and a rev6 Amiga. Overall I find I prefer the PiStorm to the ACA500 and when you factor in cost it is even better. I am going to put a PiStorm into my A2000 as well.
I think this is a great option for people like me who like tinkering, have an old Amiga in the loft and want an excuse to get it out, it will bring more peopke back to the retro scene. An A1200 version using a pi zero would be awesome.
I also was not sure if I should use a PiStorm inside my Amiga, because it seemed not to be easily plug and play in the past. But now it seems like it is, more or less, plug and play! Thanks a lot for that video Noel and have a nice christmas time! Geetings, Doc64!
this is great there's always projects like the vampire which are usually crazy money its nice to know you can get something like this that is a lot cheaper but not terrible
Noel, Amazing Video!! I just stumbled on the PiStorm a few days ago. You answered all my questions/concerns perfectly. I too considered a Vampire for my decades old A2000 with 1080CRT a while ago, but I too couldn't find value for price and similar reasons (keeping Amiga HW pure and true to original). Instead spend a few years collecting more justifiable upgrades like (GVP A2000-HC+8 SCSI Controller with 8Mb RAM + SCSI HDD, 4 ROM Kickstart-Switcher, Gotek upgraded to HxC , Budha IDE, Individual ECS, an IDE CF adapter, a Lotek CF Adapter for my A2088T Bridgeboard/5.25"Floppy, with original ST-MFM KaLok Octagon HDD on WD ISA MFM Controller). Always wanted to get a Accelerator that would bring all my pieces together with more a powerful CPU while retaining full compatibility. Looks to like the PiStorm is too good to be true. All hardware should work within the A2000 based on what you described in your video. Truly amazing! I ordered a PiStorm 2k + CPU_Relocator too be able easily swap back the original 68000 if needed, and while waiting for their arival I learn about Emu68. Simply mind blowing!! Hats off to the creators and the supporting community!!!
Amazing. Thank you for sharing this. I have a friend in the California Bay Area that I'll be telling about this. She has an Amiga 2000 that she's trying to restore to operability.
This is the first video, out of many watched, that makes me wanna invest time in this solution and try it out. Thanks for a great video, I’m a new subscriber
Just wait untill EMU68 is better. It have crazy extreme performance compared to PiStorm, and is still in a beta state. I have a feeling, that it might fuze with PiStorm software at some point.
@@brostenen watching this video, more speed is not required in any way, seems pointless, stability, comparability and plug and play is the way, not more speed
@@RETROCENGO Exactly. But you know that extreme acceleration is kind of cool in a way. It is a bit like 060 vs 030. 😉 Some tests of EMU68 gives around 1492 times faster than stock Amiga600.
Bare minimum Linux distributions can be configured to not required be be shut down. In fact, many smart devices you will find run on on a real time Linux that don't require shut down (like your car). Much of the need for Linux to be shut down is to flush the write caches. Well, you can shut those off and instantly have disk writes. Linux is configurable, and what makes the small distribution the PiStorm uses so quick to boot is it doesn't load nor use those overhead buffering Linux services. So there is no risk of data loss. There won't be any, as long as you see the PiStorm's prompt return, it's cleared any disk buffers. I suppose, if you are so unbelievably paranoid, you could bring up the Linux prompt on the Amiga and type "sudo poweroff" and voila, Linux is powered off.
Just a fan, wanting you to know that I enjoy the stance your videos take. THIS is the pistorm video I needed. I’m not an Amiga guy- and most of the pistorm videos out there forget to bring newbs up to speed. This is great. I also really liked the anime video where you explained that scene to us perfectly. Thank you. Subbed, enjoy yer vids and will keep watching!!
I wonder if the PiStorm would work with a Raspberry Pi Zero 2 W instead, since they have a very similar architecture? Cheaper*, and it would take up less space inside the Amiga, too. * When they become available again.
I think one solution to the shut down concern, could be to add some kind of capacitor-UPS. a capacitor that's large enough to power the PI for a rapid shut down. Probably some current limiter to not pull too much power to charge the capacitor. an input to initiate shut down, when power off is detected. Possibly just add a hardwired button for shut down, then you can push that button, and wait some time, then cut the power, but the capacitor solves unexpected power outage as well.
The form factor issues you mentioned would be solved by a new board that utilises the Compute Modules instead of the SBCs. That way, you can have a much neater board that will be a lot more accessible in the Amiga 500.
That was a very fast run through. I was finding it difficult to keep up! I have got an A500, A600 and A1200, so this was interesting. I find that WHDload versions are not the same as versions you load in from disk on a Retro Amiga. The Gotek gets around this and keeps things retro. I think your philosophical point about the P-Storm being an emulated Amiga inside an Amiga is valid since when you are using it you don't really know whether what you are using would work on a real Amiga. If it doesn't work on a real Amiga it does mean you are using a different machine! I think you might make a slow step-by-step video on installing and setting up the Pi-Storm for Amiga old-timers like me! Thanks for uploading.
Very nice review and status on this project, thanks. I've been keeping an eye on this because it's very affordable and got so many features, it's like an all in one upgrade for the Amiga 500. I really like the idea that you can easily copy new files to the system over wifi and it supports whdload. I love the original hardware, but I can't deny there's always the question whether it's worth the money, effort and space required compared to emulation. Cheers, Jake
It's really a good mix of old and new tech, a use for this would be when amiga parts would run sacarse in the future. I really would like to found similar projects with other computers. Also I hope new raspberry projects could help, for example the pico even its a micro controller could be programable for parts.
Here Italy, i have one old AMIGA 500 Kick start 1.3 and 1 MB, hours and hours of funny for the old games : Golden axe, Sensible soccer, Super frog, Battle isle '93, Lotus turbo Challenge 2, Silkworm.
thanks for video. my biggest fear was booting time but you show me it can takes only 4.5 seconds!!! fantastic!!! also, HDD simulation is the best feature for me. thank you so much for this video.
Noel: "What would you ever need so much RAM for on an Amiga?" Me, who had an Amiga with 128MB (or more) RAM for the last 20+ years: "Wait, you can live with less than that?" In all seriousness, it was a fun video especially a view from someone who has a bit of "external" view of the Amiga world. and no so into it. Basically the "big" thing with the PiStorm is that it brings the features of "big box" or "high end" Amiga systems (like RTG, huge amount of Fast RAM, etc) into the world of the Amiga 500, where these were previously not at all available, or only for an outrageous price, or both. Basically it lets you turn a lone A500 (or even an A1000!) into a high-end system with features reserved for "big box" (A2000/3000/4000) systems beforehand. But most of the nuances and extras are probably not that useful for someone who mostly does casual gaming on the Amiga, like you. BTW, that bare iron emulator you talked about at the end of the video - it's called Emu68, already available, and delivers blazing performance, around 800 MIPS in SysInfo. You still have to compromise a bit between features and speed in this case, but it's getting there. And using it would make the system a lot less like a weird embedded Linux vs. Amiga hybrid. (No offense to those who prefer that, but it's even better that we have choice).
Yes, that's really interesting how we're coming to it from completely different points of view 😃 So, coming from someone with experience with high end Amigas, how do you feel about the PiStorm? Do you find it useful, or do you just recommend getting a high end Amiga instead?
@@NoelsRetroLab Well, I was never a big fan of FPGA based accelerators, they felt like just not a big enough step forward performance wise, so the classic Amiga can be used for really high end tasks. But again, I'm also on the PowerPC-Amiga bandwagon, so my opinion could be heavily influenced by that. Anyway I even have a post from 2014(!) in some Hungarian Amiga forum, where I predicted something like the PiStorm (or more like the Buffee, but it doesn't really matter), to come and beat the FPGAs in performance, and for a lot cheaper. So in this sense I'm a fan, but waiting for the A1200 version before I'll make a purchase (it's in the making ATM). If you're not familiar with high end Amiga's software and other quirks, I'd certainly recommend someone to stick to the PiStorm, and discover available software how an RTG-based system feels, etc, before maybe buying a big box Amiga. One thing is is sure: the PiStorm won't replace any previous Amiga tech, IMO. Old cards, or cards with "real" m68k CPU are collector's items, and they can provide a different kind of experience, IMO. So in the end, neither of them are for everyone, and pick whatever you like. But without doubt, this makes the Amiga world richer, and who knows where is the end in regards of possibilities? The journey in this tech has barely begun. Ok, this has ended up a bit of a rambling, but maybe my point goes through.
One more point: if you allow me an analogy, it's a bit like classic cars. Some people are into preserving them 100% original, keeping them as a museum piece. Some like to keep them original, but still drive them around. Some people are into modding building hot rods, putting huge V8s into them. :) And some people just want them electric instead, and so on. All of this is absolutely fine, and part of car, or computer culture. I for once decided my "garage" is big enough for all variants. :)
I've used the Pistorm for about a year now and Linux since 2000, and I've never had any serious issues from unclean shutdowns, especially not with the Pistorm. I've finally managed to get the Emu68 up and running today on my CDTV, by the way... although I'll probably stick to the Musashi version for some time, since it does offer some things the Emu68 still lacks, such as wi-fi. I really love the Pistorm, anyway! :-D
Very nice... Indeed, it's good to see the person who did the ready-to-go install used DietPi - probably a lot of the reason why the Pi Storm software booted so quickly. With that level of attention you've probably gotten as well set up version there that may have had a few other optimisations added. Props to the maker. PS Trapdoor RAM expansions can usually be reconfigured for ChipRAM.
PiOS Lite gets you about 12 seconds to workbench, btw - still far quicker than a pure Amiga. Knock off a couple of seconds if you disable bluetooth and alsa.
@@JaimieVandenbergh Good to know, thanks for the heads-up. I shall certainly take a look. :-) FWIW: I kind-of like DietPi, as much as a sane person can like any version on Linux, for it's lightness and flexibility. But also because it runs on so many platforms, including x86/x64 - my go-to base OS for running stuff on my ESXi server when I really can't avoid Linux.
07:40 - the 68000 CPU does have a full 32bit instruction set. So from a programmers point of view it is not much different than the higher numbered 68k CPU's. The address bus is actually 24bits, but some of the internals are 16bits, but that is all "behind the scenes".
It’s great to see that the pistorm doesn’t screw up timing on games. My old ][gs transwarp was notorious for over locking games. Conan ran so fast you couldn’t play it. It ran off the clock of the cpu instead of using a real time clock for timing. Ug
The benchmark issue may be due to clock speeds. I have a 68030 in my Amiga clocked at 25mHz on a Zorro expansion card, but have seen ones also clocked at 15 and 50mHz, so maybe there's a clock speed setting somewhere. As for Pis, I've ended up caving and getting a Pi 4 to emulate all my old systems. Between not being able to replace worn out parts and peripherals, I'm also facing my disks and tapes becoming demagnetised. When it started feeling like I was losing a floppy disk per week, and my old 1GB hard disk randomly corrupted(it still works, just needed a format), I just kinda collected up my old stuff and put them away for good before something that would really sadden me broke. The Pi is good for other reasons, too. I built an 8TB NAS(a cloud for your home network, for anyone who might not know) using one for £190. About 220-230 Euros, I believe. 3/4 of that price was the hard disk. Amazing what you can do with a computer that costs less than £40.
The PiStorm worked well for me for a while, had the HDD emulation and network share set up and started playing around with the RTG graphics but had no end of problems with the PiStorm continuously popping out of the CPU socket. When I broke a 2nd pin I decided to put it all away and switch over to my 040 Amiga 4000 with ZZ9000 graphics and forgot all about PiStorm. Before going back to it I need to replace the pin headers with something better.
A linux distro can be configured to start/stop without proper shutdowns and zero corruption (note corruption != data loss). For example, many modems/routers use Linux at their core and mount a ramfs (tmpfs) to /var/log keeping the actual OS always read only. The other option is to disable write cache and use a journaled file-system like ext4. What these modern file-systems do is write to a journal of what it's intending to do, if the power is interrupted during this process it's OK, we know that the journal up to the point of the partial write is valid. After the journal is written, the data is written to disk, and when the data is finished writing the journal entry is then marked as complete/finished. If at any time the power is interrupted during this process, the journal entry wont get finalised and the file system knows to just resume from the last valid point. Since it's not going to be often you write data to disk (ie copying files to the amiga) and you're not going to switch it off in the middle of saving something there is no real risk here, and all the authors of the distro need to do is either disable disk write caching (you can even turn this off in windows for the same reason), or after each write call `sync` to ensure all pending writes in cache are written to the media. It's also very likely piStorm keeps it's root filesystem read only, or avoids making any substantial changes to it without you knowing that it can't be interrupted, such as doing an upgrade. LibreElec is a good example of this kind of a setup, it uses a readonly root filesystem and mounts a read/write partition for Kodi configuration and user data, absolute worst case the user partition gets damaged and recovery is not possible, just deleting everything on it will reset it to factory. We also have to deal with unexpected power loss for data centre type applications like massive databases that need to be ACID compliant. A corruption of data on a corporate system running a mission critical database is unacceptable and Linux has been built around these kinds of demands/requirements.
You're absolutely right about corruption possibly happening on the Raspberry Pi if not shut down correctly. I've had several SD cards that got completely corrupted due to loss of power during use. Looks like a cool project though, and awesome video!
Great video man. I have a few Amigas [ one and unmolested A500 w/ 1.3 ] and a Pi3A+ somewhere, I think it's time I got involved. I think I need to find a local re-cap'r though 😀
@23:42 And here's where Emu68 comes in, this is a bare metal emulator no fuzz with Linux, boots really quick, like almost instant. Do mind that Emu68 is still very young and lots of bugs need to be fixed, in august it barely showed a kickstart screen now it already can boot into a RTG workbench and most system friendly software works.
You could make a file that executes a shell script on the Pi through SSH. The script could contain "sudo shutdown now" which would essentially turn off the processor for the amiga and shutdown the Pi gracefully.
its strange that they didnt do some shutdown function. its pretty easy. for example there is hardware way. - use any gpio library to watch 1 gpio port. that gpio port must be configured as input. then we need to add powerbutton on amiga. for example btn will be pulled up to 3v3 and if we switch off - gpio input became 0v magic with gpio port can be done with a simple C program that loads as a service on linux this program checks every for example 1 second what is happening on button gpio. if there is 0 -> app performs system("shutdown -P now"); in 8 seconds we can turn off power supply.
There are no spare GPIOs, they’re all in use funnelling information from Pi to PiStorm. There is a software tool to initiate a shutdown as standard with the PiStorm, and in practice just powering down is fine - like it is on a normal Amiga.
You can even avoid that only time you connect to the rPi directly, look into headless setups, you can make them connect to your wifi and open the SSH port automatically. Edit: And since you use the raspberry pi imager, it's even simpler, just press control-shift-X and configre it pre-baking.
Nice video Noel! Covers the PiStorm very well. Just to say that mouse and keyboard through USB already exists (just enable it in the config file) but doesn’t work for all games; also bare metal emu68 (with SD partitions available as Amiga hard drives) is in active development and working quite well now. And is crazy fast, 20 times quicker than the current more featureful Linux-based PiStorm
Also Noel, there is a command on the pistorm partition to start a safe shutdown but as you've found, it's not really necessary as once the emulator is running, the linux OS isn't doing much filesystem access. More likely is the amiga filesystem will get corrupted but that's a danger of AmigaOS, not pistorm...
Got to lol a smile about the price comments, 80EUR is a bargain for what you get and perhaps prices return to pre-COVID levels eventually. I didn't;t realize there were still casual Amiga users either, thought we were all crazy..good on ya!
Great video Noel, congrats! Talking about demos, try demos like Arte, the lastest routine is an 3D accelerated where available. Exist some others demos, but most of them aimed to AGA chipset, so without this chipset is not to possible to run on A500. Cheers!
EMU68 makes this what it should be! A bare metal accelerator, with bare metal hard disk partitions. Musashi is fine for those not wanting their Amiga to be an Amiga, but something escalated. EMU68 gives as close to a real Amiga as possible with all the power, RAM, and hard disk support you'd expect from an accelerator.
that a cool bit of gear.. best of both worlds... original hardware and emulated...id love to see something like this for the CPC!.. CPU replacement/speedup..with extra emulated peripherals, eg ROM emulation, direct access Disk Drive emulator, gate array emulation...CPC+ color emulation... etc etc..
The best thing you could do with this device is to get a replacement panel printed for the side port with holes for ethernet, HDMI and USB ports which you can hook up to the Pi with extension cables. Otherwise I believe that the devs are working on a version that works with the Pi 4 which should be a fair bit more powerful.
I got one for my A1200. For a Pi Storm set up it is the best one using CaffeineOS out of the box it runs usin RTG graphics. So if you need AGA graphics for games ect. it uses the Amigas out put. I have a TF1260 with a 50 MHz a full fat REV6. It is faster by a long way. For the Pi Storm card to work you need to boot off it.
9:23 I don't think you will have any CPU incompatibility problems using a 68020 or 40. One of the reasons the 68010 (and later) CPU had incompatibly was because the VBR (Vector Base Register) was changed from being fixed at $000000 in the 68000, to be allowed to be anywhere in RAM on the later processors. This was the cause of incompatibly when programs written for the 68000 ran on the 68010 and later assumed that the table of addresses (for interrupts) were referenced from 0 when they we actually in a totally different location. I noticed when you ran SysInfo that the emulator 68020 and 68020 are keeping the VBR at 0, so they are probably deliberately doing that to keep compatibility with programs that were written for the 68000 (or ones that were written in correctly and didn't read the VBR before accessing the table)
Great video Noel. Did you notice any issues with throttling due to heat? I had that issue although granted it was the middle of summer at the time. A few heatsinks and a fan soon sorted it though. It really is a great project and I'd highly recommend you try out the RTG. The Amiga does look great on a CRT but seeing workbench at resolutions like 720p is just amazing.
As you say the cost of Vampire is relatively a lot for used A500 prices. Amiga 3000 or 4000 owners would definitely be OK with the price of Vampire, especially A3000 users stuck with ECS graphics if Vampire for that could give you Blizzard Vision style improvements to ECS.
I've experienced bubble bobble not being frame locked when emulating. Also some homebrew CD32 discs uses a version of WHDLoad that panics if you have more or less RAM than the original CD32.
One of your final points, is the reason I dont like the vampire. Because it literally replaces everything and turns the amiga into a glorified keyboard. That and it is closed source. However this is a little more difficult on the PiStorm. It behaves fundamentally like any accelerator does. Most of them add ram and hard drive interface. In my A2000 I use it just as a cpu and ram. And use the zorro network and hard card that i already have just because they are there... So it makes sense for me. That it is also tweakable and configurable stays in the heart of the way the amiga was designed in the first place, as an open architecture.
to prevent Linux from getting corrupted the most important things (like kernel and other boot related files and a bare minimum of a file system) could be stored on the sd card in a Read Only mounted region. that way it will never break and will always boot but the problem is that when you have files that need read write access like amiga files those can get corrupt if you were writing them and a power loss occurred. to help negate this you could use a journaling filesystem which raspbian already uses and is called ext4. when it corrupts the boot up time will be longer (due to it figuring out how to recover with the journal part of the filesystem) believe me you don't need a bare-metal implementation.
Getting the Pistorm board isn't the problem, but getting the Pi itself is. At least in Germany, it's out of stock everywhere. I'll get mine in around 100 days, if all goes well...
@@EgonOlsen71 yes it does work. Please be advised that I am talking about the new quad core raspberry zero 2. It uses nearly the same hardware as the rpi 3a, bought recently at berrybase and works just fine. After watching Noel's video I just rebuild my sdcard using the fresh dietpi distribution. Feel free to ask, glad to help.
68000 is a 32bit CPU with a 16bit bus, minor detail correction. It's actually somewhat of an hybrid. And the RAM tricky, you have the CHIP RAM which can be used for everything bit is primarily your CHIPSET RAM, basically graphics and audio (keeping it simple). The FASTRAM is direct CPU RAM and is fully CPU bount/controlled, fast for running normal code but not really usable for gdx or audio direly.
Regarding your 'filesystem corruption' concerns: There is an 'Shutdown Pi' button for this in the Amiga software tool! But also I had my thoughts on that, and I don't see this workaround, which completely neutralized one of the greatest of the Amiga's 'perks' (simple power off), as an solution, and I think there still could be implanted a way for avoiding this, like a mostly write protected setup in the Pi side, with exceptions only where needed, like the emulated Amiga HDD for example (which isn't even as important IMHO).
If the file system is configured correctly, you should be able to power off without doing a shutdown. I do it all the time for black box systems like routers and firewalls built on nix systems. Surely the pistorm image is set up correctly for that?
This is really interesting because of the comparison with software emulating an entire Amiga on the same system. Linux has a number of synergies with Amiga OS: They're both posix compliant and share certain underlying Unix philosophies. The big difference is that Amiga OS is basically single user, while Linux is multi user. But using Linux as a alternative to Amiga OS actually makes a lot of sense. So in a sense, you're running a Linux system, running an Amiga emulator. It's just another layer of abstraction, basically. Whereas Pistorm is essentially simulating and replacing the 68000 processor (as well as simulating certain devices attached to that CPU bus)?
On the subject of the philosophical issue, concepts of the Pistorm in it's current implementation and Vampire and other accelerators of the the type... I feel it's fine when the Accelerator is just handling the CPU, adding fast RAM and features like RTG and networking. Once you're bypass what really made the Amiga an Amiga, all the custom chips then it's something different and you're just using it as an input device. The 68000 didn't solely define the Amiga, those custom chips did and it wouldn't be much different than a Mac or Atari ST of the era.
I agree with the philosophically issue :-) But in this form you get all the Amiga ports rights? you could connect a sampler, printer, or most Amiga stuff if you have them. But running UAE on RPI for example that is not possible out of the box... I would like USB access if possible in the future, I would also like network access.
I like the idea of an upgrade that does NOT replace the whole mainboard totally.. can’t wait for the next video on the pi storm.. stay safe always..
Right. Me too. Definitely looking forward to exploring the PiStorm some more. Also, now it's going to be really interesting to compare it to TheAmiga or whatever it's called since I suspect there will be a fair amount of overlap.
I do like projects like this: CPU emulation is the sweet spot for emulation as it's much easier to do reliably than the custom hardware. And the custom hardware is really the soul of the machine, so if you keep that, you haven't crossed the line to essentially using an emulator.
Have you seen FPGA solutions? They blur the line even more! Long/short, FPGAs are chips that can be programmed to be other chips! Check out the MisTeR project.
though, as old custom chips die, these solutions will become more and more important just to keep the machines alive
@@mattsword41 But to what end? Nostalgia? That won’t be enough in the long term. Every chip dies someday. That’s why FPGAs are so vital. Tick for tick, perfect replication, not emulation.
Hey, your grandkids might cook up their own 6502s in the basement for a science project someday. Think about that. Lol!
@@CandyGramForMongo_ hehe. i guess a bit for nostalgia, a bit for fun and a bit for preservation ;) But as you point out, eventually, nostalgia will go as we all get too old!
@@CandyGramForMongo_ No lie, I would be so joyous if I found my grandkids cooking up old 6502s or 8086s. That would be super impressive.
You can enable a shared folder in the PiStorm's config file which contains the Amiga GUI program that controls the PiStorm, this has a shutdown button for the Pi on it. You showed it earlier in the video at 11:47 . There's also the pi command in the Amiga console which can do the same thing with "sudo shutdown -h now" shown at 10:56 . :)
'pi sudo poweroff' is easier to type ;)
Noel, look out for the Emu68 project. Its a bare metal implementation on the PiStorm. Great video.
Nice! Thanks for the tip!
But it can't emulated FastRAM, can it? Because without FastRAM, the faster CPU won't help the Amiga much :(
@@elmariachi5133 Emu68 does not need to emulate fastram. It is just using almost all available raspi memory on your amiga. On RasPi 3A you will have at least 200MB of available memory (or more, I don't remember)
@@MichalSchulz Sorry, I cannot fully comprehend. Do you meant that Emu68 DOES give the Amiga 200MByte FastRAM?
@@elmariachi5133 yes, it does. On RasPi 3B+ (if you make it fit) it gives you even more, something around 800MB in total
I picked up a PiStorm on one of the very earliest batches, beat my head against a wall for days getting it to work (it was early days and almost no doco). But I haven’t really touched it since. Might have to pull it out again relook at the install - that image seems to make thing a lot easier.
The issue with the editor might be solvable by setting the TERM environment variable to something that works with the Amiga's console. There's a good chance there's a termcap file that could work. It's either that, or resort to ed, which isn't too bad if you're already comfortable with vi, but isn't ideal!
Ah, good point. I'll check it out. To be honest I didn't try to solve it since I was all set up with the ssh, but it would be ideal to fix that (although the first time you set up something that doesn't work you'll need to use ssh anyway since the Amiga won't boot up).
Its pretty impressive that a software emulation on separate hardware can run precisely enough to fully replace a 68000 on a board. I mean the timing has to be pretty accurate right for it all to work together!
True! I didn't get into that, but I suspect it's because the Pi is just so fast. It's like an emulator on a PC that can run in real time for the machine it's emulating. So the Pi can do everything it needs to do and then is synchronized with the next clock signal it gets from the board. Although thinking about it, it needs to be ignoring that signal to run a the speed it does, so it just needs to respond to the other control signals quickly enough. But yes, no doubt it's tricky!
The CPLD on the PiStorm board is where the magic timing occurs ;)
Well, that's kind of a problem. If the Pi Storm is only able to emulate the 68020 and higher, that means it's not doing cycle-exact emulation, and probably is not emulating the supervisor stack calls, either. That will usually run Workbench applications fine, but cause all kinds of problems with games that bypass the OS.
The biggest reason why games fail on AGA Amigas has nothing to do with the newer chipset or even the ROM. It's the exception stack format on 68010+ CPUs that games don't like. Some games will only run on a stock 68000. That's something to consider before upgrading to any kind of accelerator, whether it's based on emulation or real hardware.
@@Waccoon Emu68 on the Pistorm has it's own CPULib-like thing on the Pi side, so it works with or without the OS being used. A win for emulation.
It seems the Emu68 project gets overlooked a bit.
Let me explain. Emu68 is a bare metal CPU emulator. It does not use linux. It boots in seconds almost as fast as a normal Amiga would. It can do RTG it also has a HDD emulator and it gives you even more speed, we are talking vampire like speeds here or 830 mips in sysinfo.
The development speed of this project is amazing Michal Schulz is doing a incredible job here.
Also remember that the pi-storm interface (the board between the Amiga and the PI) can not do the 3.5 mb p/s speeds yet and that games that need full bandwidth will not work correctly, but they are working on it. Checkout the pistorm discord server or visit Michal's patreon!
About having a raspberry pi in your amiga. Back in the day there were 060 cards with SCSI and RTG and lots of memory. This is more or less the same.
To me it's more like the PPC accelerators. Those were/are insanely expensive.
As an old Amiga wiz and aficionado this concept is nothing short of mind-blowing!
I'll be honest dude, when I first saw the title I thought "oh, not another video about this" but then watched it all. You have a knack for making anything more interesting.
Pistorm can shutdown from the PiStorm software on Amiga. A bare metal exists, its Emu68. :)
Right at 11:55 you can see the button to shutdown the pi on the bottom left corner of the panel. There's even a CLI command to do it. Just like you had to Park hard drive heads back in the day
An sh script containing "sudo shutdown now" and called from the amiga through ssh should work.
This was a fantastic overview and demonstration of the PiStorm; it clearly took you a long time to make. Thanks for spending so much time on this!
About shutting down, usually this kind of linux distros have the system on a read-only file system, and the user data and config files on a file system without write cache. That way, unless you turn off the Pi right while writing a file, the chances of corrupting the system are very low.
But I don't know if that's the case.
I found it helps if you have a top quality SD card for some reason. Maybe faster writes.
Great that you managed to get the video online. The PiStorm is great and there is that (virtual) struggle if it is still an real Amiga or not. I prefer to think that it is. Great video with some interesting points I haven't seen anywhere else.
Thanks! Yes, it's quite an interesting project. And I'm loving that there are different options for different people: original systems, PiStorm, expensive accelerators, high-end Amigas, full FPGA solutions, fancy emulations like TheAmiga, etc, etc. Lots of choose from!
It's quite amazing how far one can make old retro go with some modern help. I'd love to see this device adapted to the likes of an Atari ST or even an Atari Jaguar and possibly a Sinclair QL. Even an X68000 might benefit as well. The reason you don't get any faster speed out of some of those other 2D games is because they are usually tied to the vertical blank...which makes sense.
The PiStorm should work (and welcomes developers for!) ST, X68k and Mac too. QL would be interesting - the 68008 has a cut down address bus that would need adaptation, but in a “this is easier!” way!
@@JaimieVandenbergh The real question is, has anyone written the necessary firmware for any of these. The QL would require a reduced bus fix. For the Jaguar the gerbers would need to be adapted for a different 68000 package which would be a 68 pin QFP(?).
@@GORF_EMPIRE Mac Plus has been booted from floppy. ST requires some signalling that the current firmware doesn't yet support, planned for the nearish future. QL I don't believe anyone has looked at it. X68k has been bought but not yet meddled with :)
@@JaimieVandenbergh Do keep us informed.
I built a couple PiStorm boards. It was actually good fun. Ive had other Amiga accelerators in the past, they're a mixed bag. PiStorm is just brilliant, a nice mash of old and new.
You don't need a baremetal implementation for the power off problem, you can put the linux system in stateless mode, where it won't change any files in the filesystem while running. The downside it, is that if you want to change a core feature you have to change it to stateful, reboot, change it back to stateless, reboot.
For images and files you can easily use a extra partition on the SD that isn't read only
This is something the project can work around. You can keep the root filesystem in read only mode and have a RAM based scratch partition for /tmp. To make onboard application changes permanent I imagine you would keep a separate partition mounted read only, then remount r/w long enough to write changes, then remount read only afterwards. It's cumbersome but if they created an API for the onboard apps it could be transparent to each app. Again, just a matter of time and skill.
I have a Amiga A1200 with a ACA1221EC accelerator. I like that it is not a FPGA and using a Motorola CPU to do the acceleration. But then the PiStorm came along and I just had to get one for my A500. The PiStorm is a lot of fun to create a punk hotrod A500 Amiga.
Being a fan of the Raspberry Pi, I love what's being done here that's not simply yet another retropie build but actually using the Pi's hardware to boost the Amiga.
I'd buy one presoldered too, if it weren't for the lack of an Amiga computer.
Sadly those are rather expensive these days or rather stay stable in price :/
Paid to buy retro computers years ago. You could get Amigas for almost free. But now yes it's hundreds and hundreds. Years ago the average person could have a large collection. Now you'd probably be best to stick to a couple of computers. I consider myself lucky
To me, other than networking and RTG functions, this does nothing more than a traditional Amiga accelerator card does like the ACA500+, HC508, GVP hard drive/accelerator combo, etc. It doesn't take over virtually the whole machine like a Vampire does. Paula still pumps out 8-bit 4 channel audio. Gary and the CIA chips still handle the floppy drive, rear ports, etc. Fat Agnus is still handles Chip RAM and other stuff. Denise still gives you 15khz low and hi-res interlaced and non-interlaced screen modes. And it will only get better when newer RasPi's are released. I just don't use mine all that often because my Pi 3A gets super hot in use and I don't want to burn anything up.
this is partly true and partly not true.
It delivers RTG graphics, network and hard drive emulation. It lacks AGA and anything else. Judging by the possibilities of the raspberry universe and the development of emu86 there ist actually no demand for more performance.
btw. Important points are the price and availability of the product. EURO 589,- can't compete, especially when always on back order.
@@LoosLas - I am not arguing against the PiStorm, I see that I was unclear about that and I apologize.
"there ist actually no demand for more performance" - huh??? I for one would LOVE to see a native Amiga web browser that can handle CSS/Javascript/HTML5, Amiga video streaming software, Amiga video editing software, more ports of older 3D PC games, new Amiga 3D games, etc. etc. We just need new software to take advantage of all the new accelerators that are hitting the market.
Yes, have you seen the benchmarks using emu68 running on a rpi3? Quite stunning. And rpi 4 is yet to come. What I meant by my comment was that we did not reach the end of the line because Claude Schwarz and Michel Schulz are doing a great job. So we actually don't need more performance ATM, because we didn't reach the limit yet.
@@LoosLas Ahhh, ok, gotcha! I agree with you, the performance is only going to get better from here, and I can't wait to see what's coming up in 2022. Never thought these machines would see a new life and some new hardware, it's amazing. :)
I had basic knowledge of the Pistorm, but your video has been outrageously educational, and I have been able to understand the advantages and the mechanisms in a very simple way. Thanks a lot
You said you don't like the idea of an FPGA emulating the whole system. Well, FPGAs do not emulate, they mimic. Essentially an FPGA set up to mimic all the chips in a computer system is just shrinking that system down in size. More specifically it's like combining the multiple chips into one including all the connections between them. It's not a new concept either, we saw this happen already in the 80's with the Sinclair ZX Spectrum 48K machine. They combined all the logic chips into one and called it the ULA to cut costs. The only difference between the ULA and an FPGA is an FPGA chip needs to be configured every time it's powered up, the logic is not hard coded like in the ULA chip.
The custom chips in an Amiga are also similar to the ULA, they are a reduction of multiple chips and circuits into custom made chips, the original prototypes of the Amiga were on multiple boards because those chips were not created yet. FPGA chips do the same thing, it's just they are reconfigurable instead of being fixed hardware. You could also combine all the functions of all the custom chips into one larger FPGA chip! Go one step further and include the CPU into the FPGA and you have the complete system all on the one chip, just as you get with systems like MiSTer! So you see, it's not emulation, it's copied miniaturized hardware, just not permanent. 🙂
Funny thing about that. ULA and "Gate Array" are two different terms for the same thing (supposedly, Ferranti trademarked the ULA acronym), and FPGA is short for "Field Programmable Gate Array", so an FPGA is literally a "Field-Programmable ULA".
Really wish I still had my A500 now! What a game changing upgrade
This is probably the best and most concise overview of pistorm to date and I’m happy to point anyone with curiosity about the project here. Great work.
With a journalling filesystem like ext4fs, there's almost no risk of corrupting things by losing power. Worst case, you might lose some recent writes, but the filesystem and the configuration should be fine.
cool info. I know ext4fs is so advanced file system but I didn't know that has this much stability. thanks.
@@overdriver99 A future feature could be to lock the SD card file systems and move working files to ram-disk. You can then toggle read only mode to allow the settings to be changed and then back to prevent SD card issues. Some fun and games needed if you want to emulate a disk drive, maybe created a separate partition that is not read only for that.
Or you could make a read only partition for all the vital functional parts. what Lawrence Harris already mentioned
As long as the program writes to files in an atomic way, e.g. writing new settings to a fresh file, then replacing the old settings file with the new one.
@@gblargg Journalled filesystems mean that it really doesn't matter.
At that time I had an Amiga1200 with 68060. All programs for 68000, '020,' 030 and '040 are running. But there was a 68060.library (or 68040.library) because a few rare commands of the 68030 in these two CPUs no longer ran in hardware but in software. Even so, '040 and' 060 are faster and have FPU and MMU.
The '020 and' 030 are almost the same. (the 68000 and '010 are the same too)
But with Pi Storm everything is emulated in software and run on a different CPU type.
50% of the time the chip ram is accessed from the custom chips.
The image structure, sound, in/out run in independent DMA mode.
But that also means that nothing can be changed in this sub-system because it's controlled by that logic.
And the frequency of the chip RAM depends on the screen control.
The rest of the time, the CPU is allowed to access the RAM.
The CPU can access Fast RAM and the plug-in cards outside the Chip RAM almost without waiting.
Plug-in cards can also be configured as RAM with their own DMA controller for SCSI, video, etc.
Then there are waiting times for the CPU again if the DMA write to this part of the RAM.
Only through the Direct Memory Access was the Amiga fast despite the slow CPU.
But it also means that if another DMA-IC accesses the memory, the CPU does not reach this part.
It's different with the PC. The CPU is so fast, it does everything on its own, but faster and faster and faster.
Most games will not run faster under acceleration because it depends on the speed of the custom chipset. And the syncs either in PAL or NTSC. The old games take that into account.
@@jensschroder8214 Some games will indeed run much faster and with less lag, especially if they use the CIA timers correctly instead of only relying on VSync. Even if a game only runs from chip RAM and the custom chipset prevents the CPU from getting more than 50% of the memory bus cycles, the CPU can still execute instructions faster.
Old PC games ran stupidly fast after a CPU upgrade because the original IBM PC didn't have system timers, and games had to rely on the CPU for timing. The Amiga didn't have this issue.
I recently just checked out the Pimiga project, I believe the 2.0 version was just released very recently. It of course uses a RasPi to emulate the whole Amiga, which is sadly a system that I've never really gotten the chance to really delve into, aside from the music. Great seeing something else Amiga related with a Pi!
I have an A500 with an ACA500+ and I recently put PiStorms into a rev 5 Amiga and a rev6 Amiga. Overall I find I prefer the PiStorm to the ACA500 and when you factor in cost it is even better. I am going to put a PiStorm into my A2000 as well.
I think this is a great option for people like me who like tinkering, have an old Amiga in the loft and want an excuse to get it out, it will bring more peopke back to the retro scene. An A1200 version using a pi zero would be awesome.
I also was not sure if I should use a PiStorm inside my Amiga, because it seemed not to be easily plug and play in the past.
But now it seems like it is, more or less, plug and play!
Thanks a lot for that video Noel and have a nice christmas time!
Geetings, Doc64!
this is great there's always projects like the vampire which are usually crazy money its nice to know you can get something like this that is a lot cheaper but not terrible
Noel, Amazing Video!! I just stumbled on the PiStorm a few days ago. You answered all my questions/concerns perfectly. I too considered a Vampire for my decades old A2000 with 1080CRT a while ago, but I too couldn't find value for price and similar reasons (keeping Amiga HW pure and true to original). Instead spend a few years collecting more justifiable upgrades like (GVP A2000-HC+8 SCSI Controller with 8Mb RAM + SCSI HDD, 4 ROM Kickstart-Switcher, Gotek upgraded to HxC , Budha IDE, Individual ECS, an IDE CF adapter, a Lotek CF Adapter for my A2088T Bridgeboard/5.25"Floppy, with original ST-MFM KaLok Octagon HDD on WD ISA MFM Controller). Always wanted to get a Accelerator that would bring all my pieces together with more a powerful CPU while retaining full compatibility. Looks to like the PiStorm is too good to be true. All hardware should work within the A2000 based on what you described in your video. Truly amazing! I ordered a PiStorm 2k + CPU_Relocator too be able easily swap back the original 68000 if needed, and while waiting for their arival I learn about Emu68. Simply mind blowing!! Hats off to the creators and the supporting community!!!
Amazing. Thank you for sharing this. I have a friend in the California Bay Area that I'll be telling about this. She has an Amiga 2000 that she's trying to restore to operability.
This is the first video, out of many watched, that makes me wanna invest time in this solution and try it out. Thanks for a great video, I’m a new subscriber
Glad it was helpful and welcome on board!
Just wait untill EMU68 is better. It have crazy extreme performance compared to PiStorm, and is still in a beta state. I have a feeling, that it might fuze with PiStorm software at some point.
@@brostenen watching this video, more speed is not required in any way, seems pointless, stability, comparability and plug and play is the way, not more speed
@@RETROCENGO Exactly. But you know that extreme acceleration is kind of cool in a way. It is a bit like 060 vs 030. 😉 Some tests of EMU68 gives around 1492 times faster than stock Amiga600.
@@brostenen As long as it runs correct, Thea it’s most welcome. This emu68 is it a new piece of hardware? Or just another pi solution?
Bare minimum Linux distributions can be configured to not required be be shut down. In fact, many smart devices you will find run on on a real time Linux that don't require shut down (like your car). Much of the need for Linux to be shut down is to flush the write caches. Well, you can shut those off and instantly have disk writes. Linux is configurable, and what makes the small distribution the PiStorm uses so quick to boot is it doesn't load nor use those overhead buffering Linux services. So there is no risk of data loss. There won't be any, as long as you see the PiStorm's prompt return, it's cleared any disk buffers.
I suppose, if you are so unbelievably paranoid, you could bring up the Linux prompt on the Amiga and type "sudo poweroff" and voila, Linux is powered off.
That's so neat, although, like you said, programming the pi with the Amiga that the pi is running, is a bit much to get my head around. LOL.
Just a fan, wanting you to know that I enjoy the stance your videos take. THIS is the pistorm video I needed. I’m not an Amiga guy- and most of the pistorm videos out there forget to bring newbs up to speed. This is great. I also really liked the anime video where you explained that scene to us perfectly. Thank you. Subbed, enjoy yer vids and will keep watching!!
I wonder if the PiStorm would work with a Raspberry Pi Zero 2 W instead, since they have a very similar architecture? Cheaper*, and it would take up less space inside the Amiga, too.
* When they become available again.
It does work with the pi0-2 out of the box
I think one solution to the shut down concern, could be to add some kind of capacitor-UPS.
a capacitor that's large enough to power the PI for a rapid shut down.
Probably some current limiter to not pull too much power to charge the capacitor.
an input to initiate shut down, when power off is detected.
Possibly just add a hardwired button for shut down, then you can push that button, and wait some time, then cut the power, but the capacitor solves unexpected power outage as well.
The form factor issues you mentioned would be solved by a new board that utilises the Compute Modules instead of the SBCs. That way, you can have a much neater board that will be a lot more accessible in the Amiga 500.
That was a very fast run through. I was finding it difficult to keep up! I have got an A500, A600 and A1200, so this was interesting. I find that WHDload versions are not the same as versions you load in from disk on a Retro Amiga. The Gotek gets around this and keeps things retro. I think your philosophical point about the P-Storm being an emulated Amiga inside an Amiga is valid since when you are using it you don't really know whether what you are using would work on a real Amiga. If it doesn't work on a real Amiga it does mean you are using a different machine! I think you might make a slow step-by-step video on installing and setting up the Pi-Storm for Amiga old-timers like me! Thanks for uploading.
Thanks for the insight and memories, and amazing what us old guys used to and still love! 😀
Very nice review and status on this project, thanks. I've been keeping an eye on this because it's very affordable and got so many features, it's like an all in one upgrade for the Amiga 500. I really like the idea that you can easily copy new files to the system over wifi and it supports whdload. I love the original hardware, but I can't deny there's always the question whether it's worth the money, effort and space required compared to emulation.
Cheers,
Jake
It's really a good mix of old and new tech, a use for this would be when amiga parts would run sacarse in the future.
I really would like to found similar projects with other computers.
Also I hope new raspberry projects could help, for example the pico even its a micro controller could be programable for parts.
Here Italy, i have one old AMIGA 500 Kick start 1.3 and 1 MB, hours and hours of funny for the old games : Golden axe, Sensible soccer, Super frog, Battle isle '93, Lotus turbo Challenge 2, Silkworm.
thanks for video. my biggest fear was booting time but you show me it can takes only 4.5 seconds!!! fantastic!!!
also, HDD simulation is the best feature for me. thank you so much for this video.
Noel: "What would you ever need so much RAM for on an Amiga?"
Me, who had an Amiga with 128MB (or more) RAM for the last 20+ years: "Wait, you can live with less than that?"
In all seriousness, it was a fun video especially a view from someone who has a bit of "external" view of the Amiga world. and no so into it. Basically the "big" thing with the PiStorm is that it brings the features of "big box" or "high end" Amiga systems (like RTG, huge amount of Fast RAM, etc) into the world of the Amiga 500, where these were previously not at all available, or only for an outrageous price, or both. Basically it lets you turn a lone A500 (or even an A1000!) into a high-end system with features reserved for "big box" (A2000/3000/4000) systems beforehand. But most of the nuances and extras are probably not that useful for someone who mostly does casual gaming on the Amiga, like you.
BTW, that bare iron emulator you talked about at the end of the video - it's called Emu68, already available, and delivers blazing performance, around 800 MIPS in SysInfo. You still have to compromise a bit between features and speed in this case, but it's getting there. And using it would make the system a lot less like a weird embedded Linux vs. Amiga hybrid. (No offense to those who prefer that, but it's even better that we have choice).
Yes, that's really interesting how we're coming to it from completely different points of view 😃 So, coming from someone with experience with high end Amigas, how do you feel about the PiStorm? Do you find it useful, or do you just recommend getting a high end Amiga instead?
@@NoelsRetroLab Well, I was never a big fan of FPGA based accelerators, they felt like just not a big enough step forward performance wise, so the classic Amiga can be used for really high end tasks. But again, I'm also on the PowerPC-Amiga bandwagon, so my opinion could be heavily influenced by that.
Anyway I even have a post from 2014(!) in some Hungarian Amiga forum, where I predicted something like the PiStorm (or more like the Buffee, but it doesn't really matter), to come and beat the FPGAs in performance, and for a lot cheaper. So in this sense I'm a fan, but waiting for the A1200 version before I'll make a purchase (it's in the making ATM). If you're not familiar with high end Amiga's software and other quirks, I'd certainly recommend someone to stick to the PiStorm, and discover available software how an RTG-based system feels, etc, before maybe buying a big box Amiga. One thing is is sure: the PiStorm won't replace any previous Amiga tech, IMO. Old cards, or cards with "real" m68k CPU are collector's items, and they can provide a different kind of experience, IMO. So in the end, neither of them are for everyone, and pick whatever you like. But without doubt, this makes the Amiga world richer, and who knows where is the end in regards of possibilities? The journey in this tech has barely begun.
Ok, this has ended up a bit of a rambling, but maybe my point goes through.
One more point: if you allow me an analogy, it's a bit like classic cars. Some people are into preserving them 100% original, keeping them as a museum piece. Some like to keep them original, but still drive them around. Some people are into modding building hot rods, putting huge V8s into them. :) And some people just want them electric instead, and so on. All of this is absolutely fine, and part of car, or computer culture. I for once decided my "garage" is big enough for all variants. :)
I've used the Pistorm for about a year now and Linux since 2000, and I've never had any serious issues from unclean shutdowns, especially not with the Pistorm.
I've finally managed to get the Emu68 up and running today on my CDTV, by the way... although I'll probably stick to the Musashi version for some time, since it does offer some things the Emu68 still lacks, such as wi-fi. I really love the Pistorm, anyway! :-D
Very nice...
Indeed, it's good to see the person who did the ready-to-go install used DietPi - probably a lot of the reason why the Pi Storm software booted so quickly.
With that level of attention you've probably gotten as well set up version there that may have had a few other optimisations added. Props to the maker.
PS Trapdoor RAM expansions can usually be reconfigured for ChipRAM.
PiOS Lite gets you about 12 seconds to workbench, btw - still far quicker than a pure Amiga. Knock off a couple of seconds if you disable bluetooth and alsa.
@@JaimieVandenbergh Good to know, thanks for the heads-up. I shall certainly take a look. :-)
FWIW:
I kind-of like DietPi, as much as a sane person can like any version on Linux, for it's lightness and flexibility. But also because it runs on so many platforms, including x86/x64 - my go-to base OS for running stuff on my ESXi server when I really can't avoid Linux.
the amiga 500 shown on your screen has a 8372a fat agnus, you CAN mod your board to get 1mb using with your 512k belly slot card
@Noel’s Retro Lab I really enjoy your channel. It’s great! I appreciate what you do for the community. (For real) ❤
I am digging this channel! Keep it up man! I feel like this channel is about to explode in popularity!
07:40 - the 68000 CPU does have a full 32bit instruction set. So from a programmers point of view it is not much different than the higher numbered 68k CPU's. The address bus is actually 24bits, but some of the internals are 16bits, but that is all "behind the scenes".
It’s great to see that the pistorm doesn’t screw up timing on games. My old ][gs transwarp was notorious for over locking games. Conan ran so fast you couldn’t play it. It ran off the clock of the cpu instead of using a real time clock for timing. Ug
The benchmark issue may be due to clock speeds. I have a 68030 in my Amiga clocked at 25mHz on a Zorro expansion card, but have seen ones also clocked at 15 and 50mHz, so maybe there's a clock speed setting somewhere.
As for Pis, I've ended up caving and getting a Pi 4 to emulate all my old systems. Between not being able to replace worn out parts and peripherals, I'm also facing my disks and tapes becoming demagnetised. When it started feeling like I was losing a floppy disk per week, and my old 1GB hard disk randomly corrupted(it still works, just needed a format), I just kinda collected up my old stuff and put them away for good before something that would really sadden me broke.
The Pi is good for other reasons, too. I built an 8TB NAS(a cloud for your home network, for anyone who might not know) using one for £190. About 220-230 Euros, I believe. 3/4 of that price was the hard disk. Amazing what you can do with a computer that costs less than £40.
The PiStorm worked well for me for a while, had the HDD emulation and network share set up and started playing around with the RTG graphics but had no end of problems with the PiStorm continuously popping out of the CPU socket. When I broke a 2nd pin I decided to put it all away and switch over to my 040 Amiga 4000 with ZZ9000 graphics and forgot all about PiStorm. Before going back to it I need to replace the pin headers with something better.
A linux distro can be configured to start/stop without proper shutdowns and zero corruption (note corruption != data loss). For example, many modems/routers use Linux at their core and mount a ramfs (tmpfs) to /var/log keeping the actual OS always read only. The other option is to disable write cache and use a journaled file-system like ext4. What these modern file-systems do is write to a journal of what it's intending to do, if the power is interrupted during this process it's OK, we know that the journal up to the point of the partial write is valid. After the journal is written, the data is written to disk, and when the data is finished writing the journal entry is then marked as complete/finished. If at any time the power is interrupted during this process, the journal entry wont get finalised and the file system knows to just resume from the last valid point. Since it's not going to be often you write data to disk (ie copying files to the amiga) and you're not going to switch it off in the middle of saving something there is no real risk here, and all the authors of the distro need to do is either disable disk write caching (you can even turn this off in windows for the same reason), or after each write call `sync` to ensure all pending writes in cache are written to the media. It's also very likely piStorm keeps it's root filesystem read only, or avoids making any substantial changes to it without you knowing that it can't be interrupted, such as doing an upgrade.
LibreElec is a good example of this kind of a setup, it uses a readonly root filesystem and mounts a read/write partition for Kodi configuration and user data, absolute worst case the user partition gets damaged and recovery is not possible, just deleting everything on it will reset it to factory. We also have to deal with unexpected power loss for data centre type applications like massive databases that need to be ACID compliant. A corruption of data on a corporate system running a mission critical database is unacceptable and Linux has been built around these kinds of demands/requirements.
That was amazing my friend! At the end I Could see a great and professional comparation between with and without a device, thanks again Noel :)
By the way... does it convert the A500 graphics system into a A3000 graphic one? or "just" the memory upgrade and CPU?
You're absolutely right about corruption possibly happening on the Raspberry Pi if not shut down correctly. I've had several SD cards that got completely corrupted due to loss of power during use. Looks like a cool project though, and awesome video!
very extensive and concise overview- THANK YOU!
Great video man.
I have a few Amigas [ one and unmolested A500 w/ 1.3 ] and a Pi3A+ somewhere, I think it's time I got involved. I think I need to find a local re-cap'r though 😀
@23:42 And here's where Emu68 comes in, this is a bare metal emulator no fuzz with Linux, boots really quick, like almost instant.
Do mind that Emu68 is still very young and lots of bugs need to be fixed, in august it barely showed a kickstart screen now it already can boot into a RTG workbench and most system friendly software works.
I have one of these and have not installed it as it seemed far too complicated. Thanks for this!
Agree with you on the onboard emulation Noel. It just seems to be that step beyond using and Amiga natively.
You could make a file that executes a shell script on the Pi through SSH. The script could contain "sudo shutdown now" which would essentially turn off the processor for the amiga and shutdown the Pi gracefully.
Finally a video on proper computers Noel! Great video.
its strange that they didnt do some shutdown function.
its pretty easy. for example there is hardware way.
- use any gpio library to watch 1 gpio port.
that gpio port must be configured as input. then we need to add powerbutton on amiga.
for example btn will be pulled up to 3v3 and if we switch off - gpio input became 0v
magic with gpio port can be done with a simple C program that loads as a service on linux
this program checks every for example 1 second what is happening on button gpio.
if there is 0 -> app performs system("shutdown -P now");
in 8 seconds we can turn off power supply.
There are no spare GPIOs, they’re all in use funnelling information from Pi to PiStorm. There is a software tool to initiate a shutdown as standard with the PiStorm, and in practice just powering down is fine - like it is on a normal Amiga.
You can even avoid that only time you connect to the rPi directly, look into headless setups, you can make them connect to your wifi and open the SSH port automatically.
Edit: And since you use the raspberry pi imager, it's even simpler, just press control-shift-X and configre it pre-baking.
To avoid the risk of filesystem corruption you can make the rootfs read-only, many commercial embedded systems work like that.
Nice video Noel! Covers the PiStorm very well. Just to say that mouse and keyboard through USB already exists (just enable it in the config file) but doesn’t work for all games; also bare metal emu68 (with SD partitions available as Amiga hard drives) is in active development and working quite well now. And is crazy fast, 20 times quicker than the current more featureful Linux-based PiStorm
Also Noel, there is a command on the pistorm partition to start a safe shutdown but as you've found, it's not really necessary as once the emulator is running, the linux OS isn't doing much filesystem access. More likely is the amiga filesystem will get corrupted but that's a danger of AmigaOS, not pistorm...
Got to lol a smile about the price comments, 80EUR is a bargain for what you get and perhaps prices return to pre-COVID levels eventually. I didn't;t realize there were still casual Amiga users either, thought we were all crazy..good on ya!
Great video Noel, congrats! Talking about demos, try demos like Arte, the lastest routine is an 3D accelerated where available. Exist some others demos, but most of them aimed to AGA chipset, so without this chipset is not to possible to run on A500. Cheers!
EMU68 makes this what it should be! A bare metal accelerator, with bare metal hard disk partitions. Musashi is fine for those not wanting their Amiga to be an Amiga, but something escalated. EMU68 gives as close to a real Amiga as possible with all the power, RAM, and hard disk support you'd expect from an accelerator.
that a cool bit of gear.. best of both worlds... original hardware and emulated...id love to see something like this for the CPC!.. CPU replacement/speedup..with extra emulated peripherals, eg ROM emulation, direct access Disk Drive emulator, gate array emulation...CPC+ color emulation... etc etc..
The best thing you could do with this device is to get a replacement panel printed for the side port with holes for ethernet, HDMI and USB ports which you can hook up to the Pi with extension cables. Otherwise I believe that the devs are working on a version that works with the Pi 4 which should be a fair bit more powerful.
I got one for my A1200. For a Pi Storm set up it is the best one using CaffeineOS out of the box it runs usin RTG graphics. So if you need AGA graphics for games ect. it uses the Amigas out put. I have a TF1260 with a 50 MHz a full fat REV6. It is faster by a long way. For the Pi Storm card to work you need to boot off it.
9:23 I don't think you will have any CPU incompatibility problems using a 68020 or 40. One of the reasons the 68010 (and later) CPU had incompatibly was because the VBR (Vector Base Register) was changed from being fixed at $000000 in the 68000, to be allowed to be anywhere in RAM on the later processors. This was the cause of incompatibly when programs written for the 68000 ran on the 68010 and later assumed that the table of addresses (for interrupts) were referenced from 0 when they we actually in a totally different location. I noticed when you ran SysInfo that the emulator 68020 and 68020 are keeping the VBR at 0, so they are probably deliberately doing that to keep compatibility with programs that were written for the 68000 (or ones that were written in correctly and didn't read the VBR before accessing the table)
Great video Noel. Did you notice any issues with throttling due to heat? I had that issue although granted it was the middle of summer at the time. A few heatsinks and a fan soon sorted it though.
It really is a great project and I'd highly recommend you try out the RTG. The Amiga does look great on a CRT but seeing workbench at resolutions like 720p is just amazing.
I love mine in my A1000 - have harddrive, speed, memory, internet, networking - best accelerator for money I have ever owned.
As you say the cost of Vampire is relatively a lot for used A500 prices. Amiga 3000 or 4000 owners would definitely be OK with the price of Vampire, especially A3000 users stuck with ECS graphics if Vampire for that could give you Blizzard Vision style improvements to ECS.
I've experienced bubble bobble not being frame locked when emulating.
Also some homebrew CD32 discs uses a version of WHDLoad that panics if you have more or less RAM than the original CD32.
One of your final points, is the reason I dont like the vampire. Because it literally replaces everything and turns the amiga into a glorified keyboard. That and it is closed source. However this is a little more difficult on the PiStorm. It behaves fundamentally like any accelerator does. Most of them add ram and hard drive interface. In my A2000 I use it just as a cpu and ram. And use the zorro network and hard card that i already have just because they are there... So it makes sense for me. That it is also tweakable and configurable stays in the heart of the way the amiga was designed in the first place, as an open architecture.
to prevent Linux from getting corrupted the most important things (like kernel and other boot related files and a bare minimum of a file system) could be stored on the sd card in a Read Only mounted region. that way it will never break and will always boot but the problem is that when you have files that need read write access like amiga files those can get corrupt if you were writing them and a power loss occurred. to help negate this you could use a journaling filesystem which raspbian already uses and is called ext4.
when it corrupts the boot up time will be longer (due to it figuring out how to recover with the journal part of the filesystem)
believe me you don't need a bare-metal implementation.
Can confirm, that's what Wing Commander felt like on one of AMD's weird hot-rodded 40mhz 386DX's with 4MB of ram.
Getting the Pistorm board isn't the problem, but getting the Pi itself is. At least in Germany, it's out of stock everywhere. I'll get mine in around 100 days, if all goes well...
Yikes! I didn't realize the Raspberry Pi had also fallen prey to the chip shortage! That's a real bummer!
Well, go for a Raspberry Zero 2. Quite as fast and even smaller. And yet available in Germany:)
@@LoosLas And that will work with the Pistorm? From what I've read, it won't...
@@EgonOlsen71 yes it does work. Please be advised that I am talking about the new quad core raspberry zero 2. It uses nearly the same hardware as the rpi 3a, bought recently at berrybase and works just fine. After watching Noel's video I just rebuild my sdcard using the fresh dietpi distribution.
Feel free to ask, glad to help.
oh god what a shock to my ancient bones ! at 7:40.....introduced 42 years ago, holy hell I'm getting OLD !!
The PiStorm people have also made the Raspberry Pi Compute Module 4 work. So it's even faster than the Pi 3.
68000 is a 32bit CPU with a 16bit bus, minor detail correction. It's actually somewhat of an hybrid.
And the RAM tricky, you have the CHIP RAM which can be used for everything bit is primarily your CHIPSET RAM, basically graphics and audio (keeping it simple).
The FASTRAM is direct CPU RAM and is fully CPU bount/controlled, fast for running normal code but not really usable for gdx or audio direly.
Regarding your 'filesystem corruption' concerns: There is an 'Shutdown Pi' button for this in the Amiga software tool! But also I had my thoughts on that, and I don't see this workaround, which completely neutralized one of the greatest of the Amiga's 'perks' (simple power off), as an solution, and I think there still could be implanted a way for avoiding this, like a mostly write protected setup in the Pi side, with exceptions only where needed, like the emulated Amiga HDD for example (which isn't even as important IMHO).
Really good video, worth the wait. thanks
If the file system is configured correctly, you should be able to power off without doing a shutdown. I do it all the time for black box systems like routers and firewalls built on nix systems. Surely the pistorm image is set up correctly for that?
This is really interesting because of the comparison with software emulating an entire Amiga on the same system.
Linux has a number of synergies with Amiga OS: They're both posix compliant and share certain underlying Unix philosophies. The big difference is that Amiga OS is basically single user, while Linux is multi user. But using Linux as a alternative to Amiga OS actually makes a lot of sense. So in a sense, you're running a Linux system, running an Amiga emulator. It's just another layer of abstraction, basically.
Whereas Pistorm is essentially simulating and replacing the 68000 processor (as well as simulating certain devices attached to that CPU bus)?
The Amiga OS came from a big iron OS called TrIpOS.
Great idea, Grand Prix was choppy as h*ll on Amiga. I remember I complained about it.
Seriously. It was totally unplayable. Wing Commander was also beyond playable!
@@NoelsRetroLab glad you agree with me! :) Can't speak for Wing Commander though , never tried it on Amiga.
You should make a followup video, probably about the PiStorm Emu68 image and other developments. There is also pistorm for 1200 etc.
It would be neat to have an amiga on a raspberry pi 400. For those of us without access to an actual amiga.
On the subject of the philosophical issue, concepts of the Pistorm in it's current implementation and Vampire and other accelerators of the the type... I feel it's fine when the Accelerator is just handling the CPU, adding fast RAM and features like RTG and networking. Once you're bypass what really made the Amiga an Amiga, all the custom chips then it's something different and you're just using it as an input device. The 68000 didn't solely define the Amiga, those custom chips did and it wouldn't be much different than a Mac or Atari ST of the era.
buggy boy is a good one for the amiga if you play it on a stock A1200 it runs twice as fast as a standard A500.
I agree with the philosophically issue :-) But in this form you get all the Amiga ports rights? you could connect a sampler, printer, or most Amiga stuff if you have them. But running UAE on RPI for example that is not possible out of the box...
I would like USB access if possible in the future, I would also like network access.
Great video, very well explained!