Radio Shack Catalog Number 26–3143. The Orchestra–90 CC is a stereo 8-bit audio player for the Color Computer. It works by mapping two addresses in the Coco’s address space to two 8-bit DACs. $FF7A is for left, and $FF7B is for the right. This is the first time I have been able to use this cart, never mind program it! So far, it’s pretty easy to program.
After trying Bouncy Ball on real Coco 2 hardware, I discovered there is an issue loading the game. I’ll have a fix posted in a couple days.
Bouncy Ball 1.1 has been released and works on Coco 2 hardware and XRoar.
Bouncy Ball version 1.0 has been released, and in time for the 2016 25th Cocofest. I was working on a timer bug, and RGB mapping, while Simon was working on the end game sequence. I owe him a case of beer for his efforts, staying up till 2am his time, on a work day! I am so looking forward to watching people play on my Coco 3.
Let’s make some noise for Bouncy Ball Beta 3! I wanted to share a video showcasing a sneak peek of the levels you will be pulling your hair out playing. That is assuming you still have any! This is the last video of Bouncy Ball before the 2016 Cocofest.
After a successful (and surprisingly easy) setup of my Raspberry Pi 1 model B+ (also called an RPi), I decided to start working on a little weather app. While I like the look of the stock weather app on the iPhone, it is always missing, some bit of information I want. Like how much snow is expected in a couple days, and what the chance of snow is. As a result, I find myself going to Weather Underground to get the rest of the info I want. So, I decided to put my RPi 1 to work and create a system that will automatically download the weather and send me an email in the morning with a complete report.
Bouncy Ball Beta 1 is here. See the downloads. This has the lightening fast rendering routine that Simon and myself optimized. Originally a 7 fps C routine to a 50 fps inline assembly routine. I am now running at the Coco’s stock speed of (just under) 1MHz instead of using the 2X speed up on the Coco 3. This also means Bouncy Ball should run on a Coco 2, but I have not tested it yet. The frame rate is buttery smooth but not vsync’ed yet. Some sounds have been added to the game, but in game ball bounce sound is not there yet. And best of all you can now use the keyboard to play!
Inventing the adventure game is an unpublished book manuscript by Warren Robinett. The book talks about a few very early games. “Collosal Cave Adventure was the first adventure game. It was completely text-based, and had no graphics at all”. And also Adventure for the 2600. Thanks John L for sharing it on Facebook.
In this article I talk about optimizing the level rendering routine for my game Bouncy Ball for the Color Computer. With the help of the mad man Simon Jonassen, I was able to take the render routine from 7 fps to 50 fps! I was quite surprised at the results. I made a video at the end of this article, and explain things in detail here. I also list a couple resources you might want to have in your back pocket.
I started working on converting my level renderer for Bouncy Ball to assembly. Check out the video below. The C is on the left, assembly on the right. The speed difference is about double the frame rate. Although, in the video I forgot that the C version is double buffering, and the assembly isn’t. Assembly also isn’t printing text. So I fixed both versions behind the scenes.
Awesome progress over this new years weekend. I started with a 4 page TODO list, and I have all but the end of game sequence done. I still have levels to build, joystick support, and then in-game sound and (maybe) music to implement. Sound will be via Simon’s irq driven routine. I even had some time to start work on Bouncy Ball’s official web page, and some package art. Now though, I think it’s time to take a short breather and maybe type in another BASIC program. I’m thinking Connect 4. I remember having that one typed in and added some Coco 3 hi-res graphics and sound to it.
You can now download a playable demo. I fixed the joystick button read routines. Use button 1 on either joystick to move forward, button 2 to move backwards. I don’t map RGB colors yet, so your colors will be different on an RGB monitor. See the README.txt in the zip file.
I have been thinking about game AI the last couple weeks, and since I’ve been working on a retro themed game for a retro Coco 3, an old book on BASIC games came to mind; Tim Hartnell’s Giant Book Of Computer Games. Tim was a self taught programmer and the author of several successful books on computer programming.
A few nights back I couldn’t sleep, so I decided it would be relaxing to type in a program from Tim’s book. My first choice was Reversi, but there was either an error in the printed source, or I miss-typed something and the program just wouldn’t run. My second choice was Gomoku, which ran the first time I typed RUN. The game has a strong defensive AI, but not much on the offensive side. I’m thinking it would be fun to work on that part of the AI. But that’s for another post.
Started working on ROB3. He is a tank robot that. I have two way communication with my ICE2 controller. Which means I can control the robot, but I can also have the robot send info to the controller. For instance I can send the current amperage that each motor is drawing, and show it on the controller. Or if I had my sonar attached, I could see what distance it was measuring.
ROB1 was my first prototype robot base. He’s a tail dragger controlled by an Arduino UNO. I used two continuous rotation servos, a gyro, and an Xbee. I had a second Xbee connected to my laptop, and using a terminal program I sent drive commands to ROB via the Xbees.
My first animatronic project. It shows how I made an eyeball that can ‘look’ around. It’s a little ruff, but I’m happy with the results. I am using 2 micro servos, Arduino Mega, rotary encoder from sparkfun, PS2 style joystick and the coolest little 132×32 pixel OLED display from Adafruit.
Quick boink bouncing ball test on my Arduino and graphic LCD. I can get about 40fps with one 32×32 graphic.