@bread80@mstdn.social avatar

bread80

@bread80@mstdn.social

Amstrad CPC, RC2014, Z80, Raspberry Pi Pico, TTL processors and the occasional bit of Eurorack

This profile is from a federated server and may be incomplete. Browse more on the original instance.

bread80, to random
@bread80@mstdn.social avatar

I've spent much of the weekend working on my gate level logic simulator of the 2200 serial processor.

Here it is after processing a LA 6 instruction, which loads the immediate value 6 into the A register (6 is also the bytecode for LA n).

So far the schematics have functioned flawlessy, the only bugs have been in the simulator code.

bread80, to random
@bread80@mstdn.social avatar

Did you know your Amstrad contains a bug which will eventually cause it to crash?!

I've written a post with a full explanation of the problem: https://bread80.com/2024/04/01/why-your-amstrad-cpc-might-crash-in-2104/

Of course, it's April Fools day and I could be making all this up. Or just grossly exaggerating. But you'll need to click the link to find out!

bread80, to random
@bread80@mstdn.social avatar

Popping a 6128 HAL memory manager into the and initial tests are passing.

The code here reads a memory address, then swaps that address to a different bank. The value read is now different. It pokes in a known value and swaps to one of the higher banks in the 512k SRAM. This reads back yet another value.

Finally it switches back to the previous extended bank. The value read back is the value poked into it.

bread80,
@bread80@mstdn.social avatar

The circuit for this uses a 4-bit latch (U194) in addition to the HAL (IC118). The latch stores the 3 bits containing the 64k bank number when a bank is selected.

The HAL outputs CAS0 for addresses in the 'basic' 64k, or CAS1 for extended addresses. The latch only outputs when CAS1 is asserted. When basic RAM is being accesses the resistors pull the address lines high. (Which actually means that bank 7 is a duplicate of the base 64k, but allows a single SRAM 512k to be used).

bread80,
@bread80@mstdn.social avatar

BTW an alternate design could use two SRAM chips, one for base RAM and another for extended RAM. That would
end the bus contention issues when accessing the extended RAM. Without the need to DRAM refresh such a design could run the CPU to run at full clock speed (ie. no wait states) when accessing the extended RAM

bread80, to random
@bread80@mstdn.social avatar

If you must try and compare tue performance of different CPU architectures at least try and be half way informed about the subject. Simply saying most CPUs only do stuff on one clock edge, and comparing the average number of cycles per opcode across the instruction set is stupidly lazy. 😡

Note to self: don’t watch videos from YouTubers you dislike.

GrantMeStrength, to random
@GrantMeStrength@hachyderm.io avatar

Can The Hitchhikers Guide to the Galaxy text adventure really be 40 years old? And I STILL haven’t finished it. Or even gotten close.

bread80,
@bread80@mstdn.social avatar

@GrantMeStrength I never even made it past the Vogon poetry reading. But then I’ve always been rubbish at text adventures.

GrantMeStrength, to random
@GrantMeStrength@hachyderm.io avatar

Nerdy Sunday.

image/jpeg

bread80,
@bread80@mstdn.social avatar

@GrantMeStrength That Amstrad documentation was top notch. I still have both of those from my younger days.

vruz, to cscareerquestions
@vruz@mastodon.social avatar

Going back to the actual point that matters most, to me at least.
What's the total carbon footprint of the advertising and social media-based web? (Not just the highly optimised servers)

I'm pretty sure it could be a lot less. The web is not as wonderful as some people think. We need to make it a lot better.
https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf

#comsci #compsci #Javascript #ruby #python #php #programming #webdev #web #www #w3c

bread80,
@bread80@mstdn.social avatar

@vruz I couldn’t see any mention of which compilers they were using for the compiled languages. That makes it hard to compare the numbers for languages with multiple implementations.

bread80, to random
@bread80@mstdn.social avatar

That’s what I call a good start to the weekend 🙂🙂🙂

The only soldering error was a short between power and ground on the USB power connector.

Design wise the backplane has a couple of footprint issues, and my attempt to keep the board smaller by placing components under and between the cards is proving less than ideal in practice. The taller components are actually fitting between the cards but it looks messy and there’s potential for damage from soldered pins.

#AmstradModular #AmstradCPC

Top 3/4 view of the computer showing the vertically mounted cards. One board has a row of green LEDs lit at various brightnesses.
Side view of tue computer with video out and other connections.
Top down view.

bread80,
@bread80@mstdn.social avatar

The LEDs on the CPU card are working beautifully. My intention with these is that they’d make a useful debugging aid for builders. See them like this (and flickering in real life) is an obvious sign the machine is working without needing video out.

