Retro Challenge – Summer 2014

My awesome homemade logo
My awesome homemade logo

I’m entering the “Retro Challenge – Summer 2014” contest just for fun and to be motivated to finish a lot of projects I’ve had almost complete for some time now.

I’m going to try to post daily progress on a number of Apple II related projects. I’ll post a lot of code on my github site.  I’ll be trying to finish an iPad version of my 65xx CPU reference app.  There will be lots of demos, and maybe a game or two.  I might even go so far as to do my first PCB etching for a retro hardware project.  Stay tuned to this page for daily updates!!

*fingers crossed*

Converted a PNG to image data for use in my Assembly program on Apple II
Converted a PNG to image data for use in my Assembly program on Apple II

Day 1 – Image conversion to Double Lo Res Graphics (DGR)

I was able to fix about 4 bugs on my iPad app. This app is a great programming tool for retro programmers using the 6502/65c02/65816 processors.
After that, I finally decided to enter the challenge… at about 9pm :)

Anyway, for a quick warm up, I made the logo at the top of the page, then I made a program to show it on the Apple II.

Also, I started a new github to track all of the progress for this month.
https://github.com/digarok/rc2014sc

I’ve uploaded the code for my logo app and a disk image in the Day 1 folder. I’ll keep updating this post, but I’ll try to make it more organized in the future.

 


 

Graphing in polar coordinates
Graphing in polar coordinates

Day 2 – Polar Plotting Flowers in HGR!?

I have to move quickly to “do one thing” each day with retrocomputing. So I will call day 2 complete, though I could’ve kept going for hours/days… but that’s not the point.

Today I finally got to play with something I’ve been looking at for a few weeks. I’ve been wanting to learn about polar graphing techniques and I found a great article a week or two ago on The Internet Archive. Honestly, I looked for examples in other (modern) languages and they were poor in comparison to the explanations offered by James Fuller in the January 1983 issue of Creative Computing Magazine (p.202).

day2bas2Let me restate this for emphasis: THIS GUY IN 1983 DOES A BETTER JOB EXPLAINING POLAR GRAPHING ON A COMPUTER THAN GOOGLE + STACKOVERFLOW DOES IN 2014!

First of all, he gives great context. Not just in the situational need for doing this kind of graphing on a computer, but he gives code and examples for cartesian, polar and a 3d graphing system. This is how you teach, folks. I’ve never been a big fan of BASIC, but the BASIC language is exactly what makes this kind of interchange possible.

Anyway, I ended up pulling out the polar graphing portion of his code. After I played with it a bit I finally understood it. Great article. Lots of fun. Then I realized that one of the function plots looked like a flower so I made a quick program to randomly draw flowers with the petals represented by “cos(7 * sin(2*X))”. The code is on github under “day2”.

Flowers?  No, MATH!
Flowers? No, MATH!

DAY 3 – Progress on graphics routines

I did some graphics work that I will try to wrap up tomorrow for a little Independence Day celebration, but unfortunately no cool screenshots or anything today. 😉


DAYS 4 through 6 – Sine Waver

I played around with some nibble shifting routines and made a sine wave graphics demo of that. Check it!

Basically, since “pixels” of Lo Res (GR) and Double Lo Res (DGR) are stacked vertically, two to a byte, I have to do a lot of ASL/LSR ops to shift data up or down by one pixel.  This is a quick-n-dirty implementation that does it in place so you can see some black “static” at points where the byte has shifted up or down by one pixel and is waiting for the “AND”ed portion that has been blacked out, to be filled in.


 

DAYS 7 through 9 – New Retro Toys (65816 Assembler/Linker)

I was able to start beta testing a new 65816 compiler (Ok, we Assemble and Link in Assembly Language, but I think more people know what a compiler is these days.)  It’s made by a certain awesome French programming group.

As well, I cleaned up some graphics conversion routines that I’ve been using for all of my DLR experiments (including Festro, Flapple Bird), which I’m hoping I can put into a cohesive product release soon. Don’t worry, it’ll all be free and include the (open) source.


 

Day 10 – RetroComputing Conference!

I registered for KansasFest Convention, the world’s only annual convention dedicated to the Apple II. That will be coming up at the end of the month so I’m sure to finish out with lots of retro-goodness.


Day 18 – The Internet has arrived

I hit the big time, ma!
I hit the big time, ma!

OMG HI EVERYBODY!
So my page blew up overnight because a certain wonderful tech blog wrote a nice piece about one of my projects. That was quite a shock! I’ve been super busy at work writing a lot of Golang and putting in a lot of hours, which has slowed down my RC2014 efforts (boo.) Then Tuesday I woke up to seeing my Apple IIc and my messy living room table on TechCrunch.

Wow! There have been a lot of other news sites that picked it up from there. It’s been fun, but back to the challenge. Well… after work tomorrow.


 

Days 19 through end – Just more

Unfortunately, I didn’t get much more done for RC2014Summer.  But I did keep going and have release some neat new demos and things since the challenge.  I wish I had put a little more effort into the challenge, but I don’t think I’ve failed.  If you look at my blog, the retro programming hobby is clearly not something I do for a month of the year, rather I do this year-round.  I’m glad there are events like these to encourage others, and myself.  What’s ultimately important, I think, is having fun, continuing to work towards your goals, and sharing your work, even if it doesn’t get to where you would have liked to take it.

 

Leave a Reply

Your email address will not be published. Required fields are marked *