+atari2600land Posted August 24, 2008 Share Posted August 24, 2008 Does anyone here know how to program Odyssey 2 games, and if so, can they teach me or direct me to a website for more info? What programming language do i need to learn and what software do i need (i have an emulator.) I tried google, but it didn't help. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 24, 2008 Share Posted August 24, 2008 The O2 uses the 8048 processor. so you'd need to bone up on it's instruction set. The TASM cross assembler supports the 8048 processor, so you can use that for all your programming efforts. TASM 3.01 ...and the O2EM emulator for testing... O2EM emulator homepage Technical specs etc. can be found on Dan B.'s site... http://www.atarihq.com/danb/o2.shtml A pretty active O2 programming forum exists here: http://www.videopac.nl/forum/ More links for follow... http://soeren.informationstheater.de/g7000/Index.html 1 Quote Link to comment Share on other sites More sharing options...
Crazy Climber Posted August 24, 2008 Share Posted August 24, 2008 These guys sell O2 homebrews so they might have some more info, they could also sell your game for you (if you decide to make one) I would send them an email. I met the owner at the MGC a few years ago and he was pretty cool, I am sure he would be happy to help you out if he can. http://www.packratvg.com/ Quote Link to comment Share on other sites More sharing options...
superbee Posted August 31, 2008 Share Posted August 31, 2008 Hi, on my blog you´ll find some projects I started (portugues, for while): http://odygames.blogspot.com/ Here´s René site, this guy knows everthing about Ody and help me with some of games: http://www.geocities.com/rene_g7400/index.html Quote Link to comment Share on other sites More sharing options...
Godzilla Posted September 17, 2008 Share Posted September 17, 2008 river raid on the odyssey those are some cool projects! Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted November 9, 2010 Author Share Posted November 9, 2010 OK, so I found this Hello World program on the Internet for the o^2 and it doesn't work after I assembled it into a ROM file. Why? helloworld.txt Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 9, 2010 Share Posted November 9, 2010 It would help if you said where you got the code from :- http://soeren.informationstheater.de/g7000/chapter2.html Did you follow the instructions so get a "bin" file from the "p" file? What emulator did you try it on? Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted November 9, 2010 Author Share Posted November 9, 2010 I tried it on o2em. I guess what I want to do is turn a .a48 file inro a .p file before I use ASL? I'm confused... Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 9, 2010 Share Posted November 9, 2010 Did you follow the instructions on that page I linked to? Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 9, 2010 Share Posted November 9, 2010 I'm not a g7000 programmer but after following the instructions and downloading the assembler and emulator I get a "hello world" binary that works fine. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted November 10, 2010 Author Share Posted November 10, 2010 I tried making a batch file with the directions, but results didn't work. What am I doing wrong here?! Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted November 10, 2010 Author Share Posted November 10, 2010 OK, it says I have a fatal error and won't compile. PASS 1<-[K > > >HELLO.A48(38) : efrror : error in opening file <-[K fatal error, assembly terminated. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted November 10, 2010 Share Posted November 10, 2010 Did you also download the include file "g7000.h"? Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted November 10, 2010 Author Share Posted November 10, 2010 Success! That was it. Next steps to take: Find out how to change colors and characters on the thing. Also, I need to learn assembly it looks like. From the very little experience with it, "jmp" acts like "goto". That's all I can discern from it. I saw a website that lists all the colors for the O^2 and how to program them in and letter values, but after googling, I can't seem to find it again. Quote Link to comment Share on other sites More sharing options...
Animan Posted November 11, 2010 Share Posted November 11, 2010 I have also been interested in O2 programming. Have been messing around with some of it. Exidy's Death Race, anyone? Quote Link to comment Share on other sites More sharing options...
superbee Posted November 27, 2010 Share Posted November 27, 2010 Nice to know you´re trying to code Odyssey. Now I have some of my projects in a new page: http://rafael.guttenbrunner.com/ I not a good programmer I just trying to increase Odyssey graphics, anyway if someone need some code to check, let me know. Rafael Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 7, 2010 Author Share Posted December 7, 2010 OK, now I need to know how to make .a48 files. It wouldn't be as simple as using NotePad (nooooo, that'd be too easy...) so it must be done some other way. I have ASL but it doesn't say anything about how to make .a48 files out of text files. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted December 7, 2010 Share Posted December 7, 2010 Just rename them from .txt to .a48 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 7, 2010 Author Share Posted December 7, 2010 How weird is this? I tried to do that but it wouldn't work. But uploading the files already named .a48 (as listed on one of those pages above) worked in ASL and stuff. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted December 7, 2010 Author Share Posted December 7, 2010 OK, Now I know how to get a .p file. Through trial and error, I discovered that if you drag an .a48 file to AS's icon and there's no programming errors, it spits out a .p file in the same folder. I then use the batch file I made to get a ROM. What I don't think I'll ever understand, though, is assembly. I think I'm just too dumb to grasp anything about it. Quote Link to comment Share on other sites More sharing options...
superbee Posted December 12, 2010 Share Posted December 12, 2010 (edited) OK, Now I know how to get a .p file. Through trial and error, I discovered that if you drag an .a48 file to AS's icon and there's no programming errors, it spits out a .p file in the same folder. I then use the batch file I made to get a ROM. What I don't think I'll ever understand, though, is assembly. I think I'm just too dumb to grasp anything about it. But what you planning to do, is it Gosub? Let me know, maybe I can help you some way. I´m sure you can do easealy. Edited December 12, 2010 by superbee Quote Link to comment Share on other sites More sharing options...
Bryan Posted December 13, 2010 Share Posted December 13, 2010 OK, Now I know how to get a .p file. Through trial and error, I discovered that if you drag an .a48 file to AS's icon and there's no programming errors, it spits out a .p file in the same folder. I then use the batch file I made to get a ROM. What I don't think I'll ever understand, though, is assembly. I think I'm just too dumb to grasp anything about it. Assembly isn't impossible, you just have to know the general rules about how computers work and then have all the documentation handy about the particular CPU and system you're dealing with. With any computer system you're dealing with you'll need to know: 1. binary number systems. You need to know how to do binary math and how bits combine to make bytes (or larger numbers on other systems) and you need to know how bitwise operations work like AND, OR, XOR, etc. 2. Understand the concept of memory and address space. Each byte of memory has an address. I can store a value in byte location 432 and when I read location 432 later, the value will be there. Some areas of memory are for your use for variables, and some locations have a special purpose within the system you're using. The full range of possible locations are the address space. Not all locations may be available to you since the CPU may be capable of using more memory than is installed. 3. Understand the concept of a program. The CPU will do the operations it is instructed to do by following a sequence of numbers stored in memory (sometimes this memory is the same as your variable memory and sometimes the program has its own separate memory. The 6502 and 8048 are different in this regard). Assembly language is an easier to understand representation of the machine-language program so you don't have to type in raw instruction data to write a program. 4. Understand the concept of hardware registers. While the majority of available address locations will be memory, some will be special purpose registers inside other IC's. These will allow you to access the video, sound, inputs (like joysticks), and other special functions of the system. Generally, RAM is used to prepare the necessary values to put into these register locations to achieve the desired output from the system. 5. Finally, understand how a typical CPU allows you to read and write values from memory and perform operations on them. CPU's also have registers that preform special functions or allow you to quickly store a number for later use. Many CPU's have an Accumulator which is where the results of an operation are made available. Here's a program on a simple made-up CPU to show the sort of things one might do (not fully 8048 compliant): mov A, #3 this instruction would put the number 3 in the Accumulator (note the # means this is a number) add #2 this instruction would add the number 2 to the 3 we've already got. mov 1, A this instruction would put the result of 5 into memory location 1 (note the # is missing) and #1 this instruction would AND the accumulator (5) with 1, leaving us with 1. mov R1, 1 this instruction would fetch the 5 from location 1 and put it in a CPU register called R1 add A, R1 add 1 to 5 so A=6. shl A shift A to the left. By moving all bits up one, we cause a multiply by 2. A now equals 12. Anyway, once you get the hang of the CPU and study some existing programs you start to get the concepts you need to build your own program. Game consoles aren't always the best place to start because they're often not meant to be easy to program. Instead, they're made to be programmed by experts and cheap to produce. For example, anyone who tries to learn 6502 on a 2600 is insane, but someone who has written many 6502 programs can concentrate on just learning the peculiar requirements of the system. At some point, when you're studying programming it will all just click and you'll be on your way. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted March 22, 2011 Author Share Posted March 22, 2011 But what you planning to do, is it Gosub? Let me know, maybe I can help you some way. I´m sure you can do easealy. It's not Gosub, I don't think I'm ready to do that yet. It's actually my first program I programmed for the Atari 2600, Ants (or Alien Greed). I've made a website and blog entry about what I have done and am planning to do. Sorry for the necroposting but I feel like returning to this now. Quote Link to comment Share on other sites More sharing options...
superbee Posted March 22, 2011 Share Posted March 22, 2011 But what you planning to do, is it Gosub? Let me know, maybe I can help you some way. I´m sure you can do easealy. It's not Gosub, I don't think I'm ready to do that yet. It's actually my first program I programmed for the Atari 2600, Ants (or Alien Greed). I've made a website and blog entry about what I have done and am planning to do. Sorry for the necroposting but I feel like returning to this now. I saw you now a member of Videopac.nl, there you´ll find some incredible O2 programmers. I checked the Ants roms, unfortunatelly I don´t know much about random things. I don´t know if you see any problem if I give a Gosub start, maybe it could be usefull for you try to check how the things works. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted March 23, 2011 Author Share Posted March 23, 2011 That would be really useful, as I learn through examples (and modifying them to get my needs.) As it turns out, I had been a Videopac.nl member since 2008, and I had made 4 posts about the same game back in '08 in the help section. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.