@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 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, to random
@bread80@mstdn.social avatar

See if you can spot the upside down TVS diode.

#CPCModular

neosam, to python

Source unknown. #python #cplusplus

bread80,
@bread80@mstdn.social avatar

@neosam Perfect.

bread80, to random
@bread80@mstdn.social avatar

This week I added the Peek() and Poke() intrinsics to the #Quiche #compiler. That means I can now write my first non-trivial program.

I spend this morning fixing a few bugs in the parser and code generator and it's successfully generating the assembler file.

The assembler is choking on a couple of issues with identifiers, and the output code has a couple of bugs to do with parameter parsing and result processing.

Very close to working <g>

A section of the output assembler code.

bread80,
@bread80@mstdn.social avatar

The compiler doesn't have arrays yet, so I'm using pointers to memory and Peek and Poke - hence why they're useful.

I also don't have any kind of memory management. I'm hard coding addresses which I know won't clobber anything.

I have to work around a few other missing features and bugs. It'll be interesting to see the code develop as the compiler develops.

And the same for the code generation. It's still deeply naive with plenty of potential for even basic improvements.

bread80,
@bread80@mstdn.social avatar

Looks like all the known bugs are squashed.

Now onto deployment ... it's a while since I've built for anything other than the emulator/raw binary.

I changed the deployment system after the last time I built for WinApe. And previously doing such builds was clunky. In theory the new deployment system should make this a lot easier.

Dtl, to random
@Dtl@mastodon.social avatar

A thought occurs to me, the covid test extraction buffer splits open the virus particles and causes them to fall apart, effectively killing them.

Therefore, if I replace all my blood with extraction fluid it'll kill off the covid very quickly. There can be no possible downsides to this.

bread80,
@bread80@mstdn.social avatar

@Dtl I venture to suggest that replacing your blood with almost anything will prevent you from catching covid.

bread80, to random
@bread80@mstdn.social avatar

Everyone: Amstrad is back!

Me: That kerning is atrocious.

jonn_blanchard, to random
@jonn_blanchard@retrochat.online avatar
bread80,
@bread80@mstdn.social avatar

@jonn_blanchard There used to be one on listed for £5,000. Possibly the same one, and they’re slowly moving toward reality.

rasteri, to random
@rasteri@mastodon.scot avatar

Maybe not a great choice of location for this sticker

bread80,
@bread80@mstdn.social avatar

@rasteri And they phrase it like a challenge…

bread80, to random
@bread80@mstdn.social avatar

This is the table I now have. Columns are the input (variable) type. Rows are the primitive type.

A value of zero means no type conversion is necessary. A value >=10 means there's potential data loss. I.e. the type has to be shrunk[1].

[1] An example of this is the Peek() function. It needs to be able to accept Real and Integer types, but it needs to validate they're within range (if validation is on).

bread80,
@bread80@mstdn.social avatar

From this I generate a giant table to verify the fitness values will result in the optimal primitive being chosen.

This is less than half the number of columns in the table.

Each group of three columns is a possible combination of variable types. Each row is a possible combination of primitive parameters (types). The aim is to have the Sum column contain the lowest value for the optimal primitive.

bread80,
@bread80@mstdn.social avatar

The next step is to generate a similar table for constant values. Many numerical constants could be contained in multiple types, and signed or unsigned types.

Primitive selection here needs to take account of the other parameter, in particular whether it is signed or unsigned, to choose the optimal primitive.

bread80, to random
@bread80@mstdn.social avatar

I'm looking to optimise the primitive selection routine in #Quiche. Currently it searches the table of available primitives multiple times until it finds a match, each time 'expanding' the types of the parameters. It's slow and it's messy.

My new plan is to calculate a 'fitness' value for each primitive using the type(s) of the input parameters. It's taken me three days just to work out how to create a spreadsheet to calculate and verify the values.

bread80, to random
@bread80@mstdn.social avatar

Assembly of the #CPCModular is progressing nicely. I’ve soldered on pretty much everything I have in stock. And I’ve recovered and transferred the larger parts from prototype build. Now to make up a list and go shopping for the remainder.

#Amstrad #Z80

The other six modules. Again 40 pin sockets and the occasional resistor are the main missing components.

RetroFunPL, to retrocomputing

I'm tired of reading about AI all the time.

What's your favorite #retrocomputing memory?

bread80,
@bread80@mstdn.social avatar

@RetroFunPL At my school the computer room cupboard contained three Commodore Pets. I ‘explored’ the ASCII control codes and found one which turned the text from all upper to all lower case.

Whenever we used them I’d switch the machine to lower case. If anyone asked why my machine was in lower case I just replied that it was broken.

bread80,
@bread80@mstdn.social avatar

@RetroFunPL Reading magazines and drooling over everything. Every computer looked exciting. The peripherals: printers, modems and expansions. The games. The business software. All those exotic sounding computer languages.

thelastpsion, to random
@thelastpsion@bitbang.social avatar

If I want to have any hope of learning to write #EPOC16 device drivers in the future, I'm going to need to learn x86 (specifically 8086 and NEC V30) assembly.

That is DEFINITELY not a Today Problem. It's not even a This Year Problem.

#Psion

bread80,
@bread80@mstdn.social avatar

@thelastpsion @kroc If you look at everything Intel designed in the 70s and 80s - x86, iAPX, 8080, 8008 - and I doubt there’s a single good design choice in any of it.

bread80, to random
@bread80@mstdn.social avatar

Finally arrived. After celebrating a little too long and hard over Chinese new year. #CPCModular

bread80,
@bread80@mstdn.social avatar

And looking even better once unwrapped. Now, where to begin?

bread80,
@bread80@mstdn.social avatar

@RetroFunPL 🙂🙂

bread80, to random
@bread80@mstdn.social avatar

“Use our online chat support. We’ll reply when we get around to it. Could be ten minutes, could be thirty minutes :shrug:. If you so much as blink we’ll terminate the session and you’ll have to go back to the beginning and start all over again.”

PS never use Bluehost. Regretted it the moment I set up the account.

bread80,
@bread80@mstdn.social avatar

And if anyone has suggestions for webhosts I’m all ears. My needs aren’t complex. Anything that just works with minimal maintenance and competent support.

bread80,
@bread80@mstdn.social avatar

The problem looks like some kind of nameserver glitch - it was redirecting to a temporary domain.

The support person has managed to ‘reinstall Wordpress’ which has deleted the entire site. They’re now preparing to restore a backup 🙈

bread80,
@bread80@mstdn.social avatar

@RetroFunPL I have backups switched on and can see the daily listing. I’ve downloaded several. I can see the server files but not the database content. I’m hoping I’m just missing something.

bread80,
@bread80@mstdn.social avatar

@tomkeddie I don’t think that’s what I’m after but thanks for the suggestion.

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