#pds — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pds, aggregated by home.social.
-
Sahra Wagenknecht will ein öffentlich-rechtliches Duell mit Björn Höcke. Björn Höcke bietet Sahra Wagenknecht an, Ministerpräsidentin einer gemeinsamen Koalition zu werden. Irrsinn oder Methode – Wahnsinn oder TicToc-Realität? Wer sich wie Sahra Wagenknecht derartig selbst ins Abseits gestellt hat und dabei politisch mit dem Faschisten Björn Höcke flirtet, hat sich damit endgültig als das entlarvt, was sie immer im innersten antrieb: Die weibliche Reinkarnation autoritärer Politik in der Tradition Josef Stalins und – nebenbei – auch Adolf Hitlers. Nein,das ist keine Hufeisentheorie, Links gleich rechts, sondern zeigt nur die Parallelen in den Politikmethoden auf.
Erinnern wir uns, womit Sahra Wagenknechts politische Karriere begann: Die damalige SED-Nachfolgepartei PDS versuchte sich in den 90er Jahren händeringend unter ihren “vernüftigen” Köpfen wie Gregor Gysi und Petra Pau, die für Mehrheiten gegen die “alten Kader” kämpfen mussten, sie zu einer demokratischen, linken Partei umzugestalten, die nicht nur sozialistische Ideologie verfolgte, sondern langsam auch demokratische Methoden erlernte und praktizierte. Ein historisch bis heute viel zuwenig gewürdigter Transformationsprozess angesichts vieler “alter Kader”. Eine bekannte Schwäche des DDR-Sozialismus, der seit 1949 inhaltlich auf dem Papier stand, aber niemals verstanden hatte, dass “Demokratie” eine politische Methode ist und demokratischen Umgang miteinander voraussetzt. Dass Toleranz, Minderheitenschutz und Entscheidungsoffenheit elementare Prinzipien der Demokratie sind.
Nazi-Methoden ohne sie zu hinterfragen, übernommen
So hat etwa die FDJ Methoden der Hitlerjugend – Führerprinzip, Strafen gegen abweichende Meinungen, Bespitzelung und Denunziation von Genoss:innen, Freunden und Eltern nahtlos übernommen und nur die völkisch-faschistischen gegen angeblich sozialistische Ziele ausgetauscht. Die StaSi hat vierzig Jahre in der DDR im Prinzip dieselben Methoden angewandt, wie sie bei der GeStaPo üblich waren. Die Gefängnisse, ihre Foltermethoden und ihr Strafrecht, das die Todesstrafe nicht ächtete, sondern in Geheimprozessen völkerrechtswidrig anwendete, unterschied sich nur partiell von der NS-Justiz. Wer wie Wagenknecht 1990 in der historischen Situation des Bruchs der DDR mit ihrer autoritären Vergangenheit eine Plattform innerhalb der PDS gründet, die diese alte Ordnung erhalten oder wiederherstellen will, muss schwer an einem autoritär-antidemokratischen Weltbild leiden.
Drei Jahrzehnte autoritärer Demagogie
Dreißig Jahre hat Wagenknecht ihre autoritäre Linie verfolgt, bis es der emanzipatorisch denkenden, sich inzwischen emanzipierten Mehrheit der “Linken” zuviel wurde. Die Krise schwelte lange und wurde auch und nicht zuletzt durch die Rolle, die der legendäre West-SPD-Dissident Oskar Lafontaine spielte, verdeckt und kaschiert. Es folgte zwangsläufig der Bruch durch die Abspaltung des “BSW”, als einer Fraktion der Unbelehrbaren oder besser lernunfähigen Linken und die Gründung des BSW. Das BSW agierte von Anfang an und bis heute nach der DDR-Methode des “demokratischen Zentralismus”. Sahra Wagenknecht und der Bundesvorstand handeln methodisch wie das ZK der SED und maßen sich an, den Landesverbänden Richtlinien und Anweisungen zu geben oder sich – wie derzeit – von oben in die Politik der Landesverbände einzumischen.
Das “Gallische Dorf” Thüringen
In Thüringen hat das nie funktioniert, weil sich dort die heutige Finanzministerin Katja Wolf nicht nur von Wagenknecht emanzipierte, sondern auch eine selbstbewusste, demokratisch organisierte Landespartei aufbaute, die eine ebenso demokratische Liste aufstellte. Das war der Schlüssel zur Regierungsbeteiligung und Entwicklung des BSW zum verlässlichen Regierungspartner. Die Reaktion auf die autoritären Versuche Wagenknechts, die BSW-Regierungsarbeit, die sie von Anfang an zu torpedieren versuchte, nun unter dem lächerlichen Vorwand, die Aberkennung der Promotion des Ministerpräsidenten Mario Vogt sei ein wichtiger Grund, die Regierung zu verlassen, entpuppt sich vor dem Hintergrund der Flirts Wagenknechts mit dem Faschisten Höcke als mieses Intrigenspiel. Das BSW soll in einer Situation, in der faschistoide AfD-Politik im Osten droht, erstmals Mehrheiten zu erreichen damit, demokratische Koalitionen zu verlassen, um diese politisch zu schwächen. Offensichtlicher kann jemand nicht den Faschisten in die Hände arbeiten.
Narzissten in der Politik enden sich selbst
Was Sahra Wagenknecht mit Donald Trump gemein hat, ist der Moment, in dem ein politisch handelnder Mensch, der andere Menschen erreichen kann, den Kontakt zu seiner eigenen Persönlichkeit verliert, der eine Zeitlang durch Inhalte zu den Menschen besteht, der ignoriert oder nicht merkt, dass Machtrausch und eigene Eitelkeit und die üblichen sozialen Fertigkeiten wie Emphatie und die Möglichkeit zur menschlichen Kommunikation auf Augenhöhe enden. Von da an sind alle Begegnungen nur noch Machtspielchen, lächerliche Hahnen- und Hennenkämpfe und intersexuell gültige Schwanzvergleiche. Realität der Politik spielt irgendwann für diese Individuen keine Rolle mehr. Bei Sahra Wagenknecht ist dies ihre Ignoranz der Realität einer unerwartet schwierigen, aber funktionerenden Koalition gegenüber und der Tatsache, dass ihre politische Destruktivität niemand braucht – und bei Donald Trump ist das die Weigerung, zu begreifen, dass er den Krieg gegen den Iran nicht nur verloren hat, sondern die Mullahs in Machtpositionen – der Kontolle der Straße von Hormus – gebracht hat, von denen die vorher nicht einmal träumen konnten.
-
PDS – the Programmers Development System – Part 8
I thought it time to take a proper look at the Amstrad Target board, seeing as I’ve managed to find myself an Amstrad CPC 464. But first I have a short diversion into loading from audio files.
- Part 1 – Introduction, background and some initial reverse engineering.
- Part 2 – A closer look at the PC ISA Interface card.
- Part 3 – Remaking the target interfaces.
- Part 4 – Building the boards.
- Part 5 – Getting everything running (first, unsuccessful attempt).
- Part 6 – Some serious diagnostics and a breakthrough (at last)!
- Part 7 – Diagnostic module PCB.
- Part 8 – Audio loading and the Amstrad target board.
- Find it on GitHub here: https://github.com/diyelectromusic/PDS_Remake
TAP to Real Audio Files
I wanted to produce an audio file of the TAP file for use with the ZX Spectrum and producing a WAV file was relatively straight forward. But finding a way to play it was a lot more tricky than I expected…
Initially I figured I’d just play the file using TZXduino and record it using a phone or something and that did work, but it was a bit noisy. And it wouldn’t load.
But then I discovered https://www.igormaznitsa.com/tap2wav/index.html
This is great and generates a really clean signal. The first utility I found didn’t centre the “zero” point in the wave properly, so I thought that might cause problems, but this one does everything really clearly and when the signal is opened in an Audio editor, we can see how precise everything is.
But this still doesn’t load. So far I’ve tried the following:
- Use a smartphone with a USB-C to 3.5mm jack adaptor.
- Use a dumbphone with a physical headphone jack.
- Use old, otherwise essentially useless, AAA powered MP3 players (several tried).
In terms of the files themselves, I’ve tried the following:
- WAV and MP3.
- Boosting, halving, otherwise adjusting the volume of signals.
- Using a noise-gate filter.
But nothing I’ve tried works. At one point I got the first stage loader to register as far as the filename on the screen, but then R Tape Loading Error.
Asking online, I got some answers. It turns out that modern digital players do not have the kinds of output levels that will drive a ZX Spectrum. A system with a significant volume range may do it, but chances are nothing will compare to a “vintage” small tape recorder.
Stewart Russell on Mastodon sent me to this link which has a really elegant solution: https://retrocomputing.stackexchange.com/questions/773/loading-zx-spectrum-tape-audio-in-a-post-cassette-world
The basic idea is to use a battery powered player, so it has no common GND to the Spectrum, and then create a differential stereo signal. Then using a stereo jack, it will connect to the mono jack in the Spectrum with one channel being GND and the other channel being signal. This has the effect of doubling the signal. That is really lateral thinking!
I’ve not tried it at this stage, and really I’d like to find a bit of a more conventional solution, but really at the end of the day it is hard to compete with the TZXDuino/MaxDuino type solution.
Amstrad CPC Target Board
I really wanted to try to get the Amstrad board running, but to do that, I was missing a rather vital piece of equipment. I don’t have an Amstrad 8-bit computer. Until now. At a recent retro sale at The Retro Collective I managed to pick up an Amstrad CPC 464 with a colour monitor, and it appears to work, which is amazing.
So I set about repeating some of the steps I took in Part 5 with the Spectrum board.
Key points:
- There are Amstrad equivalents of the DL0, DL1 and DL2 monitor code for the Amstrad CPC.
- The Amstrad target board usings ports &FBEC-&FBEF for the PIO data and control channels.
- Otherwise, everything should be essentially the same as the Spectrum version.
The steps to get the monitor code into something usable for me are:
- Make the same adjustments (JPs, labels and removing PDS specific instructions) to the source.
- Assemble it using an online Z80 assembler.
- Take the HEX or Binary output and turn it into something I can use with the Amstrad.
And here I hit the first problem. The Amstrad CPC 464 does not have an external tape port, so I can’t use it with my TZXDuino. The TZXDuino does support the CDT tape format that many Amstrad images use, but there is no where to plug it in. There are a number of projects online that show how to add a typical (for later models) Amstrad 5-pin DIN cassette port socket, but so far I don’t have that.
So another option was to use some of the previous techniques to produce an audio file I could actually et onto a tape. But whilst my tape drive (the “datacorder”) has working FF and REV, it seems that Play does not engage the transport to move the spindles. So that is something I’ll need to sort out at some point.
So for now, if I want to try it, I’m back to typing in a BASIC machine code loader.
The Amstrad BASIC is a bit more sophisticated than the Spectrum, so I can use HEX values directly. This means it is fairly trivial to take the HEX record format and with a bit of repetitive cut-and-pasting get the values as HEX codes in a BASIC program as follows.
:108000003EFF01EEFBED79ED790CED790EEDED79AA
:108010000EEF3E3FED791640F3CD60807BFEB4CA93
:108020004380FEB7CA3980FEB5C21980CD60806337
:10803000CD60806B011980C5E9CD6080067F4BED76
:108040004918D6CD608063CD60806BCD608043CD14
:1080500060804BCD608073230B78B1C2538018B918
:10806000C501EDFBED78AA0FDA64800DED580C7AAE
:07807000ED79EE8157C1C953
:00000001FF
5 SYMBOL AFTER 256: MEMORY &7FFF: SYMBOL AFTER 240
10 LET a=&8000
20 READ n: POKE a,n
30 LET a=a+1
40 GOTO 20
100 DATA &3E,&FF,&01,&EE, &FB,&ED,&79,&ED
105 DATA &79,&0C,&ED,&79, &0E,&ED,&ED,&79
110 DATA &0E,&EF,&3E,&3F, &ED,&79,&16,&40
115 DATA &F3,&CD,&60,&80, &7B,&FE,&B4,&CA
120 DATA &43,&80,&FE,&B7, &CA,&39,&80,&FE
125 DATA &B5,&C2,&19,&80, &CD,&60,&80,&63
130 DATA &CD,&60,&80,&6B, &01,&19,&80,&C5
135 DATA &E9,&CD,&60,&80, &06,&7F,&4B,&ED
140 DATA &49,&18,&D6,&CD, &60,&80,&63,&CD
145 DATA &60,&80,&6B,&CD, &60,&80,&43,&CD
150 DATA &60,&80,&4B,&CD, &60,&80,&73,&23
155 DATA &0B,&78,&B1,&C2, &53,&80,&18,&B9
160 DATA &C5,&01,&ED,&FB, &ED,&78,&AA,&0F
165 DATA &DA,&64,&80,&0D, &ED,&58,&0C,&7A
170 DATA &ED,&79,&EE,&81, &57,&C1,&C9
RUN
CALL &8000In the above, we can see the HEX record for DL0 (with the PDS specific details removed) with an ORIGIN of 0x8000. Then there is the equivalent BASIC loader with the data statements for the HEX values less the line headers and checksums. This is followed by the two instructions I need to RUN the loader and then CALL the code.
That first line of the BASIC programme is apparently how one limits the memory used by BASIC and reserves space for user machine code programmes.
I typed all this in and checked as I was going, and then double checked at the end. But then – nothing. The PC end is exactly the same as before and I was going to attempt to fill some screen memory again (which apparently starts at 0xC000) but when I tried to link with the target I got the dreaded “computer is not receiving” error. Reluctantly I had to reset the Amstrad and attempt to figure out what was going on.
Following the same process I took in Part 5 (and using my diagnostics board from Part 6) I first tried to write directly to the Z80 PIO from Amstrad BASIC using OUT instructions:
OUT &FBEF, 255 : REM Port B Control
OUT &FBEF, 63 : REM Port B bits 6,7 as OUTPUT
OUT &FBED, 128 : REM Port B Data bit 7
OUT &FBED, 0This should have turned the Target->PC LED on then off. But I got nothing.
At this point I went back and verified the schematic and address decoding to make sure I knew what was supposed to be happening. The relevant part of the schematic is shown below:
For address decoding, A0 and A1 have the same function as before – they select between ports A and B and control and data. The IO address is determined by A4 and A10 via an OR gate into /CE. This has the following decoding:
A10A4/CE000011101111We can see that the only combination that results in /CE being LOW (so activating the Z80 PIO) is when A4 and A10 are both 0. Once again though this leads to very slopping address decoding as, ignoring A0 and A1, any of the other 10 address lines could be any value and the decoding will still trigger.
The convention appears to be to use “all HIGH” addresses, which gives us the prefix used 0xFBEC as follows:
0xFBEC = b1111 1011 1110 11xx
The other things I pondered where how the enable switch connects the /IORQ line of the PIO HIGH in both cases but once with a direct 10K pull-up and once with a 1M pull-up and then on to the edge connector /IORQ. Also I noted that the CLOCK is connected to CLK4 on the edge connector; and how only /RD is connected (i.e. not /WR) alongside /M1. But otherwise there was nothing particularly odd going on.
At this point I grabbed the oscilloscope and started to probe things as I ran the OUT instructions. At one point I knocked the card and had a pile of gibberish appear on the screen as if I’d typed random characters on the keyboard, so I wondered if it was seated properly.
Power off and reseating the board and trying the OUTs again and this type I actually got some LEDs being controlled. Perhaps it just wasn’t physically connected properly.
At this point I sealed myself to retyping in the BASIC loader once again.
I still didn’t seem to get any response to my attempts to fill the screen from the PC PDS, but critically I also wasn’t getting the “computer not receiving” errors either. When I put a scope on the PC to Target and Target to PC control lines, I can see them both toggling in response to the communications happening.
So at this point I can say pretty confidently that the Amstrad CPC Target board is working, but for some reason (probably due to my lack of knowledge about how the Amstrad works) I’ve not been able to induce an observable effect in the CPC by poking memory.
I’ve looked over the monitor code and I can’t see any reason why it wouldn’t do the same as the Spectrum code. I did notice that it appears to disable interrupts near the start, but then so did the Spectrum version. But would this stop the display updating? More research is needed.
Conclusion
I think I’ve shown that the card itself, and probably the provided code, does work which was my main aim.
Unfortunately at this point I don’t know enough about the Amstrad to figure out quite how to drive the PDS in a useful way so on that front I still have some work to do.
But I’m going to leave this here for now. If I figure anything else out, I’m come back and update things.
Kevin
#amstradCpc #pds #programmersDevelopmentSystem -
Yeesh, Flash Flood Emergency now in Richmond, Indiana...
"... At 310 PM EDT, local law enforcement reported flash flooding in
Numerous flooded roads across the warned area, with up to 5 feet of
water in Cambridge City...." -
“…the World Wide Web Consortium ( #W3C ) formally re-chartered the #SocialWeb Working Group (2026–2028). At the top of its agenda is a standard designed to make server #migration seamless: #LOLA (Live, #OnlinePortability ).
In this article, we examine how the LOLA specification works, why seamless account #portability is the missing pillar of the #openweb, and how it compares to alternative models like the AT Protocol's Personal Data Servers ( #PDS ).”
https://opensocialbiz.com/articles/right-to-leave-w3c-lola-fediverse-account-migration -
Mijn #pds gaat niet lekker. In de ochtend geen probleem, maar na warme eten heb ik al meerdere avonden erge buikpijn en veel bezoek aan de wc. Ik begrijp het niet… en daar word ik erg onrustig van, wat weer niet zo goed is voor de pds en de #ls
T zou een reactie op gluten kunnen zijn. Opeenstapeling van de hele dag. Maar ook op bepaalde groenten waar ik tot nu toe nooit last van had.
Ik weet niet wat ik liever heb, als ik die keuze heb…. Nu eerst eens experimenteren met de medicatie die ik heb, als ik deze op een ander moment van de dag inneem -
Today on NovaLandia: "Northsky: A Haven for the Trans Community, or a Trap"
If you know me, you know I'm the "misandry isn't real" and offline closeted trans woman whoms't doesn't know if I'll ever return to transition, unless by some miracle I fall into a supportive circle a...
https://mkultra.monster/fediverse/2026/08/04/whats-a-northsky-anyway/
-
Today on NovaLandia: "Northsky: A Haven for the Trans Community, or a Trap"
If you know me, you know I'm the "misandry isn't real" and offline closeted trans woman whoms't doesn't know if I'll ever return to transition, unless by some miracle I fall into a supportive circle a…
https://mkultra.monster/fediverse/2026/08/04/whats-a-northsky-anyway/
#trans #community #mastodon #pds #northsky -
Well, by some minor miracle we *appear* to have avoided major losses in #Oregon despite the #RedFlagWarnings, #FireWeatherWatches and #PDS notifications. Minimal fire growth, but we've still hit an all time record for YTD acres burned, beating out 2024's gangbuster of a season. These successes are a testament to the complete and coordinated fire protection system here in #Oregon.
We still have 6-8 weeks to go with more red flag warnings and a growing heatwave.
-
Meanwhile, in North Carolina, Flash Flood Emergency (PDS).
Flash Flood Warning
NCC171-021230-
/O.NEW.KRNK.FF.W.0023.260802T0432Z-260802T1230Z/
/00000.0.ER.000000T0000Z.000000T0000Z.000000T0000Z.OO/BULLETIN - EAS ACTIVATION REQUESTED
Flash Flood Warning
National Weather Service Blacksburg VA
1232 AM EDT Sun Aug 2 2026...FLASH FLOOD EMERGENCY FOR AREAS SURROUNDING THE TOWNS OF MT. AIRY
AND PILOT MOUNTAIN...The National Weather Service in Blacksburg has issued a
* Flash Flood Warning for...
Northeastern Surry County in northwestern North Carolina...* Until 830 AM EDT Sunday.
* At 1232 AM EDT, Doppler radar indicated that heavy rain has exited
the hardest hit areas of eastern Surry County, western Stokes
County, and southwest Patrick County. Between 4 and locally 7
inches of rain have fallen since around 8 PM Saturday evening.
Severe flash flooding is already occurring, with numerous water
rescues taking place in the Mt. Airy and Pilot Mountain areas.
Rutledge Creek, Seed Cane Creek, Faulkner Creek, and the Ararat
River all continue to rise extremely quickly, and are reported
flowing out of their banks and surrounding nearby homes. Roads
that are expected to be flooded and impassible include East Pine
Street, Riverside Drive, Westfield Road, and Welcome Baptist
Church Road, to name a few.This is a FLASH FLOOD EMERGENCY for areas surrounding the towns of
Mt. Airy and Pilot Mountain. This is a PARTICULARLY DANGEROUS
SITUATION. SEEK HIGHER GROUND NOW!HAZARD...Life threatening flash flooding. Thunderstorms
producing flash flooding.SOURCE...Radar.
IMPACT...This is a PARTICULARLY DANGEROUS SITUATION. SEEK
HIGHER GROUND NOW! Life threatening flash flooding of
low water crossings, small creeks and streams, urban
areas, highways, streets and underpasses.* Some locations that will experience flash flooding include...
Mount Airy... Flat Rock...
Pilot Mountain... Cana...
Woodville... Ararat...
Westfield...This includes the following streams and drainages...
Big Creek, Ararat River, Bull Creek and Archies Creek. -
Dites
J'ai découvert les protéines de soja et de pois y a pas longtemps (j'suis végé, et je tends de + en + vers le veganisme).
Alors je sais qu'on est censé·e les réhydrater et les cuisiner et tout.
Mais 1) j'ai (je prends 😅) rarement le temps de cuisiner
Et 2) j'les ai goûté telles quelles (déshydratée), mélangées avec mes plats, et je kiffe de ouf le goût et le crounchy !J'suis la seule à faire ? ^^"
J'en mets :
• dans mes salade, ça fait office de croutons,
• dans mes pâtes avec de la sauce,
• dans ma compote avec flocons d'avoine,
• dans mon quinoa/mes mélanges de graines et céréales avec de la sauce et des legumes,
...J'ai l'impression que c'est pas ouf de faire, mais j'comprends pas trop ppurquoi, c'est très bon !
P.S. : mes préférées en goût et texture en photo
-
Flash Flood Emergency in Beaver, Utah
Flash Flood Statement
National Weather Service Salt Lake City UT
252 PM MDT Sun Jul 19 2026UTC001-200200-
/O.CON.KSLC.FF.W.0031.000000T0000Z-260720T0200Z/
/00000.0.ER.000000T0000Z.000000T0000Z.000000T0000Z.OO/
Beaver UT-
252 PM MDT Sun Jul 19 2026...FLASH FLOOD EMERGENCY FOR BEAVER CITY...SPECIFICALLY THE GROVE
AREA......FLASH FLOOD WARNING FOR THE COTTONWOOD BURN SCAR IN BEAVER COUNTY
REMAINS IN EFFECT UNTIL 8 PM MDT THIS EVENING FOR EAST CENTRAL
BEAVER COUNTY...At 252 PM MDT, A large debris flow has over topped the diversion dam
in Beaver Canyon. It is expected that several additional debris flow
waves are forthcoming. Debris flow waves are expected to come in
pulses as this debris flow continues downstream into the Grove area
of Beaver City, with the initial wave reaching there imminently.
Between 0.5 and 1.5 inches of rain have fallen over the majority of
basins in the Beaver Canyon area. Flash flooding is already
occurring.Excessive rainfall over the burn scar will result in debris flow
moving through the Beaver River system downstream to the Grove area
of Beaver City. The debris flow can consist of rock, mud, vegetation
and other loose materials.This is a FLASH FLOOD EMERGENCY for Beaver City...specifically the
Grove area. This is a PARTICULARLY DANGEROUS SITUATION. SEEK HIGHER
GROUND NOW!HAZARD...Life threatening flash flooding. Thunderstorms producing
flash flooding in and around the Cottonwood Burn Scar in
Beaver County. A very large debris flow is moving down
the Beaver River now!SOURCE...Law enforcement reported.
IMPACT...This is a PARTICULARLY DANGEROUS SITUATION. SEEK HIGHER
GROUND NOW! IMMEDIATE EVACUATION for areas in and around
the Cottonwood Burn Scar in Beaver County.Some locations that will experience flash flooding include...
Beaver City...specifically the Grove area.#BeaverUT #UTwx #flashflood #debrisflow #PDS #CottonwoodFire
-
PDS Flash Flood Emergency for Sonora, TX
-
PDS Flash Flood Emergency, Boerne, TX
BULLETIN - EAS ACTIVATION REQUESTED
Flash Flood Warning
National Weather Service Austin/San Antonio TX
1211 PM CDT Wed Jul 15 2026...FLASH FLOOD EMERGENCY FOR BOERNE...
The National Weather Service in Austin/San Antonio has issued a
* Flash Flood Warning for...
Southwestern Kendall County in south central Texas...* Until 815 PM CDT Wednesday.
* At 1211 PM CDT, emergency management reported flash flooding in
Boerne. Between 4 and 12 inches of rain have fallen. Additional
rainfall amounts of 1 to 2 inches are possible in the warned area.
Flash flooding is already occurring. High water rescues are in
progress and some people are stranded.This is a FLASH FLOOD EMERGENCY for Boerne. This is a PARTICULARLY
DANGEROUS SITUATION. SEEK HIGHER GROUND NOW!HAZARD...Life threatening flash flooding. Heavy rain producing
flash flooding.SOURCE...Emergency management reported.
IMPACT...This is a PARTICULARLY DANGEROUS SITUATION. SEEK
HIGHER GROUND NOW! Life threatening flash flooding of
low water crossings, small creeks and streams, urban
areas, highways, streets and underpasses.* Some locations that will experience flash flooding include...
Boerne, Cascade Caverns and Scenic Oaks.PRECAUTIONARY/PREPAREDNESS ACTIONS...
Move to higher ground now! This is an extremely dangerous and
life-threatening situation. Do not attempt to travel unless you are
fleeing an area subject to flooding or under an evacuation order.Turn around, don't drown when encountering flooded roads. Most flood
deaths occur in vehicles.&&
LAT...LON 2980 9866 2975 9867 2974 9868 2973 9875
2983 9883 2985 9876 2984 9871FLASH FLOOD...OBSERVED
FLASH FLOOD DAMAGE THREAT...CATASTROPHIC$$
05
-
Right, the PDS repository is now public and the blog series should now be up to date with where I've got to with it all so far.
Series starts here: https://emalliab.wordpress.com/2026/05/04/pds-the-programmers-development-system/
-
dovete sapere che i documenti segreti del governo americano rivelati da Julian #Assange e #WikiLeaks e anche quelli semplicemente ripubblicati da #WikiLeaks,tipo i #KissingerCables e #CarterCables rivelano segreto lavoro USA contro #PCI prima e #PDS poi
-
PDS – the Programmers Development System – Part 6
This series of posts looks at the Programmers Development System (PDS).
- Part 1 – Introduction, background and some initial reverse engineering.
- Part 2 – A closer look at the PC ISA Interface card.
- Part 3 – Remaking the target interfaces.
- Part 4 – Building the boards.
- Part 5 – Getting everything running (first, unsuccessful attempt).
- Part 6 – Some serious diagnostics and a breakthrough (at last)!
This part gets serious about attempting to debug eveything and find out why it isn’t working…
PDS Diagnostic Breakout
The starting point is trying to figure out what is going on with the signals on the link. To do that, I’ve built a simple breakout which can be used to probe the signal lines or, as in my case, attach some LEDs.
I initially thought I could use some of those “cobbler” breakout boards that expand out Raspberry Pi GPIO to solderless breadboards. But unfortunately, they aren’t a direct 2×13, 2×20 mapping to the breadboard, as the GND pins are all linked together and would short some of the PDS connections.
Instead I went with building something simple myself using protoboard:
It is a straight, simple breakout from the 2×8 way header to two sets of 8-way header pins suitable for plugging into a solderless breadboard.
I’m wiring it up as a “straight through” connection to the target board, mostly to save me having to make more PDS cables – doing it this way means a simple Euro rack 2×8 power ribbon will do (and I have quite a few of those kicking around).
This is the wiring I’m using for the board. Recall the target connector has the following pinouts:
N/CN/CN/CN/CN/CZX->PCPC->ZXGNDD7D6D5D4D3D2D1D0Assuming I have it all right of course.
This now allows me to attach some 8-way LED breakout boards that connect to 8 signals plus ground to allow for easy observations.
Testing the ZX Spectrum Board
At this point I can confirm that the ZX Spectrum target board can still talk to its Z80 PIO using the following BASIC code:
10 OUT 127,255
20 OUT 127,63
30 FOR n=0 TO 100: NEXT n
40 OUT 63,128
50 FOR n=0 TO 100: NEXT n
60 OUT 63,0
70 GOTO 30This is basically a ZX Spectrum/Z80 PIO/PDS “blink” application using the “ZX to PC” pin.
https://makertube.net/w/kQNKyii3R9gYu2iiW6r2f5
So what is going on here? Recall from Part 1 that the IO ports used are as follows:
IO PORTFunctionNotes31Port A DataUsed for the D0-D7 lines (via a buffer)63Port B DataUsed for the ZX<->PC control95Port A ControlUsing Z80 PIO “Mode 3”127Port B ControlUsing Z80 PIO “Mode 3”The mapping of Port B Data to PDS control pins isn’t as one might expect however, again from Part 1, we have noted:
76543210 PORT B DATA BITS
0-- Pin 3: PC to ZX
4321--- Not used
5------- Pin 7: Function unknown
6-------- Data buffer direction control (0=OUT; 1=IN)
7--------- Pin 5: ZX to PCArmed with this knowledge, we can explain the BASIC program as follows:
OUT 127,255 : PORT B Control = b11111111 MODE 3: bidirectional
OUT 127,63 : PORT B Control = b00111111 Bits 6,7=OUTPUT, 0-5=INPUT
OUT 63, 128 : PORT B Data = b10000000
OUT 63, 0 : PORT B Data = b00000000The data lines go via a buffer, so can also be driven if the DIR pin (bit 6 of PORT B) is set appropriately prior to use (LOW = OUTPUT):
10 OUT 127,255 : REM Mode 3
20 OUT 127,63 : REM b6,7=OUT, b0-5=IN
30 OUT 95,255 : REM Mode 3
40 OUT 95,0 : REM b0-7=OUT
50 OUT 63,128 : REM b7=HIGH
60 FOR n=0 TO 100: NEXT n
70 OUT 63,0 : REM b7=LOW
80 FOR n=0 TO 255
90 OUT 31,n : D0-7 = n
95 FOR f=0 TO 10: NEXT f
100 NEXT n
110 OUT 31,0 : D0-7 = 0
120 GOTO 50At this point I can see all data lines counting and the ZX to PC pin being toggled as expected.
Whilst I’m on the topic, I should probably check the input side too.
10 OUT 127,255 : REM Mode 3
20 OUT 127,63 : REM b6,7=OUT, b0-5=IN
30 OUT 95,255 : REM Mode 3
40 OUT 95,255 : REM b0-7=IN
50 OUT 63,192 : REM b7=HIGH, b6=HIGH
60 FOR n=0 TO 10
70 PRINT IN 31
80 NEXT n
90 OUT 63,64 : REM b7=LOW, b6=HIGH
100 FOR n=0 TO 10
110 PRINT IN 31
120 NEXT n
130 GOTO 50With this, I can connect the single OUTPUT pin to any of the data lines and see if the values change as the OUTPUT pin state changes. The pins do indeed change, but the state is often inverted, so when the OUTPUT is connected to D1 (for example) the value toggles between 255 and 253, but this is basically because the other input lines are floating when not connected and in this case are reading HIGH.
All good so far. Next is to see what happens when I fire up the PC end.
Testing the PC Board
Making sure the Spectrum PDS is in INPUT mode, I can try some commands from the PC (I’m still not running the monitor at this stage):
10 OUT 127,255 : REM Mode 3
20 OUT 127,63 : REM OOIIIIII
30 OUT 95,255 : REM Mode 3
40 OUT 95,255 : REM IIIIIIII
50 OUT 63,192 : DIR PC->ZX (plus setting b7 so I can see something)When I run the F(ill) command in the Monitor (F4):
F 32768,16,255
I can see one of the control lines and some of the data lines flash, so that is an encouraging sign that the PC card has a working 8255 IO device and is able to at least try to send data to the target.
Catching it on video, it is just about possible to make out the binary value put on the data lines reading 10110011 which is 179 in decimal. Looking at the PDS protocol description in the PDS Z80 Manual, we can see that 179 is used a lot at the start of commands, as it is the padding byte.
Changing the command to 183 (change bank “Z 1”) which doesn’t have a padding byte, I can indeed see a different pattern on the data bus for b10110111 or for the register command (184, “R”) b10111000.
I can also see the “PC to ZX” control bit changing as the commands are happening, so this gives me confidence that the 8255 on the PC card is at least outputting ok.
Of course at this point nothing is responding so I continue to get “other end is not receiving” errors.
Tape Loading via TZXDuino
At present it is looking like the hardware is probably working, which does seem to point therefore to the target monitor application. Typing the code in was never really a reliable option, so I need to find a way to load it in directly. That is the next task.
I’ve just acquired a TZXDuino. I must admit I was seriously considering just building one, but then decided I wouldn’t be learning much new by doing so and would rather have a neater unit so I bought one from MyRetroStore (link here). There is even an option of 3D printing a case, which I’ll look into a some point.
The more modern way to get games loaded is something like the DivMMC but that is a lot more expensive. Another option could be the Dandanator, but that requires reprogramming memory every time something changes. Possibly something for the future. I particularly wanted to go back to that “tape loading” experience initially (but without going on a side-quest to get my old tape player working again – this project has had enough side questions already!) so the TZXDuino is a great option for me.
It will take TAP and TZX files only though with is a bit of a limitation, but games can be found if you hunt around enough (although many sites seem to have stopped publishing downloadable TAP or TGZ files). It also has the ability to load up AY sound tracks, so that will be something to explore in the future when I get one of my 128Ks running again.
It requires a micro SD card, a mini-USB power lead and a mono 3.5 to 3.5 jack to plug into the Spectrums EAR socket (the Spectrum sockets are labelled for the thing they need to plug into).
One downside of the composite video mod is that there is no audio through the monitor/TV anymore. But the MIC socket provides an audio out that can be fed into an external amp or even the audio companion sockets to the composite video again using a mono 3.5mm jack lead.
This is a sight and experience I haven’t had for a long time. And given (waves hands around), perhaps it was from “a more civilized age” too…
The Spectrum Monitor
The biggest issue I have is how to bootstrap everything, but now I can load in TAP files, I “just” need to figure out how to create a TAP file from my pds binaries from Part 5. I spent a bit of time looking at the format of a TAP file and could probably write something to hard-code one out – it is basically a wrapper format for a string of binary chunks of data normally created from the Spectrum SAVE command – but then I found http://zeroteam.sk/bin2tap.html which does exactly that and has a Windows command line tool pre-built.
I used the following command to create a TAP file for the PDS DL0 binary created in Part 5:
bin2tap(vs3008).exe -a 32768 -r 32760 pdsdl0.bin
This sets the load address to 32768 ($8000) which is the origin used in the assembler. It also sets the start address to 32760 ($7FF8) which apparently is where execution will start (I don’t really understand why at this stage). This creates the file pdsdl0.tap by default.
This can now be transferred to the TZXDuino and loading in using LOAD “” in the usual way. Except that it seems to drop out before fully loading.
After experimenting with some more options (the source code for the tool has a really good readme) I settled on:
bin2tap(vs3008).exe -a 32768 -r 32760 -b pdsdl0.bin
This adds the “-b” option which creates a BASIC bootloader program. I haven’t seen the produced code directly myself, but the readme suggests it will create the following BASIC loader (there is a good explanation of how this works here):
10 REM loader by bin2tap1.3
20 BORDER VAL "0": PAPER VAL "0": INK VAL "7"
30 CLEAR VAL "24575"
40 POKE VAL "23739", CODE "o"
50 LOAD "name_of_file" CODE
60 RANDOMIZE USR VAL "32768"This still seems to drop out, so I wondered if the code was a bit small. I opened the pdsdl0.bin file in Notepad++ and used the HEX viewer plugin to pad the code out to address $200 with 0s. Then re-running the convertion this now does indeed seem to load. The screen goes black after showing the pdsdl0 code string and everything seems to hang – but I think this is just the PDS code running.
When I attempt a fill command now from the PDS, I’m no longer getting “not receiving” errors, so this sounds hopeful. The basic downloader DL0 though doesn’t really let me do very much, so I’m now repeating the above with the DL1 code.
Here is my full procedure to create a DL1 bootloader running on a real ZX Spectrum:
- Use https://beta.asm80.com/.
- Create a new file called pdsdl1.z80 and paste in spec.dl1 from the PDS\Demos area.
- Add “:” to all the code labels.
- Expand all shortcut jump instructions to their full versions – e.g. JZ LABEL becomes JP Z,LABEL
- Comment out the last section which has PDS specific commands to load and run.
- There is one s1 label that needs to be changed to upper case S1.
- Build -> Compile.
- On the resultant HEX file, right click and then select HEX -> BIN.
- Open the resultant, downloaded, pdsdl1.bin file in a hex editor and pad it with zeros out to address $1FF and save.
- Run the following command to create the TAP file:
bin2tap(vs3008).exe -a 32768 -r 32760 -b pdsdl1.bin -o pdsdl1.tap
- Save the pdsdl1.tap file to the TZXDuino and load onto the ZX Spectrum using LOAD “”. The screen will eventually go blank and the border will stop changing, leaving just Bytes: pdsdl1 at the top.
Test using the PDS Monitor (F4). A good command to use is the following which writes directly to the Spectrum display so the effect can be seen straight away:
F 16384,256,45
I now need to do some work on my GitHub repository and start writing some of this up over there. I’ll also upload the TAP file as a “getting started” file. When I’ve done all that, I’ll revisit this post and add some links to everything.
I really need to prove that I can now use the PDS to upload and run code, but this is an excellent step forward. It shows the basic systems is working!
Future Directions
In 2026 there are a number of ways of getting code developed for and running on a ZX Spectrum: emulators, ROM simulators, tape emulators, even online web tools.
Given all that, the idea that it is worth updating something like the PDS is a little redundant, but I have been wondering about a few things that might make the system a little more accessible to modern technology.
The following possible improvements will increasingly take the PDS further and further away from being a PDS though and more towards some of the other more modern techniques, but for completeness, these are the things I’ve been contemplating.
Design improvements to the system “as is”:
- Make the target cards taller or put components on back so they can plug in vertically.
- A full-sized ISA card size with connectors in the same position as the original card.
Upgrades to avoid the problems sourcing components:
- Replace 8255 and Z80 PIO with a microcontroller emulation to keep the same register interface.
- Rewire the PC side IDC sockets to make ribbon cables non-mirrored – i.e. so it can be used with ready-made cables. This is a breaking compatibility change of course.
Design changes that make it a lot less a PDS:
- Create a Pico/USB interface directly to the same target board interface. Ideally there would be some kind of software ISA-over-USB type emulation at the PC end which means the PC software doesn’t need updating (not sure this is even possible tbh).
- Include a small boot ROM on the target board with the monitor program already installed to save having to load it from tape.
I now need to get back to the RetroCollective where there are people who actually know how to use a PDS to see if we can get them up and running and doing something useful with it!
Fingers crossed, we’re nearly there (famous last words?).
Kevin
#pds #programmersDevelopmentSystem #tzxduino #zxSpectrum -
PDS Testing ZX Spectrum PIO target interface
-
🪪 Who Actually Owns Your ATProto Identity? Hint: It's Probably Not You
「 Your PDS operator can post as you, like things as you, follow people as you, and it would be cryptographically indistinguishable from your real activity. The signatures are valid. The commits are properly formed. As far as the protocol is concerned, you did it 」
https://kevinak.se/blog/who-actually-owns-your-atproto-identity-hint-its-probably-not-you
-
RE: https://chaos.social/@joergi/116852270118901982
EDIT: Oops, nope, this is actually for migrating your bridged account on the other network *out* of Bridgy. I misunderstood the purpose of this feature, and Bridgy won't have any control over the account once you migrate it away - but it's still cool that you can migrate a bridged account out and take it over if you want to! Apologies for the mistake.
Original Post: Cool! #BridgyFed now gives you the option to choose what #PDS your #Bluesky mirror account will live on! Bridged users already live on Bridgy's independent PDS, but it's damn awesome that they now give you the choice to move your data to whichever PDS you want!
-
Edit: Stil figuring out , if that means it's an own account, but not bridged anymore..
Nice, you can now switch your fed.brid.gy handle from bsky.app PDS to a european PDS.
#fedbridgy #fedibridge #pds #atmosphere #ATproto #bluesky #mastodon #bsky
-
PDS Red Flag Warning for a lot of Utah
NWS Salt Lake City
"A PDS Red Flag Warning is in effect Friday from 9 AM to midnight for portions of the Southwest Desert, Central & Southern Mountains including the Cottonwood Fire. This is a PARTICULARLY DANGEROUS SITUATION. Gusty winds & dry conditions will lead to very rapid fire growth. "
-
Rare Utah weather warning portends ‘very rapid fire spread’ as massive Cottonwood Fire burns near Beaver
Utah forecasters have issued a rare weather alert warning of extreme wildfire conditions across central and southern portions of the state, where the Cottonwood Fire outside of Beaver has already burned more than 71,000 acres.
It’s the first time the National Weather Service in Salt Lake City has issued a formal “particularly dangerous situation” (or “PDS”) red flag warning for Utah, which will remain in effect through at least midnight Friday, according to a post on X.
#Utah #PDS #CottonwoodFire
#drought #weather #firehttps://www.sltrib.com/news/2026/06/26/cottonwood-fire-utah-issues-first/
-
“Apart from redistribution of relative costs, the #ATProto decomposition of the network into PDSs, relays and AppViews also distributes the load of moderation differently to that of #theFediverse.
If someone is only running a PDS, and using a relay and an AppView provided by other parties, then they are legally responsible for moderating only the posts by users on their own #PDS.
In contrast, every instance owner on the Fediverse is legally responsible for moderating the entire slice of the Fediverse visible to their instance.”
https://app.wafrn.net/fediverse/post/78e7e0d7-bd19-49ee-936d-7e5bb388c706 -
Interesting…
These are my data and this location can be changed.
#PDS #eurosky @[email protected]
clearsky.app/harald-klink...