Announcing the Uni-Joysti-Cle™

The Uni-Joysti-Cle™: The first and only solution to play Commodore 64 video games with your unicycle. Unique immersive experience, much better than VR. It consists of five beautifully designed parts: The Uni Games video game for the Commodore 64 The Uni-Joysti-Cle™ WiFi receiver, and its firmware The Uni-Joysti-Cle™ smartphone application A unicycle Sophisticated glue material Find all the information about this revolutionary device here: /unijoysticle/ ...

April 6, 2016 · 1 min · ricardoquesada

C64 Remote Controller: Prototype v0.1 works!...

…or How to use a 64-bit machine to control a Commodore 64. No schematics or PCBs yet. But at least I have the materials that I’m using: One Lolin NodeMCU (should work with any other ESP8266 that have at least five GPIOs) Two 4066 ICs. I’m using this one. …and this is the software that I’m using both for the NodeMCU firmware and the iOS client: ...

April 1, 2016 · 1 min · ricardoquesada

C64 Remote Controller: NodeMCU vs. Adafruit Huzzah vs. SparkFun Thing vs...

Requirements for the c64 controller A micro-controller. I doesn’t need to be very powerful, just powerful enough to handle some UDP connections and configuring some GPIOs. Flash-able firmware: If possible with support for Arduino IDE (or similar). C++ preferred. Micropython could be a nice backup plan. WiFi Some GPIOs Which module to choose There many alternatives, and these are the ones that I evaluated: Arduino + WiFi shield or ESP8266: This is the first option that I evaluated thanks to different suggestions. But since the ESP8266 already comes with a flash-able firmware, there was no need to use the Arduino part. I discarded this option, but I liked the ESP8266 part. Adafruit Huzzah breakout ($9.95) / Adafruit Feather Huzzah ($15.95): An ESP8266 based module. I like Adafruit products since they are very well tested, they give you support, have very good documentation. But they are usually on the pricy side. All ESP8266 boards are supported by the Arduino IDE which is a very good thing. (I ordered one Feather Huzzah). SparkFun ESP8266 Thing ($15.95): Similar to the Feather Huzzah. NodeMCU (~$4.00): Very similar too Adafruit Huzzah and SparkFun ESP8266 Thing. I’m not sure who built the first module (Adafruit, SparkFun or NodeMCU), although I wouldn’t be surprised if NodeMCU was the first one. There is a lot of innovation in China in this area. NodeMCU comes with a firmware that supports Lua, which is nice for faster development. You should know that the Lua firmware could be installed in the other modules as well, and you can run C++ firmwares on NodeMCU as well. There are three different NodeMCU brands: Amica: Which seems to be the official one, although I didn’t know this when I decided to buy the LoLin. LoLin: It seems that it is no longer produced by WeMos. (I ordered one of this too). DOIT: I know nothing about it. Mini D1 (~$4.00): Another ESP8266-based module similar to the previous ones. It is produced by WeMos, the same as the NodeMCU LoLin. My theory is that WeMos realized that there was more money in trying to create their own ecosystem rather than just cloning NodeMCU. It has 11 GPIOs, instead of the 9 offered by Adafruit Huzzah, which is good (I ordered a few of this one too). There were other alternatives, like the SparkFun Particle Photon ($19.00), based on non-ESP8266 micro-controllers. They were a bit more powerful, but also more expensive. And don’t support the Arduino IDE. So, for the moment I discarded them.

March 27, 2016 · 5 min · ricardoquesada

The Uni Games - Part II. Reboot

A reboot was needed. I rewrote most of the code. The game is no longer called “The Muni Race”. Instead it is called “The Uni Games” since it will have more than one event (think of “Summer Games” but for unicycles. UNICON basically). The game will have a more-retro look and feel than before. It will only use PETSCII chars, plus sprites. No redefined characters, no bitmaps. Pure PETSCII. Pure retro effects.

March 27, 2016 · 1 min · ricardoquesada

VChar64: caca powered!

Latest VChar64 commit hash: commit caca91345d177ded6b9b8f6a8adeaadc3611a29e Author: Ricardo Quesada Date: Mon Mar 14 15:31:41 2016 -0700 fix: use the correct URL to open the documentation And this is how git describe shows it: $ git describe --abbrev=4 --dirty --always --tags 0.0.12-14-gcaca And that is the command that I use internally to generate the version number:

March 17, 2016 · 1 min · ricardoquesada

Repairing the Commodore 1581 floppy disk drive. Part 1

I got my 1581 like one year ago. It worked for 2 or 3 weeks and it stopped working. The stepper and the motor weren’t moving. So I guessed that the “floppy drive” was broken. Quick introduction: the Commodore floppy disk drives have 2 major components: The controller board: which has the 6502, RAM, ROM and other ICs to control the drive The floppy disk drive: which is the “thing” that has the header, the stepper, the motor to spin the floppy disk, etc. So, in my case, my quick guess was that the “floppy disk drive” was broken because the stepper and the motor were not moving. ...

March 14, 2016 · 2 min · ricardoquesada

VChar64 v0.0.12 released

New version, new features. Download Mac: vchar64-0.0.12.dmg.zip Win32: vchar64-0.0.12.win32.zip Changes [NEW] Koala Import: supports importing subregions. Useful when 256 chars are not enough to import the whole bitmap [NEW] Added unknown font. Ripped from here [NEW] VICE snapshot import: Default charset address is the one that was used at the moment the snapshot was taken [NEW] Save/Export: Plays one beep on success, two beeps on error [NEW] Main Window: Status Bar shows the coordinates of the different widgets [BUGFIX] Export: shows correct extension when browsing file [BUGFIX] VICE/Koala Import: sets the name of the imported file in the tab [BUGFIX] Koala Import: detects duplicates chars, making the conversion smaller

March 2, 2016 · 1 min · ricardoquesada

VChar64 v0.0.10 released

VChar64 v0.0.10 is available for download: Mac: vchar64-0.0.10.dmg.zip Win32: vchar64-0.0.10.win32.zip Source code: Github repo Highlights: Live preview with the VChar64 TCP/IP Server for the C64 and C128 (in C128 mode) Minor bug fixes Full changelog: CHANGELOG v0.0.10

January 6, 2016 · 1 min · ricardoquesada

Disassembling 6502 code with Radare - Part II

Let’s crack a simple game. If you are not familiar with Radare, read Part I first. Creating and opening a VICE Snapshot file Let’s crack BC’s Quest For Tires since its copy-protection is easy to bypass. Unzip this file: http://tapes.c64.no/tapes/BCsQuestForTires.zip Open the tap file with VICE (the most popular Commodore 64 emulator), and.. …the game has some kind of copy-protection. If we enter invalid codes, we won’t be able to play the game. Since Radare supports VICE Snapshot File format, we can save an snapshot of the game, and analyze it with Radare. In VICE, go to the menu, Snapshot -> Save Snapshot Image… If we select “Save ROMs”, then the BASIC ROM and the KERNAL ROM will be saved inside the Snapshot file, and will be included as Radare sections. Radare VICE Snapshot File (VSF) support lets us inspect: The 64k RAM of the computer at the moment the snapshot was saved The BASIC and KERNAL ROMs in case they were saved. To open a VSF file, just pass the VSF file as the first argument: $ r2 bc_copy_protection_screen.vsf [0x00005689]> 0x00005689 is the PC (program counter) at the moment the snapshot was saved.

December 10, 2015 · 8 min · ricardoquesada

Cutting edge coding & debugging techniques during my early days

Cutting edge coding & debugging techniques:

December 5, 2015 · 1 min · ricardoquesada