Posts

Backplate Musings

My original plan for the LINK_01... my first homebrew computer... was to ultimately have it built using a single PCB. But the more I think about that decision and the limits that would impose on the machine the more I want to go another direction. I'm heavily influenced by the RC2014 Z80 based homebrew machine which has been going since 2013... and the backplate design which the RC2014 uses goes right back to the birth of home computers. Breaking a machine down into discreet modules and making them all connect to a standard connector is a great way of managing both development and post-launch expansion. As long as the backplate supports enough signals so that you don't limit yourself the sky is literally the limit. The extra connection length may mean that you can't crank the speed up quite as high as a single-PCB machine, but maximum performance isn't something I'm aiming for with this machine... I just want to get something working which I can build upon. I'm ...

Electronics Tinkerings

Image
 I'd like to write some pithy blog articles about what I've been up to with the old electronics but I've not got the energy so I'm just going to post some pictures instead... here goes... My first actual circuit that does something. This one drives a simple 1BPP VGA monitor signal using a few pins on a Pi Pico. First shot of the LINK_01 BBC (BreadBoard Computer)... Here we have the Pico, which is in control of the whole thing, the VGA out, a bank of 3V3 to 5V voltage shifters and a bank of bi-directional shift registers, which I plan to use for letting the Pico read and write to RAM. There's a 65C02 up there too, buried behind my debug LED bank. Initial work on adding the busses to the design. 16 bit address, 8 bit data and whatever else I think is worth bussing. Now with added 8K EEPROM and RAM... I think it's the old 8K RAM I started with which has now been swapped out for a 32K one. You can see the bus sea-monstering it's way across the breadboards... I g...

Personal Computer World Issue 2

 It's now up on archive.org for anyone who wants to read it. HERE

Rust, week 3

This week I are mainly been liking... play.rust-lang.org The Rust books are written using rustdoc - I like the 'eating your own dogfood' philosophy, and the Rustlang folks are certainly eating it. Attributes... a clean way of doing meta stuff in your code.  New Rustacean podcast - fabulous podcast about learning Rust. Started listening to these during my daily commute - grab every minute you can to learn new stuff. Really good talk about driving a GUI system with Rust by Raph Levien

Rust, week 2...

The continued, albeit slow, adventures of someone who's been coding for 37 years and is now learning Rust... Things I like about Rust, pt2... std::option::Option - no more Null... force error check at point of creation Inbuilt testing framework RustFmt - code formatting ! Everything is on Github... and I mean everything... fantastic ! Safety is not sacrificed for simplicity. Yes, Rust is a complex language, but that's because decisions have been made which puts safety and control first rather than convenience. The team provide editor integration plugins... including the mighty VIM ! Things I don't like about Rust Opening curly brackets on the right... argh ! I know it's just convention, but argh !  There's something quite exciting about the Rust community... the deeper I delve into the language and how the project is organised the more excited I get. One major problem with older languages like C and C++ is that the ecosystem around how you develop sof...

Rust, week 1.

I've started looking at Rust again. I had a quick try of rust about 18 months ago when I was looking at modern alternatives to C++. At that time I learned a bit of Rust and also some Go. Both languages impressed me but to be honest I liked the feel of Go more... mainly because it was simpler to learn. Time has passed and my mind has wondered back to Rust. This page is a scrap book of thoughts about Rust during my first week back. Things I like about Rust... Built-in a build system (cargo) Immutable by default Explicit data ownership semantics Built-in documentation about the language and compiler errors Sensible type inference External module dependency versioning makes sense No implicit bool conversion Descriptive error reporting Tuples ! Things I'm not sure about... note I'm not saying these things are bad... just that I'm unconvinced at this point Allowing variable type changes via shadowing Progress reading 'The Rust Book' - 6.1 Definin...

Windows UI Fail... Setting a New Password

I turned on my work PC this morning to be greeted with the 'Your password has expired, please enter a new one...' screen. OK, hit enter to be taken to a new screen with three text entry boxes. The top one labeled 'old password' was already filled out for me - good. The next two were labeled 'new password' and 'confirm new password' or something very similar... I can't remember verbatim. The text entry cursor was already set to the 'new password' box so I typed in my new password and hit enter... 'ERROR: Passwords Don't Match' Of course they don't match - I've only entered one you stupid machine. OK, press enter to try again. This time my old password was not filled out for me for some reason, so I entered my old password but this time, using my experience of how stupid computer UI's can be, rather than hit enter to complete my old password I pressed tab... this took me to the next text entry box... new password.....