PiStorm Chat

General discussions or ideas about hardware.
User avatar
alexh
Posts: 698
Joined: Tue Oct 17, 2017 4:51 pm
Location: Oxfordshire

Re: PiStorm Chat

Post by alexh »

Badwolf wrote: Wed Jun 01, 2022 10:13 am
alexh wrote: Wed Jun 01, 2022 8:31 am But it's very much alpha quality in terms of compatibility. The development while open source has very much stalled due to lack of an active developer
Do you mean for the ST or Amiga? I wasn't sure if the ST support was off the drawing board at all yet.
Both.

Amiga works but the I/O limitation of the PI + current TDM of the signals between the Pi and the Amiga means ChipRAM performance isn't as high as it should be. Interrupt behaviour is not quite the same. This leads to some incompatibilities. Not everything just now and again.

Emu68 the alternative JIT 680x0 engine for PiStorm is very good amazing performance. The design exposes the Pi Hardware to 680x0 and you write drivers in 680x0 for AmigaOS. The drivers for the Pi SD card controller and RTG driver for the Pi GPU are very impressive. I am Patreon of this work. But development has stalled. The 680x0 SANA-II WiFi driver for the Pi WiFi is taking a very long time. The 680x0 Picasso96 GPU driver uses no hardware acceleration. The Poseidon USB stack driver for the Pi USB host controller I don't think has even been started just discussed. Nothing is stopping any other developer writing the drivers. The documentation is available. But so far only Emu68 author has attempted anything. He's only one person working part time.


ST (and CDTV) compatibility is not possible yet because bus arbitration, bus error, and processor state pins are not driven. They are wired to the CPLD but it has no code to drive them correctly.

The lead PiStorm developer Claude is very much a free spirit and does what he wants when he's interested and at the moment PiSTorm isn't interesting enough. The remaining 10% of the challenge is much harder with far less reward than the 90% he's graciously done and released free for anyone to pick up and run with

Don't get me wrong there has been contributions from other people but development as a whole has stalled. You can see it from the activity in the dev section of the PiSTorm Discord server compared to "the old days"
Principal ASIC Engineer - SystemVerilog, VHDL
Thalion Webshrine - http://thalion.atari.org
STf,STfm,STe,MegaST,MegaSTe,Falcon060
A500+,A600,A4000/060,CD32,CDTV
User avatar
Badwolf
Posts: 2230
Joined: Tue Nov 19, 2019 12:09 pm

Re: PiStorm Chat

Post by Badwolf »

What is this I don't even


IMG_5434.jpeg
IMG_5434.jpeg (223 KiB) Viewed 2531 times
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
DSTB1 Open source 16Mhz 68k and AltRAM accelerator for the ST
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
User avatar
alexh
Posts: 698
Joined: Tue Oct 17, 2017 4:51 pm
Location: Oxfordshire

Re: PiStorm Chat

Post by alexh »

Does the case still close? :D

Is it so high because this is a Pi3b and not a Pi3a?
Principal ASIC Engineer - SystemVerilog, VHDL
Thalion Webshrine - http://thalion.atari.org
STf,STfm,STe,MegaST,MegaSTe,Falcon060
A500+,A600,A4000/060,CD32,CDTV
User avatar
agranlund
Posts: 777
Joined: Sun Aug 18, 2019 10:43 pm
Location: Sweden
Contact:

Re: PiStorm Chat

Post by agranlund »

Badwolf wrote: Thu Jun 09, 2022 9:54 pm What is this I don't even
Looks like the beginning of something incredible to me!

Or just a very high tech looking garbage data reader device :lol:
User avatar
Badwolf
Posts: 2230
Joined: Tue Nov 19, 2019 12:09 pm

Re: PiStorm Chat

Post by Badwolf »

alexh wrote: Fri Jun 10, 2022 7:44 am Does the case still close? :D
Only once! :lol:
Is it so high because this is a Pi3b and not a Pi3a?
Exactamundo. Can't get a new Pi for love nor money ATM, so love the one you're with (or something like that)!

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
DSTB1 Open source 16Mhz 68k and AltRAM accelerator for the ST
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Lemaru
Posts: 86
Joined: Sat Feb 08, 2020 9:28 pm

Re: PiStorm Chat

Post by Lemaru »

alexh wrote: Wed Jun 01, 2022 10:51 pm The lead PiStorm developer Claude is very much a free spirit and does what he wants when he's interested and at the moment PiSTorm isn't interesting enough. The remaining 10% of the challenge is much harder with far less reward than the 90% he's graciously done and released free for anyone to pick up and run with