It wouldn’t be hard to build a test ROM for other parts of the machine as long as CPU and ROM are functional (which requires Gate Array but there are ways you cloud bodge around that).

Enable for the buffers uses IORQ so this shows IO addresses.

bread80,
@bread80@mstdn.social avatar

The sockets on the backplane have wider spacing between the sections than within. That allows cards with ‘fat’ connectors such as the video out DIN connector somewhere to sit without fouling or shorting anything.

The sound board would normally sit in the front most slot to make the keyboard connector mounted on it easy to access. In this photo it’s checking the tape motor relay on the IO board doesn’t foul the neighbouring slot (it doesn’t).

bread80,
@bread80@mstdn.social avatar

SCART to HDMI adapters for the Amstrad need a 5V input to signal their sending RGB data. This photo shows the 5V take-off included on the backplane for this purpose. I’ve snipped the end off and old PSU to use as cable and plug.

Next to it is a socket which can be used to stow that plug when not in use - to avoid it causing shorts. Here I’m using that to house the power connector on the video lead.

bread80,
@bread80@mstdn.social avatar

I’m just realising that spare power connector on the lead might be useful for powering a SCART adapter, subject to power requirements and connector type and polarity.

bread80,
@bread80@mstdn.social avatar

Next up is to assemble a keyboard lead - this machine won’t do much until I do!

But shorting some random pins on the keyboard connectors shows everything appears to be functional.

bread80, to random
@bread80@mstdn.social avatar

Imagine you have some really sensitive information which could cause catastrophe if it was allowed to fall into the wrong hands.

So you get the world’s top security expert to lock down the server using a combination of the most advanced and arcane protection protocols available.

But a group of ten year old computing students manage to hack the server.

This is pretty much the plot of Harry Potter and the Philosopher’s Stone.

bread80, to random
@bread80@mstdn.social avatar

Interesting bug Thursday.

The date picker in Quickbooks online has some lovely keyboard shortcuts. Use W or K for the first or last day of the week, as in WeeK. The same for MontH and YeaR.

But this month H moves to the 30th March instead of the 31st. I wonder if it's a leap year bug? But the rest of this year works properly, as does March 2028.

bread80,
@bread80@mstdn.social avatar

They make it very easy to give feedback, and from past experience they're pretty good at fixing bugs if you report them. One of the reasons a like Intuit and something a lot of SaaS businesses could learn from.

bread80,
@bread80@mstdn.social avatar

@semiprime I’m not sure why that would make a difference.

ash, to random

Attention customers,
Due to engineering works, the 5v rail will now be operated by a rail replacement bus service until further notice.
We apologize for the inconvenience

bread80,
@bread80@mstdn.social avatar

@ash IIRC the original ARM could be powered via the signal pins. So having a chip powered via the data bus is not without precedent...

phire, to random
@phire@phire.place avatar

TIL the dunning kruger effect is not real, apparently! time to throw out yet another file in the “what don’t we need evidence to believe because it is emotionally satisfying to do so” cabinet. ty @danderson for the link https://economicsfromthetopdown.com/2022/04/08/the-dunning-kruger-effect-is-autocorrelation/

bread80,
@bread80@mstdn.social avatar

@phire @danderson The less you know about psychology the more you think you know about psychology…

bread80, to random
@bread80@mstdn.social avatar

I apologise for not posting this earlier.

#Quiche #compiler is now alive! (At least Conway's variant of alive). The initial version was slow - about four seconds per generation. It was multiplying coordinates for each cell read and write.

The second variant uses offsets into each liner buffer, and only redraws changed cells. It's now running at three to four generations per second.

#Pascal #Z80 #Amstrad

The next generation of the glider.

bread80,
@bread80@mstdn.social avatar

I shall now be returning to the tedium of library routines before I do any more exciting stuff...

bread80,
@bread80@mstdn.social avatar

BTW you can read the source code for Life at https://github.com/Bread80/Quiche/tree/main/Examples/ConwaysLife

bread80,
@bread80@mstdn.social avatar

@RetroFunPL The syntax isn’t fully formed yet, but semicolons will be optional. It will use line endings as end of statement markers instead. Code can be split across lines either with an explicit \ character or if it ends with an incomplete expression.

One of a couple of features I’m taking from Ruby. A language which, mostly, makes very sensible choices.

bread80, to random
@bread80@mstdn.social avatar

See if you can spot the upside down TVS diode.

#CPCModular

bread80,
@bread80@mstdn.social avatar

@f4grx Yup. I'm being lazy and rushing on the basis that it's the board will probably need a respin.

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