Jump to content

DanBoris

Members
  • Content Count

    1,086
  • Joined

  • Last visited

Everything posted by DanBoris

  1. There's really no way to be sure other then to swap the components with a good system. Dan
  2. I could do this, but I don't have easy access to a 7800 right now. If someone could provide a high resolution image of the PCB I could identify the chips. Dan
  3. Pulling out (or putting in) the cartridge with the system on would be more likely damage the cartridge then the system. There are pins in the cart slot that deliver power, ground and signals to the cartridge. If when inserting or removing the cartridge, the power and signals get connected before the ground it will allow current to flow in a path that is was not intended to flow which can damage the eletronics. You will notice that most electronic devices that can be plugged and unplugged "hot", usually have a mechanical way of ensuring that ground gets connected first. As someone else pointed out there is also the concern of pins on the cartridge getting shorted out, which could damage the system. Dan
  4. It's not really a special pin that detects it just a technique using the normal pins. Here is a post I made about it a while back: "The key is bit 2 or the CONSOL ($C01F) register which enables/disables the pots in the controllers (I believe a 0 disables the POTs). When you disable the pots in a normal controller they always return $E4 which is the max pot value that can be returned. But when you disabled the trackball it returns a $7A which is also the value that the trackball returns when it is at rest. So you can use this to determine whether a trackball or stick is connected. "
  5. US Amusements just scheduled an auction in Cherry Hill for October 6th. Dan
  6. I wonder if it's some sort of internal employee magazine. Dan
  7. I've just added a Pong page to my website http://www.atarihq.com/danb/ that includes my Pong simulator as well as an updated set a schematics.
  8. DanBoris

    Microvision

    I have some technical information on my web page about it http://www.atarihq.com/danb/Microvision.shtml including schematics of the base unit and cartridges. On the cartridge page there is a link to the patent for the TMS1100 CPU, and one for the system on the main page. Dan
  9. Be sure to submit this to Digital Press, they pay money to people for finding easter eggs. Even though the message was documented on thier site, the method of getting it isnt' so you may qualify for the prize money. Dan
  10. Check out: http://www.retrogamingradio.com/
  11. Here is a partial commented disassembly of the PL65 sample program along with some plain ascii versions of the source file and libraries. It gives you a good idea of the type of code the PL65 compiler produces. Dan pl65src.zip
  12. Looking at the disassembly of the pre-compiled version it appears that the stack is at $2000 and the code is at $2100 which is the default settings for the compiler, but when I compile it using the Atari800Win emulator it the binary is close the the precompiled version but there is a section towards that top of the code that is messed up. Not really sure why. $2000 should be the start of free RAM on both the 800 and 800xl. Dan
  13. Has anyone figured out how to get out of the editor? I've been able to load and edit a file, but I can't figure out how to save the file and get back to the main menu. Dan
  14. No, not legal, but all to common. Dan
  15. I took a look at the disassembly of the sample program along with the source and PL/65 seems to manage memory like Action does, storing local variable in RAM just above the routine that uses it. This leads the same the same drawbacks as in Action, no recursion, and it would not adapt to cartridge based systems. From the perspective of optimization, the PL/65 compiler definitely doesn't optimize as well as Action. For example PL/65 uses it's own stack for passing parameters, and uses this stack no matter how many parameters there are. Action on the other hand will use the A, X and Y registers if there are only a few parameters which makes for much more efficient code. Dan
  16. DanBoris

    Pong Project

    Actually the technique I use to simulate the circuit only re-evalutes a chip when one or more of it's inputs have changed. Even with this the performance still isn't greate. This was exactly my intention, as a tool for validating simulations of these machines. Perfect example of this was the Pong driver that was in MAME a while back. Althought pretty accruate it totally missed the fact that the ball keeps moving in attract mode. Even when I had studied the schematics I didn't relize this, and it wasn't until someone described the behavior of the real game was I able to correctly decipher the schematics to see how the ball behaved during VBLANK. Dan
  17. I've been working on a Pong related project and I thought I would post a screen shot: Yes, this may look like any one of 1000 different Pong simulation programs that people have written, but this one it a little bit different. The screen shot you see here was generated by doing a chip level simulation of the Pong circuit using a general purpose digital logic simulation engine. Here a little sample of the code used to define one of the score counters: Me.AddPart(New Nor2("F3B", Node("L"), Node("MISSED"), Node(132))) Me.AddPart(New IC7490_4bit("C7", Node(132), Node("SRST"), Node("SRST"), Node("SCORE1_1"), Node("SCORE1_2"), Node("SCORE1_4"), Node("SCORE1_8"))) Me.AddPart(New IC74107("C8A", Node(1), Node(1), Node("SCORE1_8"), Node("/SRST"), Node("SCORE1_10"),Node("/SCORE1_10"))) Me.AddPart(New NAnd3("D8A", Node("SCORE1_1"), Node("SCORE1_4"), Node("SCORE1_10"), Node("/STOPG1"))) So, can you actually play Pong on this? You would be able to except for the problem of speed which I always knew would be a major hurdle to logic level simulation. Currently the program takes about 15 seconds to render each frame on an Athlon 64 3000+, and although this performance can probably be increased it's a long way from being truly playable. My goals on the project are two fold. First to provide a proof of concept that other people may be able to take and optimize to get better performance. Second to provide an accurate way of simulating these old discrete logic arcade games so we can see how they looked and behaved, and possibly use this information to write accurate ports of the games that run at full speed. I still have a lot of cleanup work to do on the program but then I plan to release the source and executable. After that I'd like to add some more games to it, possibly Breakout next. Dan
  18. I like http://www.retroblast.com/ and http://www.retroroundup.com/. Dan
  19. http://www.challengearcade.com/ Located in the Berkshire Mall in Wyomissing, PA . Thier pictures page doesn't seem to be working but I've been there and it's a very cool 80's style arcade. Dan
  20. It's annoying how E.T. has become the univeral fall guy for the video crash. I've seen articles that go even further and make is sound like E.T single handedly brought down the industry. Yes E.T. was not a great game, and yes Atari lost a lot of money on it, but if E.T. hadn't been made, the crash still would have happened. Dan
  21. Looks like we have finally come to the last Pong circuit we need to cover. I just looked back at the archive for this blog and was shocked when I realized that I have been doing this Pong circuit description for almost 2 years! I know I was going through this pretty slowly but never realized I had taken that long. On to the final circuit... This circuit is used to generate a sound whenever the ball hits the top or bottom of the screen. During normal play /SERVER is high so the flip/flop won’t be cleared. When the vertical portion of the ball video (VVID) is high in the VBLANK area the ball has gone off the top or bottom of the screen which will cause the Q output of F3 to go high. This will allow VPOS32 to pass through C3 to generate the hit sound. When the ball leave the VBLANK area, VVID will be low during VBLANK setting Q low and turning off the sound. Between serves the /SERVER signal will be low keeping the Q output of F3 low. This prevents the ball from making the hit sound as it is move into position for the next serve.
  22. The next thing I want to talk about is the attract mode, which is the mode the game is in when it’s not being played, designed to “attract” new players. Most of the schematics for this section I have posted already, so I will just describe how attract effects each section. The attract signal is generated by the game control circuit and is fed as both an active high and active low signal to various other circuits in the game. In the paddle circuit, /ATTRACT holds the preset pin of flip-flop H3 low, which holds pin 6 low and thus the output of NAND gate G3 high, which prevents the paddles from being displayed. While in attract mode the ball will bounce continuously around the screen bouncing off not just the top and bottom of the screen, but of the sides. The vertical ball control works pretty much the same as in play mode, but the ATTRACT signal hold the A5 and B5 flip-flops cleared which is equivalent to the ball having hit the top part of the paddle. This keeps the ball moving vertically at its sharpest angle. In the horizontal direction when the ball goes off either side of the screen the /MISS signal goes low as usual, but the /ATTRACT signal on the input of NAND gate E1 prevents the MISSED from going low, which prevents the score from incrementing. The /MISS signal will trigger timer G4 which brings the signal SC high and reverse the balls direction through NAND gate C1, but unlike in play mode, the /ATTRACT signal will prevent the horizontal ball counter from being cleared so it will always be displayed. I neglected to show this particular gate in the Ball Horizontal Counter circuit, so here it is. jerky.zip
  23. Yes, Pong is a double sided PCB. I am going to guess that the lPCB ayout was done manually. Dan
  24. Another thing to consider is that there are no AND nor OR gates in the Pong circuit (but a lot of NANDs and NORs). If they were striving to keep the number of different chips down they would have had to add some inverters which would add at least one more chip. Also the inverted versions of V1, V2 and V4 aren't available so that may require yet another inverter chip to get these. Given what was available in the way of signals and chips, the original circuit was probably the most straight forward even thought it may have saved a chip of two. I would love to see schematics for some other Pong like game by either Atari or other companies to see different approaches to implementing the game. Dan
  25. Here is the other proposal supercat made for the ball horizontal control circuit. This one actually appears to work exactly like the real circuit, providing 3 different ball speeds and saves at least 2 chips.
×
×
  • Create New...