What I find intriguing about watching this series: Even though I have very little coding experience, I'm having almost no issues following James' coding. Well done!
That is good to hear! In many regards assembly language is really easy to follow once you have a rough idea of what the instructions do (and good naming helps with that!).
Nicely done James. Have to say I like your style of video with all the umming and ahing and pauses as your brain ticks 😀 makes everything feel like we are right there with you.
You mentioned looking at your RTC drift over a longer time period. The 32khz crystals typically have a spec of +/-30ppm, which is about +/-2.6 seconds/day. It's highly dependent upon the temperature of the crystal, and some RTCs even have methods of adjusting the frequency to compensate. The DS3231 is one example of that, but it's an I2C device instead of SPI.
That's awesome, James. I still need to add SPI to my HBC-56. I've added it to my PICO-56 for SDCard support, but the real metal (HBC-56) can't do it yet.
Really great to see you using this chip. In part 4 I was thinking about the commodore 64 CIA chip which had the clock aswell as the GPIO feature your implementing today.
@@weirdboyjim Floppy disks are complex devices. You're swapping one for another. It's actually great. I was telling my partner today how good it is that you're exploring beyond the hardware by developing OS features. You're surpassing the point in a project where other RU-vidrs finish up at. Can't wait to see more!
I have an RTC that runs faster during the cooler months and slower during the warmer months. I included a trimmer capacitor in the oscillator circuit and managed to get it down to 1-2 seconds a month, as long as I don't go away on business travel and turn the heating off, at which point it can drift a few more seconds. I don't know how practical it is, but moving the RTC to a warmer part of the house and testing it there would be an interesting experiment too. Some other RTCs I have allow you to add or subtract ticks to/from an internal counter to compensate for temperature swings. It's quite an interesting challenge to keep accurate time when you have no reference.
I dont know if JAM-2 will involve alot of breadboards, but I wonder if you could make little PCB's that do nothing more than act as a mini bus for when you want to move 8 outputs to an LED bar - as an alternative to cutting 8 wires each time. Might need a few for common layouts. A bit like your backplane interconnects - but 2 / 3 pins wide & 20 or so long. Probably would not look as nice mind you.
I have a number of different ideas on how to do bits like this differently. I don't mind a little bit like this, there is something therapeutic about poking some wires into breadboards. I do have ideas to create some modules to simplify some of the common combinations.
The MISO/MOSI notation tries to resolve the issue that Serial Out on one device goes to Serial In on the other and the wording can start to get tricky when you talking about multiple devices.
Only a game dev uses the word "Occluded" correctly :D "I hadn't read the documentation enough"... Looks across at the 90 page PDF that just landed for me to adjust a dongle routine, in Pascal. Oh really? not reading the docs? What's that like? :) Great progress on this. Smooth as ever
Oooh hello 23S08 my old mate. It's been a couple of years now since we spent so much time together. This is a ridiculous idea but... imagine having a 23S08 bit banging SPI to another 23S08 which is bit-banging SPI again and again to ludicrous proportions. ;)
You do that 100 times and the data rate will be slow enough to hook up a mechanical actuator that moves something. Like you can have 2 servos one with a red flag attached and one with a white flag. The data and clock would make the servos move the flags. Then you put the whole contraption at a window and have your neighbor across the street point a camera at the window and try decoding the data stream. Then set up the same in reverse for full duplex. At that point, you should be able to wirelessly read and write an SD from across the street. Very, very slowly.
don't I found it interesting but just sad that its been so long for me that I can no longer follow it like I could 30 some years ago. I took classes on basic, assembly, cobol and Pascal, and now I remember almost none of it. ended up dropping out of collage and joined the navy as an electronics tech. @@weirdboyjim
Your RTC crystal should need some small capacitors (22pF I believe) to operate correctly. It's possible the chip might handle it but it would be worthwhile to check. If they're necessary the crystal will not be putting out a clean signal and you will get incorrect operation. If you covered that in your last video and I'm an idiot I apologize. :)
If you need any capacitance it will be detailed in the datasheet of the crystal. It's not always 22pF. I have some 32768hz crystals that are spec'd for 6pF for example.
Yes it is! Shifting bit's out and in happens at the same time but it's very common (as with these devices) that only one is relevant. For speed reasons when bit banging you specialize the code.