I got to spend some quality time with Flutter development today, and decided to try noodling with Neumorphic UI Design. I focused on one design I liked and tried to just create a single button. Turned out pretty good. Best thing about it is that I code once, and build for Windows, macOS.
Posted the first video in a series where I am playing Dungeons of Daggorath. A game from 1982 for the Radio Shack Color Computer. Join me as I kill a spider, tango with a snake, and climb down a hole. I start at level 1 killing off all the monsters and getting as many drops as I can before making my way to level 2.
More text mode video game fun! Memory (aka Concentration) for the hi-res 80x24 text mode on the Color Computer 3. Once again, I wrote it in C so it cross compiles on Windows, macOS and Linux. This was my first time using the Color Computer 3's 80x24 hi-res text mode, and I gotta say I love how it is a one to one mapping from Windows to the Color Computer 3.
Minefield is a text based game written in C that compiles for the Color Computer, Linux, macOS, and Windows. Adapted from a BASIC program I found in Tim Hartnell's Second Giant Book of Computer Games.
Cubist is a puzzle game in BASIC that works like a 2D Rubiks Cube. I typed this in from Tim Hartnell's Giant Book Of Computer Games and ran it on my Color Computer 3 emulator. A nifty puzzle game that is easy to understand, and provices a few minutes of fun to play. It provides a good base, allowing you to expand on things like input and color or graphics.
First game of ChessLR vs my Radio Shack 1850 chess computer! The 1850 won! Not what I was expecting, but a pleasant surprise for sure.
Shortly after printing the feet for ChessLR, I realized I made a mistake. I didn't allow for attaching the bottom board to the feet unless I glued them. I could drill a hole and use a self tapping or wood screw, but that would not last very long, if it worked at all. So after a little research and a couple test prints, I came up with a nifty design that would allow me to screw and unscrew as many times as I wanted, without fear of stripping out the plastic.
Printed a test power panel. Took a couple tries, but second print seems to fit nicely. I also finally wired up a barrel connector for power instead of USB. Much easier to deal with. Translucent green color is really nice.
I transferred my 3x3 breadboard circuit to a protoboard. Now calling it an interface board. Much easier to work with as a protoboard, and learned a few things that will transfer nicely to the 8x8 interface boards.
Using new hardware. I got my touch display hooked up I use it for a GUI instead of the OLED display. Piece input is working a lot better, although reed switches continue to be a problem. You can check out the YouTube video or the Read more below to find out more.
Made a couple versions of my MCP board. One holds 2 MCP23017, the other holds 4. The 4 chip version will make it so I only need 2 of them, but the extra wiring involved might make the 2 chip version more appealing. Easier to wire up, test and might make it easier to find where to put the circuit boards on the chess board.
ChessLR progress report 7 shows the first draft of my MCP23017 board. This board is used to connect the chess board LED and Reed switches to the 8 MCP23017 chips. Each chip handles a row on the chess board, which is 8 LEDs and 8 Reed switches. This means that the MCP board handles 128 I/O pins, which can all be read from the 2 i2c pins. Pretty sick.
ChessLR progress report 6 shows some progress in terms of software and using my tiny OLED display. Sadly the display is too small for me to read very well, so I'll have to put a rush on the touch display development! I demo two programs in the video on YouTube. The first was from progress report 5 which just had a stop frame animation. I wanted to show live video. The second shows the board keeping track where the pieces are moved from and to.
ChessLR progress report 5. My first prototype chessboard works like a charm. I wanted small scale test to get LEDs and reed switches setup on a board, then be able to move chess pieces around to see how well the switches would work. The switches have no trouble sensing the pieces, and it's quite magical being able to move pieces without having to press any buttons, like chessboard computers of old.
ChessLR progress report 4. I got two MCP23017 port expanders working on my Raspberry Pi. The chip refused to work until I eventually figured out that the negative rail on my breadboard wasn't connected. While searching for a reason it didn't work lead me to a site with examples of how to use the command line to test the I2C bus for connected devices, as well as be able to send data to it.
I got my parts that I ordered from AdaFruit. Parts included a Raspberry PI Zero W that has wifi built in, quad alphanumeric displays, blue 3mm LED's, which are way cooler, and a lot brighter, then I was expecting. I2C I/O port expanders, and some resisters and diodes. The LEDs will be one LED per board square. The buttons and segmented displays are for the clock, one button and display per player.
ChessLR. Me and Rob got together to talk about the electronic chess board today. He showed a proof of concept using reed switches, a magnet, and an LED. Man that was cool. The reed switch is amazingly sensitive to the magnetic field of a magnet. I was able to hold the magnet about 3cm away and the reed switch was still able to sense it. I did find that there was a bit of a dead zone in the middle of the switch, which could prove problematic. But no problems reading it through a piece of wood.
PrettyCSV 1.2 is now out. This is a minor update that includes a fix for the Window frame on Windows machines. You can also now optionally have the formatted text copied to your clipboard when you format. I'm working on making it copy it in a mono font like courier for the next minor update. Enjoy!
Copyright © 2020, Lee Patterson