Jump to content

DanOliver's Photo


Member Since 18 May 2013
OFFLINE Last Active Aug 3 2018 3:37 PM

#3577763 6502 References similar to "The Art of Programming" ?

Posted by DanOliver on Tue Aug 23, 2016 7:55 AM

I rarely learn other people's algorithms. A few in college. I've read a bunch of 6502 tricks I think they called them, but they're algorithms. They're very interesting, clever, but I don't think I've ever been able to use one. More about learning what's possible, how to think more out of the box. I like to learn a little and then come up with my own code in the hope of maybe getting lucky and having something better. If I was really stuck I'd certainly research as much as I needed.

#3577758 Disassembling 2600 Games?

Posted by DanOliver on Tue Aug 23, 2016 7:48 AM

I'm pretty dense...trying to understand, is it like what Mr SQL described? You look at how a game plays, and you look at the disassembled code, and then re-create the same game using your own code? So the result looks very similar to the original but slightly different.


How do you not end up with an almost identical kernel? I mean do you purposely find another way?


That's basically how I got started, and I suspect how many people did even if they don't admit it. When I did it my game couldn't look like the original and we couldn't lift any code for fear of being sued. Looking at Wikipedia I guess this would be more like Reverse Code Engineering. I forget what we called it back in 1982, probably just "disassembly". I wonder how it would have changed me as a programmer if I'd been able to disassemble Demon Attack for Space Cavern. Apollo couldn't get their hands on a copy so I disassembled a few other games to learn how to program a game. Only recently did I learn how Demon Attack was done and I was amazed. Never would have occurred to me I think. If I'd learned that before Space Cavern I think it probably would have looked like a rip off, so glad I didn't.


I also did kind of the same thing on the ST, created a Mac looking UI for a rip off of Andy Hertzfeld's Switcher, and other Mac UI elements. No matter how hard I tried I couldn't come up with a better UI. Seems like I have to design from scratch to make an improvement. Trying to tweak an existing doesn't get me anywhere.


I have to disassemble Laser Gates before starting another game just to remember where my head was. Hopefully it will make sense. Although could be funny if I keep seeing poorly written code, or better ways.


I'm writing a tool to disassemble. I assume there are tools already, but I like writing my own. Be interesting to start a thread on creating such tools if there isn't one already.

#3547461 Number of people who've created 2600 games?

Posted by DanOliver on Thu Jul 7, 2016 9:32 PM

