DanBoris
Members-
Content Count
1,086 -
Joined
-
Last visited
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by DanBoris
-
I've added a partial disassembly of 7800 Food Fight that I have been working on to my web page: http://www.atarihq.com/danb/ Dan
-
What specific facts do you think they got wrong? I actually thought it was pretty good. I think they got more facts right then some of the other videogame documentaries I have seen. I was a little worried that they where going to pin the crash on ET like a lot of people do, but they didn't go quite that far. Obviously they had to skip over some things, but I think they hit all the major points. What I liked the best was some of the cool archival footage they came up with, for example the scenes inside the Atari factory. Dan
-
my unofficial Sally questions thread...
DanBoris replied to shadow460's topic in Atari 7800 Programming
The halt line is not actually visible to the software running on the cpu. The halt line simply stops the 6502 clock in synchronization with the instruction cycle, and tri-states the data and address bus so that the MARIA can take control of the bus. Dan -
Ok, since I did a partial disassembly trying to resolve the Food Fight easter egg mystery, I decided to dig into the disassembly further and figure out the rules for instant replays. From my examination of the actual program here is what I see: As some people mentioned above it mainly has to do with having only a little time left on the cone (you can't leave the level in less then 12 seconds), and having a certain quantity of "close calls" with the chefs. There are also restrictions on which levels it can happen on and how often it can happen. Replays can happen on levels 5-17, 100-499, 600 and up. Seems like an odd set of numbers but that's what the code says. Also once you get a replay you have to wait for 5 more levels where you didn't leave the level early before you will get another replay. Dan
-
nevers? I only said I was an emulator author, I never claimed I could spell.
-
I've been part of the MAME development team for many years and although there may be a case here and there where "egotism and elitism" may occur, in general I find it to be a very good, easy to work with group of people. For the most part everthing the team does is to serve the goals of the project. Unfortunetly these oftern conflict with the interests of the people using MAME just to play the games. The ROMS not working is a perfect example. MAME always tries to support the best know set of ROMS so it can always be used as a reference for what the correct roms are. By not supporting incorrect roms, it encourages people to get rid of these bad roms sets (althought this often doesn't happen). Also the team, like a lot of emulator authors, have to deal with a lot of clueless and even downright ignorant people and this can really wear on your nevers. Dan
-
That is a pretty stupid statement. If you say the systems are the same except for the cpu, RAM and graphics chip, what else is left! Of course the beauty of Wikipedia is that we can change that statement if we like. Any suggestions on what it should say?
-
Yes, graphics data can, and usually is, stored in ROM. The only thing that can't be in ROM is the display list due to access time requirements, although it usually doesn't make much sense for this to be in ROM anyway. Yes, this appears to be the color delay input just like the TIA has. In the 7800 it's hooked to the same circuit as the TIA DEL pin. Yes, it appears that the BIOS ROM is enabled in the whole address range from $8000-$FFFF. In a NTSC 7800 the BIOS ROM is located at $f000-$FFFF which is where it is designed to run, but it is also probably mirrored through the rest of the range. PAL 7800 have the Asteroids ROM in place of the BIOS which runs from $C000-$FFFF. It may actually be possible to activate both video siganls at the same time but the problem is that both the Maria and the TIA generate thier own video sync signals, so unless these signals where in sync with each other it would freak out the TV and you wouldn't get a usable display. Yes, it is a fully functional RIOT chip, but when you access it the system clock is slowed down to 1.19Mhz which is why the Atari documentation recommends not using it for anything but IO. The timers would have limited usefulness since the mix of fast and slow clocks would make it hard to get an accurate time out of them. Not sure why they don't want you to use the RAM. Dan
-
I saw this on a newsgroup in response to a question about I/O Error on Arkanoid: Check to see if maybe one of the coin switches are stuck. If one is stuck, the game will lock up at power up with the "I/O Error" message. If this is the case, clearing the stuck coin switch should take care of your problem. Hope this helps. Dan
-
I just took a closer look at Telengard and it doesn't use a random number generator. Here is the pseudo code for it's map generator: Q=X*1.6915+Y*1.4278+Z*1.2462+X*1.4278+Y*1.2462+Z*1.6915: HI = Q AND 255 Q=X*Y*1.2462+Y*Z*1.6915+Z*X*1.4278 IF Q & 0x03 != 0 THEN Q = (Q >> 2) AND 0x0F If Q > 9 then Q = Q - 9 HI = HI + (Q << 8) HI=HI+Q*256 END IF HI = INT(HI) X, Y, and Z are the room coordinates in the maze. Each level is 200x200 and there are 50 levels. The value of HI defines each room as follow: bits 0-1: Top wall, 0 = no wall, 2 = wall, 3 = door bits 2-3: Left wall, 0 = no wall, 2 = wall, 3 = door bits 8-15: Special items, Inn, Pit, Teleporter, Starway, etc. Dan
-
Check out Happ Controls. Dan
-
Yes, this sounds very similar to how Telengard does it.
-
Do you plan to release the source code for this? I would be really interested to see the algorithm. I have been studying the game Telengard recently and it has a really interesting way of generating it's map. The map in Telengard is huge, 50 levels with 2,000,000 rooms, but it doesn't generate if randomly. It has a clever little algorithm that generates the map mathematically so that it's the same every time you play the game. Dan
-
You don't need inverters for the 5200 cartridge to use a standard eprom. Unlike the 2600, the 5200 has active low chip enablee. If you need it the schematic for the cart can be found on my page:http://www.atarihq.com/danb/a5200.shtml] http://www.atarihq.com/danb/a5200.shtml[/url] Dan
-
No need to, check out this thread: http://www.atariage.com/forums/index.php?s...c=83980&hl= although I must have missed Millipede since that not on my list. Dan
-
According to the Internet Pinball Machine Database http://www.ipdb.org/search.pl?any=solar+ri...earchtype=quick there where two versions of Solar Ride, one was electro-mechanical and the other was solid state. If the machine your looking at has digital score displays then it's a solid state one. Dan
-
We have almost looked at the entire Pong circuit, just a few miscellaneous sections to go. This is the server timer circuit 2puck.zip During normal play the output of F4, /RUN and STOP G will all be low which will make the output of E5 high, which will keep the SERVE output of B5 low. When the ball is missed, /MISS will go low, pin 6 of E6 will go high which resets the ball speed counter. Pin 3 of E6 will then go low which triggers the 555 timer and sets the output high, and sets the output of E5 low. This low output will clear B5, setting SERVE high which will hold the horizontal ball counter in reset. After 1.7 seconds the output of the 555 timer will return low, setting the output of E5 high. This provides for a small delay between missing the ball and the next serve. The SERVER output of B5 will remain high until the PAD1, at which point SERVE will go low releasing the reset on the horizontal ball counter. The use of PAD1 as a trigger to release the reset on the ball counter may seem a little odd, but it turns out to be a clever trick to get the ball back to the middle of the screen for the next serve. When the reset on the counter is released, the ball counter will be at zero and the horizontal screen counter will be at 128, because that’s the horizontal position of paddle 1. If you look back at the section on the ball horizontal counter you will see that the ball in enabled when the counter reaches a count of 508. When the horizontal screen counter reaches 455 the ball counter will be at 327. There will then be 80 counts during HBLANK when the ball counter doesn’t increment. After HBLANK, the ball counter will count 181 more times, thus displaying the ball at location 261. Since the net is at 256 this starts the ball very close to the net.
-
Classic Video Game cliche that you love or hate
DanBoris replied to Lacan's topic in Classic Console Discussion
Love: Getting more fuel by shooting a fuel tank (e.g. Scramble/Super Cobra) Dan -
I totally forgot about Haunted House, I distinctly remeber playing that one back in the day! There was another electro-mechanical I remeber playing alot, which I have never seen on the net. It was a firefighting game where instead of a gun you would control a water nozel that would spray real water at a building at the back of the machine. The windows of the building would light up as if on fire and you would have to direct the water nozel at that window. The game even had a hand operated windshield wiper to clean the front glass of the machine. Dan
-
Was the A8 the most revolutionary computer platform
DanBoris replied to carmel_andrews's topic in Atari 8-Bit Computers
What do you think of this... "Atari initially threatened clone producers with lawsuits, and actually sued Coleco over its 2600 module and Gemini clone. However, since the 2600 contained no patented material and was made up of all "off-the-shelf" hardware (and no copyrighted software), the company evidently realized litigation was futile. Coleco and Atari settled out of court, and many other companies quickly came out with their own 2600 clones, some of which are still made to this day." That was from http://www.classicgaming.com/museum/2600/ and I've read similar things many times in many places. It's some huge misinformation campaign? Edit: Some more research shows that perhaps this is misinformation, stemming from the fact that early Atari 2600 clones were made from entirely off-the-shelf parts. I know the Gemini board is *very* busy looking compared to a real 2600's. Edit #2: Found one of my Gemini boards, and it had only three chips - the 6507, the 6532, and a custom one labelled "Coleco 73192 E4002", manufactured 8307. I'm pretty sure older Geminis had near a dozen ICs, so I guess they later integrated them to save costs, once they had settled with Atari? The TIA chip in the 2600 that handles video, sound and some IO was definitely a Atari propritary part and not an "off the shelf component". Incorrect information has a tendancy of spreading from one web site to another, this doesn't make it correct. I am not sure if Atari held a pattent on any of the TIA technology at the time of the lawsuit with Coleco. It's unlikely that the clone machines, like the Gemini, used off the shelf parts instead of a custom IC, since it would take dozens of standard logic chips (I would bet a 100 or mote) to re-create the funtionality of the TIA. Dan -
Most 7800 ROM images start with a special 128 byte header (see below) that was not part of the original cartridge. The remainder of the ROM image is just a straight dump of the binary data in the cartidge. There is nothing that seperates 6502 instructions from graphics or other kind of data. The only practicle way to do this is to create a tracing disassembler that traces all the possible execution paths through the code and marks them as code, so what remains after the tracing is the data. Cart Header: To work with this emulator ROM images must have this 128 byte cart header at the start of the raw data. This header allows the emulator to know the features of the cart thus preventing you from having to use a bunch of command line options. 0 Header version - 1 byte 1..16 "ATARI7800 " - 16 bytes 17..48 Cart title - 32 bytes 49..52 data length - 4 bytes 53..54 cart type - 2 bytes bit 0 - Pokey cart bit 1 - Supercart bank switched bit 2 - Supercart RAM 55 controller 1 type - 1 byte 56 controller 2 type - 1 byte 0 = None 1 = Joystick 2 = Light Gun 100..127 "ACTUAL CART DATA STARTS HERE" - 28 bytes
-
If you are trying to run VSS under windows XP, you will probably need VDMSound (http://sourceforge.net/projects/vdmsound/) to make the sound work properly. Dan
-
The antenna input is quite common on early (and maybe later) arcade games. Without it, it might be possibled to trip the machine into play mode by giving it a static electric shock, which would give you a free game. The antenna input is used to pickup this shock and reset the machine, thus reducing the chance of someone getting a free game.
-
The reply to my last entry explaining the transistor portion of the game control circuit allowed me to work out the complete opertation of this section. When the coin switch is activated it momentarily pulls /SRST low which resets the score counters. The two C9 inverters generating an active high reset signal which is also used to reset the score counters. When /SRST goes low it pulls the base of Q2 low which turns on Q2, which pulls the base of Q1 high turning Q1 on. With Q1 on the base of Q2 will be pulled low so even when the coin switch turns off Q2 and Q1 will stay on. At this point the game has been reset so /STOPG1 and /STOPG2 (Stop Game) are both high, setting pin 2 of D2 low. Pin 3 of D2 is being held low by Q1 so /ATRACT is high turning off the attract mode. The game will stay in the state until one of two things happens. 1. If either score counter reaches the game ending score, /STOPG1 or /STOPG2 will go low, setting pin 3 of B2 high which will turn on the attract mode through D2. This will also put a low on pin 8 of E4 which turns off Q2 which turns off Q1. 2. If the Antenna input goes high as a result of a static shock to the machine, Q3 will turn on pulling the base of Q1 low, which turns off Q1 which turns off Q2. After either of these situations has occurred Q2 and Q1 will be off, putting a high on pin 3 of D2 and keeping the game in attract mode. The game will stay in the state until the coin switch is activated again and the whole process starts over.
-
I imagine right now the DRM issues are the problem. I bet someone is working on a solution right now. But if they're not, they should be. First person that does that is going to corner the market. If you price the roms reasonably and make up your money on gross sales, it will succeed. I don't know that you would even have to bother with DRM. Since all these ROMS are already floating around out there on the net and are quite easy to find, there really is no point in protecting them with DRM, if someone really wants a copy for free they don't need to get it from the guy who downloaded it from a legitimate site, they could just get it off another site. Also, I think it would be hard to come up with a DRM scheme that was permissive enough to allow you to play the game as you wanted to. Atari 2600 emulators for example run on a ton of platforms, PC, Mac, Linux, Dreamcast, GP2X, etc. It would be hard to come up with a DRM scheme that would work across all platforms. Dan
