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!
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.
Copyright © 2019, Lee Patterson