Don't get me wrong there has been contributions from other people but development as a whole has stalled. You can see it from the activity in the dev section of the PiSTorm Discord server compared to "the old days"
I wouldn't really say development has stalled. But when it's a hobby project, sometimes day jobs, families and general life takes priority. Losing interest can come when people start pressuring people for updates and to rush stuff out though, and when a project no longer remains fun due to pressures put on them then its understandable that things may slow down.

Emu68 is developed my Michal Schulz and not Claude, and is still very much in development. Currently Michal is working on implementing WiFi support which is probably the most requested feature.

On the hardware front, the PiStorm32 hardware is done, and boards are ready for devs and testers, but nothing has yet been released in the wild (the parts shortages, which people seem to forget about, hasn't really helped). Once that's ready for general users then some of the features of the firmware will be ported across to the original PiStorms (along with full bus arbitration).
User avatar
Badwolf
Posts: 2230
Joined: Tue Nov 19, 2019 12:09 pm

Re: PiStorm Chat

Post by Badwolf »

I'm back from holiday and my 68k debug header breakout boards have arrived so I'll be looking forward to getting on with this over the next few weeks.

I've just been working on data exchange so far -- I can dump the contents of ROM from the ST to the Pi accurately, but writing data sequentially results in an off-by-two error. Hopefully the debug headers will help me clear up what's going on. Proably a breakdown in the PiStorm protocol. Something getting out of sync. Outbound data flipflop latching on the wrong edge? Who knows.

Things I know are on the roadmap:-
  • FC lines. There is a plan for these, but I've not looked at the emulator side of that yet. Currently hard coded to 101 for the purposes of memory read/write. Not sure if that's sufficient to boot an OS, though;
  • Autovectored interrupts. I'm not 100% sure these are a problem or not, but my working assumption is they're not yet supported. My suspicion is this'll be the hardest part;
  • Bus arbitration. Lowest priority of the obvious shortcomings -- I've built an OS that should boot without any DMA and this can all be implemented CPLD-side when the time comes.
I've also got a CPLD on order which will let me build up a second PiStorm board just on the off-chance I've a dud which is causing this off-by-two issue.

Cheers,

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
DSTB1 Open source 16Mhz 68k and AltRAM accelerator for the ST
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
User avatar
alexh
Posts: 698
Joined: Tue Oct 17, 2017 4:51 pm
Location: Oxfordshire

Re: PiStorm Chat

Post by alexh »

Lemaru wrote: Mon Jun 27, 2022 3:52 pm I wouldn't really say development has stalled.
The git commit log shows a big tail off. That happens when things start to work "good enough".
Lemaru wrote: Mon Jun 27, 2022 3:52 pmEmu68 is developed my Michal Schulz and is still very much in development. Currently Michal is working on implementing WiFi support which is probably the most requested feature.
I am a patreon. I follow the work on the emu68_dev channel of the PiStorm discord server. But look at the git commit logs. Weeks go by with no commits. It wasn't like that a short time ago, there were daily commits from multiple people. There is no pressure from me. I don't nag. I actively join in discussions where I have technical knowledge and show encouragement when technological breakthroughs occur.
Lemaru wrote: Mon Jun 27, 2022 3:52 pmOn the hardware front, the PiStorm32 hardware is done, and boards are ready for devs and testers, but nothing has yet been released in the wild
The latest prototype boards for PiStorm32 came back in September 2021. January 2022 was the last big PiStorm32 update from Claude. I'm sure there must be some small technological issue he's facing and there were other more interesting things to do. Did you see his very cool $12 RGB2HDMI using Tang Nano 9k MPSOC?

I have followed the PiStorm work from the beginning. I'm a big fan. I don't push for anything and I contribute when I can & sponsor.

I'm really looking forward to the work of Badwolf in bringing PiStorm to Atari and if there is anything I can do, just ask. Sounding ideas, encouragement, financial support, technical debug I'm open to helping however I can.
Principal ASIC Engineer - SystemVerilog, VHDL
Thalion Webshrine - http://thalion.atari.org
STf,STfm,STe,MegaST,MegaSTe,Falcon060
A500+,A600,A4000/060,CD32,CDTV
Lemaru
Posts: 86
Joined: Sat Feb 08, 2020 9:28 pm

Re: PiStorm Chat

Post by Lemaru »

alexh wrote: Mon Jun 27, 2022 11:56 pm The git commit log shows a big tail off. That happens when things start to work "good enough".
That has mostly tailed off as the main dev who was working on the Mushashi emulator has taken a break from the project several months ago (this is why the wip-crap development branch is no longer available). Though development had slowed down quite some time before as as some things cannot be fixed or investigated until updated firmware using the new protocol is ready. So i guess the Mushashi side of things may appear to be in limbo at present.
alexh wrote: Mon Jun 27, 2022 11:56 pm I am a patreon. I follow the work on the emu68_dev channel of the PiStorm discord server. But look at the git commit logs. Weeks go by with no commits. It wasn't like that a short time ago, there were daily commits from multiple people. There is no pressure from me. I don't nag. I actively join in discussions where I have technical knowledge and show encouragement when technological breakthroughs occur.
Apologies, I wasn't implying you were nagging, but plenty of other people do. PiStorm development is just a hobby for them that they do in their spare time afterall, I think many people often forget that. This doesn't just go for PiStorm neither, but for many other homebrew projects too. It's summer, people have families, and may not have so much spare time.
alexh wrote: Mon Jun 27, 2022 11:56 pm The latest prototype boards for PiStorm32 came back in September 2021. January 2022 was the last big PiStorm32 update from Claude. I'm sure there must be some small technological issue he's facing and there were other more interesting things to do. Did you see his very cool $12 RGB2HDMI using Tang Nano 9k MPSOC?
One of the main issues being faced, is simply that some of the components are currently not available, particularly the Lattice FPGA that is used (this is also holding up other non Amiga projects). I mean, even the CM4's are pretty hard to come across at present (I myself have been trying to get one, without having to pay a scalper stupid money, for some time).

As for the tang nano denise/rgb2hdmi replacement. Yeah, that looks pretty sweet. Would be nice to have a non-Pi based solution. I guess, at least when development slows down on one thing then efforts may be made elsewhere to produce other interesting things that may potentially benefit a large number of users, which is a good thing.
alexh wrote: Mon Jun 27, 2022 11:56 pm I'm really looking forward to the work of Badwolf in bringing PiStorm to Atari and if there is anything I can do, just ask. Sounding ideas, encouragement, financial support, technical debug I'm open to helping however I can.
Yeah, i have been following this over on discord. Whilst I am not an Atari user, the aim was always to eventually have compatibility with other 68k systems so it's great to see someone looking into this again. I know a few have done some work on that and the Mac before, and one of the main hold ups is again the CPLD firmware, which it appears badwolf is well aware of and has some things in mind for.
User avatar
Badwolf
Posts: 2230
Joined: Tue Nov 19, 2019 12:09 pm

PiStorm chat

Post by Badwolf »

So back into the swing of things with this last night. I built and fitted by debug breakout board to let me sniff some wires more easily:-

rsz_fwchpzkxkaal3dz.jpg
rsz_fwchpzkxkaal3dz.jpg (143.38 KiB) Viewed 2190 times

So this at proved that lines were firing when they should -- the correct addresses were being asked for, etc.

Chances are the problems I've been seeing are related to timing or latching, then.

Let's have a quick look at the memory accesses during startup (EmuTOS custom):

Screenshot_2022-06-29_at_23.18.00.png
Screenshot_2022-06-29_at_23.18.00.png (123.42 KiB) Viewed 2190 times

The initial read of 0x000000 is just off the top of the page, but we can see the initial the ROM reads are correct and execution jumps to 0xE00030 as it should.

Then we get to what looks like a stack write. An exception is possibly generated here? Testing the processor type, probably. We write the PC to 0xFFC (0xE00070) and the value 0x2704 to 0xFFA. Certainly feels stackish, although dunno the signficance of 0x2704.

Then we read the illegal instruction vector: 0x10 and 0x12. We've just written them before (higher up): they should be 0xE00074. BUT we get 0x270400E0!

ie. the first word read returns the value we just wrote to the stack and the second read returns the value we were expecting to see in the first read!

If this is repeatable it looks very much like we're reading the *last* thing on the databus on occasion.

Obviously things now go wrong as the processor tries to jump to 0x270400E0 -- truncated to 0x0400E0 and there's nothing of use there.

But to me this smells like we're latching the data too early on a RAM read. ROM reads seem reliable & DTACK is asserted a lot earlier on those. I suspect the data is probably ready on the bus a lot sooner with the ROM. It could be we've got a bit of a hair trigger data latch.

So I'll move the logic analyser over to the data lines and see if I can see what's up. Might need to insert some extra wait states in the CPLD logic.

Hopefully some progress!

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
DSTB1 Open source 16Mhz 68k and AltRAM accelerator for the ST
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
Post Reply

Return to “HARDWARE DISCUSSIONS”