Do you know what I wanted most? I wanted to make it to a research and development lab. I wanted to be in a place like PARC. (or one of Atari's many research departments...hehe...)... and that dream gets further away with each passing day, no matter how much I claw and scratch, and manoeuvre...I can't seem to get there... (ironically, in the research institutions, the opposite weirdness is happening, all of the R&D luminaries from the 1960s and 1970s _are still there_   Butler Lampson still has a post at Microsoft Research!)

Be careful what you wish for. I retired about 15 years ago to do software research. I'm kind of thinking research is best done as part of product development. I think I produced more innovation when cranking out products. With research there is a chance I'd have a big break through but I'm pretty sure that if I did that the rest of the software world would dismiss it. That's been true in the past so I assume that would keep happening.


A week ago I went to a startup incubator here in Phoenix and started 2 projects with 2 different companies. Both failed within a day or so but it sure stimulated my creativity. More big, decent ideas than I've had in 5 years. So I think I'm going to get back to creating products or prototypes.


I think today it would be easier to get out of DevOps than it has been in a long time. Back when I started programming anyone, and I mean anyone, could get a job as a programmer with the only skill being able pick a computer out of lineup of household appliances and a desire to try. In the 90's software dev pretended to grow up and there were fewer interesting projects, projects were huge. Internet would have been interesting but I missed that. And the 2000 crash put a damper on fun projects. But it seems out of control crazy again. For awhile games were huge projects, but now there are tons of opportunities for one person games. And most mobile apps are really simple little apps. Reminds me of the 2600.


You referenced age...are you meaning you're getting too old? I'm almost 60 and have no problem getting projects. When a company really needs a software project completed they don't care about your age, race, sex or species. But you do have to show that experience. That may mean doing your own project on the side first to prove yourself. Or better yet doing a project for a startup that has no money. You get experience, contacts and show you not only can get a product out but can in a startup environment. Just gotta do it.


Oh yeah one more thing...if you have a wife, kids, pets or plants you'll probably have to get rid of them. Software is a demanding mistress. You really gotta love it.

#3543086 Number of people who've created 2600 games?

Posted by DanOliver on Fri Jul 1, 2016 3:40 AM

Sorry for double post. Seems no way to delete. Maybe in the 22nd century we'll have such awesome powers.


I get rather depressed sometimes when I see how little software has advanced in the last 30 years. When I got into computers I went from punch cards and paper tape to the Mac all in the space of 5 or 6 years. I thought that trajectory would continue, or even get faster. But in the last 30 years it seem like little has changed software wise, and really gone backwards in many areas. Game and graphic software has sure advanced. But desktop...horrible imo.

#3543060 Number of people who've created 2600 games?

Posted by DanOliver on Fri Jul 1, 2016 1:32 AM

I was wondering today if more people had climbed Mt Everest than had written a 2600 game. Goggle says about 4000 climbers.


Goggle number of 2600 games found 470. But that didn't seem to include home brew.


Seems like it'd be way under 4000 however. Anyone have an idea on the number of 2600 game authors?


Just wondering.


#3531375 done back in the day...

Posted by DanOliver on Tue Jun 14, 2016 12:19 AM

Long after the start but at Apollo and VentureVision we used an Atari 800, the Assember cart, down loaded to a EPROM burner. EPROM moved to a ZIF on a cart board and then inserted into a 2600 like a normal cart. For debugging we looked at the image on the TV. Using a large screen help see dots.


Later for Telepathy I used an Apple II, an instant assembler I wrote, 512K RAM drive and a Frob. Turn around from compile to seeing the game on screen was a second or two. Completely changed the development. Best system I've ever worked on. Wish I still had it.

#3528287 If Atari would have

Posted by DanOliver on Thu Jun 9, 2016 8:02 PM

Apple II systems survived the "crash" very well. All the way to 1989 when it was simply time to get more powerful hardware. And the PC went on for many more years. Only the smartphone revolution killed it recently.


They obviously did what others couldn't.

I don't think home computers were related to the game console market. Home computers were the next big thing and a lot of game developers transitioned to home computers, myself included.


This is a little hot button for me so here's my little peep at the Apple II market...again, I only have a very narrow view of what actually went on. But I remember being in a meeting at Apple where management was explaining why they were going to curtail the Apple II line and it had nothing to do with hardware power. They had a bell curve chart that showed profit margin and the Mac had more profit margin. Their thinking was when they sold an Apple II they lost money, meaning they could have sold that person a Mac for more profit. The Apple II was making money but they thought it cut into the Mac market. I think it became clear the problem with the Mac market had nothing to do with the Apple II.


Obviously at some point the power of the 6502 and 65816 wasn't going to cut it in home computers. But I think that line could have made money for Apple for a longer time if management had been smarter. And it could have transitioned too. There was a project that shank the Apple II down to a chip and they put it inside a keyboard. So you just had a keyboard and a monitor. If that path had continued Apple may have been able to get into the embedded market and today the Apple II could have been in your coffee maker, refrigerator, car, etc... But stuff like that was never sexy enough for Apple. And maybe they couldn't pull it off. Apple always needed big profit margins because they just don't have the kind of people, or mind set, that can produce at low margins.

#3525493 Transferring data from 2600 to PC via audio?

Posted by DanOliver on Sun Jun 5, 2016 5:25 PM

Like this?
This is the final Assembloids2600 PAL binary represented as 64x64 pixel (=4096 Bytes ;-) Image, hehe.
You can spot some repeating code and gfx patterns in there, also some smoother color-transitions i.e. from the game's logo color-table.
And the reset-table.

Then he mentioned changing parts so the binary wouldn't leak out early!

That's a lot of info and just one screen. Thanks. Also, what a perfect way to represent just how small a 4k game is.

#3524907 Transferring data from 2600 to PC via audio?

Posted by DanOliver on Sat Jun 4, 2016 9:24 PM

Yes. Some code optimized for the 2600 play field, maybe adding color into the encoding. I assume a lot more data could be transferred per screen and with a lower error rate with some kind of check sum type deal.


I had been wondering about a way to communicate info to users in a game. The look of text on the 2600 isn't too great imo. Flying a 23th century space ship and the text display, well, kind of doesn't help the illusion. But a play field screen would look futuristic and having to translate via a web site would be interesting. I think I'd even do the score that way.

#3524795 Transferring data from 2600 to PC via audio?

Posted by DanOliver on Sat Jun 4, 2016 4:44 PM

I love the idea of communicating to a computer using audio. Made me think video would be another way. Use the play field as bar code type deal.

#3520580 Opinion: Order of routines in game?

Posted by DanOliver on Sun May 29, 2016 10:39 PM

I can see where writing demos would be very different. Kind of like creating a library where you want to be very organized and you wouldn't need the full ROM or RAM. So cost of JSR, etc... wouldn't be a concern for framework code around the demo code. And I assume that would drive what kind of tools are useful.


Doing a game (for me at least) is an intense, short time frame, and when it's done, its done. Changing the code later or being understandable to others is not an issue.


When I moved from games to writing frameworks, libraries, etc... it was so much more relaxing. Still very interesting, but a very different process. With games you're crafting pixels on a screen and that's all that matters. With frameworks you're crafting code and that's all that matters.


These days it sounds like most people writing 2600 games work on the game for short burst of time over a long period. That might require a tool set more like the writing demos and then pulling all that together at the end which might be more like the intense type of development.



#3517180 Opinion: Order of routines in game?

Posted by DanOliver on Wed May 25, 2016 12:22 AM

...by the end, everything has turned into a giant mess...

Just kind of an observation that took me 35 years to come to learn...


The "mess" is a superior programming paradigm.


We've been dumbing down programming, like pretty much everything else, as the world has needed more programmers. Should a programmer's code be judged by the worst programmer's abilities? I do agree with the concept of maybe the next language or programming paradigm might bring nirvana. But after a 1000 languages and thousands of paradigms I started to think maybe that's not really working very well. And I do agree there's a lot of useful code that can be written in very high level languages by inexperienced people. But isn't there still a place for great code? Consider Boost. Pretty much everything inside Boost would be considered really bad programming. Yet at the same time it's considered great programming to use Boost. How can the creating of Boost be "bad" if the result is "good"? It's a strange paradox. The difference is of course the programmer's skill. Virtually everything you read or hear about programming will be geared toward less the skilled.



I embrace the "mess".


Just my two cents.

#3510723 Opinion: Order of routines in game?

Posted by DanOliver on Sat May 14, 2016 6:33 PM

Back in the day we were working full time on a game so I kept the entire game basically in my head. I always kept a single sheet of graphic paper with every RAM location, its variable name and maybe a comment. Most development systems should easily be able to search for the routine name so it doesn't/shouldn't matter where the routine was located.


I may be wrong, but I don't think we used JSR very often. It's expensive time wise and uses some RAM. I think I preferred branches and there are several tricks with branches.

#3510275 New Atari Compiler Dev

Posted by DanOliver on Fri May 13, 2016 11:02 PM

NASA wasn't used as an example.


Chances of creating anything really new is pretty much always nearly impossible. For most people that's reason enough to not try, which is fine. If everyone thought out of the box...well, there'd be no box to think out of.

#3509836 New Atari Compiler Dev

Posted by DanOliver on Fri May 13, 2016 8:12 AM

Just to add a couple to the list...


Elon Musk seems to think out of the box. I can only imagine the number of people thought if a rocket could land itself and be reused don't you think NASA, funded with billions of dollars and working for almost 60 years, having the brightest and most educated scholars on the earth, would have already figured out this can't be done? I'm guessing Elon was called an idiot a few times to his face and thought an idiot by thousands of others. And that's just Space X. Look at other things he's done. There's a pattern of thinking out of the box. And Elon is just the guy we hear about. I'm guessing pretty much everyone who works with him understands the power of thinking out of the box.


Socrates, Leonardo da Vinci, Charles Babbage, Booker T Washington, Thomas Edison...there are enough examples to fill volumes. Many out of the box thinkers were killed for daring to go against the status quo. It's a bit sad that examples have to be asked for.


Those are just famous examples. Probably a few million others no one remembers. The first modern farmers to decided to not apply so many chemicals to crops certainly went against many PhDs.


But the example I was thinking of when I made the post and why I would even make such a post is the context of this forum...Atari. I'm sure many self described brains were only too happy to pointed out to Bushnell how dumb he was to try and produce the 2600 for many very logical sounding (to them) reasons.


And more specifically the programming of 2600 games. Any one want to guess how many of these games employ multiple examples of algorithms that go against established dogma? And how often those unique algorithms have been dismissed by "educated" comp sci types?


Yes, this type of thinking will always be dismissed as philosophical crosstalk. There will always be a line of people ready to call out of the box thinkers names like idiot and arrogant...but that's a good thing. It's the best indication of being on the right path.


One last general example. How many of you make your living at companies or in industries which were founded or based on out of the box ideas? How many products do you use everyday that were invented by out of the box thinkers?


I'm certainly not dismissing education (research is different). Education is a very important tool used by out of the box thinkers. Knowing what box you're in can be a big help. But it can also be an inhibitor if used poorly. The out of the box thought comes first. Once proven and useful then the out of the box idea becomes integrated into education.


And of course many times starting from scratch leads you to the exact same place others had already figured out. And many times there's failure. Been there several times. So that means new ways should never be tried? Or only tried when you're certain of a successful out come? Well, yeah, for most people. You know, the people piling kindling at the base of the latest person trying to improve the lives of the mob.