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. This took while, because it refused to work until I eventually figured out that the negative rail on my breadboard wasn't connected. The frustration wasn't bad though, since it while searching for a reason it wasn't working lead me to another site that had 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. Using the command line allows you to do quick tests rather than writing an entire program for it. In my test below I hooked up two MCP23017's and had them control some LEDs and detect when I pressed a button.
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!
ChessLR. I have been wanting to have an electronic chess board for years now, but never purchased one because they are so expensive. I finally decided to build my own, with the help of a friend that was totally jazzed about the idea, and much better at the electronics part of the project then I am. The goal will be to create a chessboard that can sense and record the moves of a game and allow for natural play.
PrettyCSV is an open source developer tool that formats CSV text into neat columns, much like a spreadsheet, suitable for pasting into email or textual documents. How many times have you been working on an SQL query and needed to send a snippet of the result to someone via email? Typically you would either capture a screenshot or copy/paste an ugly comma or tab separated text snippet.
The second progress report for CocoJEM is available. I talk about how I implemented addressing modes, utilized an enum during instruction lookup, and give a little peek at how I implemented LDA, my CPU's execute method. Finally some thoughts on unit test coverage.
RC2019/03 retro challenge has started. And I missed it again! If it wasn't already half way through, I would enter CocoJEM. But alas, 2 weeks is a little tight, and I don't think I would get enough done in a month anyway. I believe they will have another one in September this year, so I'll be prepared for that! Good luck to the list of challengers!
Excellent progress on CocoJEM today. I think I have figured out how I will read and process opcodes as I read them from memory. Still need to workout what I want to do for the different addressing modes.
CocoJEM is a Color Computer emulator with the goal of making it easy to run and debug the Color Computer 2 and Color Computer 3 using the 6309 and 6809 CPU's. When wanted to work on Bouncy Ball 2 again, I wanted to step through the assembly. Edtasm is pretty appealing to use, but when I tried to remember the commands, it became a lot less fun.
Gomoku BASIC ported to C is back! This article is showing the BASIC version of Tim Hartnell's Gomoku that I typed in. The AI has a strong defense, but not much of an offense. I decided to port it to C just for fun, and the speed difference surprised me. I will be following up with an analysis of the AI in a followup article.
Mnemonic online documentation is back online. I find that I always need to lookup CPU timings and usage for assembly instructions, so I put this lookup site together. What really excites me is that you can search for multiple instructions like ldx,ldy,abx and see all those instructions at the same time.
Robot Minefield is back! I typed in a BASIC program from one of my favorite programming books, Tim Hartnell's Giant Book of Computer Games. But I didn't stop there, I converted it to Assembly, then to C.
Optimizing an Imaginary Sprite is back! In this article I walk through the various stages of optimization several programmers did on an assembly language routine. I provide my own analysis of why the changes were made, and if the optimization was any good.
Copyright © 2019, Lee Patterson