Jump to content

DanBoris

Members
  • Content Count

    1,086
  • Joined

  • Last visited

Posts posted by DanBoris


  1. Sorry Dan, can't help you there but if you don't mind I have a question.

     

    What combination of ORG and STACK addresses should I use?

     

    I seem to be able to compile the sample program fine but on my 800 XL I need to use an ORG value of $4100 or higher otherwise the program will never run. I have not been successful at all using my 800, yet the precompiled sample does run on that machine. I mean I can compile the program without errors but it won't run.

     

    - Steve

     

    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


  2. It really resembles Action! in many ways: variable declaration (plus memory assignments), procs, funcs, direct inline assembly... What I miss in Action!, but PL/65 has, is CASE statement and direct assembler memnonic directives (which is of course possible in Action! with existing library/include file). I just don't know how PL/65 handles the memory for variables and routines. Similar to Action!?

     

    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


  3. I still have http://retrogames.com in my bookmarks despite it being inactive for over 6 months.

     

    I used to visit daily, but now have no reliable daily emulator or retrogaming news updates.

     

    I know there are other sites out there, but due to my laziness with bookmarks, I don't have any good ones.

     

    So, can people list their favourite emu/retro news links here?

     

    I like http://www.retroblast.com/ and http://www.retroroundup.com/.

     

    Dan


  4. I'm sooo tired of hearing this quote....

     

    *taken from greatest video games of all times list*

    Notorious as the most colossal flop in the history of the industry, E.T.-- reportedly made in just five weeks and by many accounts the worst video game ever made -- cost Atari millions of dollars in unsold cartridges and did even more damage in consumer trust. E.T. is also greatly responsible for the video game crash of 1983, which spelled disaster for the once omniscient Atari. Nintendo rose from their ashes, Atari never again regained market relevance, and gamers who had learned a major lesson about licensed titles spoke definitively with their wallets.

     

    This is the most incorrect statement ever....except for the 5 weeks part.

     

    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


  5. I just turned my Pong machine and it defaulted to a score of 11 - 11, and the ball just bounces off the left and right walls, but also bounces off the top. There appeared to be no straight shots from side to side, the ball always hit a top or bottom before hitting the other left or right side.

    There were no paddles visible. If you need anything else, or would like some video of it, let me know.

     

    So the ball actually bounces off the left and right sides of the screen? That I wasn't expecting at all. Some video would definitly be helpful if it's not to hard for you to create.

     

    Thanks

    Dan


  6. Ok, turns out the edge connections are 2mm x 4mm, or .079" x .157". With a gold plating thickness of .00004", that gives us an area of .00000496 cubic inches. 24k gold weighs 1204 pounds per cubic foot, or .696 pounds per cubic inch. Therefore, the gold on each contact weighs .00000345 pounds, or .0000414 ounces. If we're gonna say that gold is $650 an ounce, then each contact is worth about $.02. 24 contacts gives us $.48 per cartridge.

     

    Of course, there's no way that the contacts are plated with 24k gold - more likely much lower grade that would make it nearly worthless.

     

    You also have to take into account the cost of recovering that gold, it may end up that the cost of recovering the gold is actually more then the gold itself is worth.

     

    Dan


  7. Does anyone know what and original Pong machine does during the attract mode? I have been trying to finish my analysis of the Pong schematics and the attract mode is turning out to be a little tricky. I know the net and score remain on the screen and the paddles are hidden, but I am not clear on what the ball does. I am not sure if it's hidden, or if continues to repeated serve.

     

    Dan


  8. I actually started to work on an Action compiler for the PC written in C# but never got to far on it. I used the Gold Parser Generator to create the parser, but I really got stuck on the code generation side of things.

     

    I studied some of the machine code that the Action compiler generated and it's pretty amazing how optimized it's code generation was. For example it would put 0 in the Y register for one instruction, then a dozen instructions later it would need a 1 in the Y register so instead of loading 1 into Y it would increment Y which saves a couple bytes of memory and a couple machine cycles.

     

    Dan


  9. I was already making mental plans for a short, weekend, end of summer visit to Vegas and then realized that it is in the middle of the week. Thats to bad. They would probably get a better turn out if it was on the weekend.

     

    Bill

     

    It also would have been cool if it was at the same time as CGE.

     

    Dan


  10. The dlend table is used to store the index of the next available spot in each DL where you can write a DL entry. The piece of code below simple resets all these indexes to 0. When I write to a DL entry this index is added to the starting address of the DL to get the address to write the entry into.

     

    Dan

     

     

    This is really for anybody to answer.

     

    In Dan's 7800 sprite demo, what exactly is this bit of code doing in relation to the Display List?

     

    ;********************** reset DL ends ******************
    
    ldx 	#$0C
    lda	#$00
    dlclearloop
    dex
    sta	dlend,x
    bne	dlclearloop
    
    

     

    Is this erasing the previous drawing of the 'sprite', a.k.a. erasing the one (or two zones) the graphics are drawn in?

     

    Thanks,

    Allan


  11. You shouldn't need any kind of inverter since the 5200 used active low chip enables which is what most EPROMs use.

     

    Dan

     

    Hey,

     

    Can they be fitted for an EPROM? Namely River Raid PCB. What type of buffer or inverter is needed? I want it for making a Frisky Tom in a proper Activision casing as it would have been in if it where released.

     

    Shawn


  12. Yes, untangling the GOTOs in the basic program would probably be the hardest part of the conversion. In some cases the GOTOs could be so tangled up that you would have to manually re-structure the program to get it into the more structured Action language.

     

    Dan

     

     

    I've been thinking of a useful "winter project" for my A8, and this came to mind. The idea would be to allow a well-structured BASIC program to be machine translated into ACTION! format for compiling with a minimum of user intervention/changes. Sort of a BASIC compiler "on steroids." This may lead *nowhere*, but at least in its preliminary stages, it looks feasible. So the first step is to see if it has already been done -- I'm not about to re-invent the wheel. Has anyone seen anything like this or anything even written about such a utility? -Larry

     

    I would say 80% of this project is easy, but the remaining 20% can be very hard to implement. Turning interpreted code into compiled code can be hard (calculated gotos, data lines etc)

     

    You might want to take a look on existing Basic to /Pascal/C/Java converter available in sourcecode on the Internet (Google).

     

    Carsten


  13. I refurbished that style Space Invaders II recently, and I can tell you that the PS is definitly missing from this one. It should be in the space between the monitor and the isolation transformer.

     

    Dan

     

    So tta, you say the power supply is UNDER the monitor? Then possibly this is still there. Marco, be careful (we've already had that discussion!) but can you take the monitor out and look under it and see if there is a board on the bottom of the machine that is missing the connectors you have loose?

     

    Worth a shot. Its possible the holes were a dust/ef shield.

     

    C


  14. At the most fundemental level you could say that the display list on the 7800 and the A8 do the same thing, they both define to the graphics chip how to generate the display, but the exact details of how this happens are quite different. For example as you point out the A8 doesn't use the display list to control sprites, but on the 7800 all graphics are generated via the display list. The display list on the 7800 is also a lot more flexible and gives a lot more control over how the screen is drawn.

     

    Dan

     

     

    Display lists on the A8 define what graphics mode is used on each line. Tells the A8 where in memory to look for the graphics (bitmap only). Allows execution of code during vertical and horizontal blanks. Probably a couple of more things I dont remember off the top of my head.

     

    The 7800 sounds like it extends on that by allowing you to control sprites thru the display list, whereas on the A8 sprites where seperate entities from the bitmap.

     

    Unless I'm mis-understanding what is being said on the thread.

     

    It's been years since I even read up on A8 display lists so my memory is a bit fuzzy.


  15. Well, that was lame. Wrong "facts" in some places, huge gaps and gloss-overs in other places, and I think my roommate got tired of me pointing out everytime they mentioned one game but showed another (Asteroids Deluxe instead of Asteroids, Galaxian instead of Space Invaders, etc.).

     

    Still, it was interesting to finally see some faces to go with all these names I've been hearing, though they should have involved even more people than they did.

     

    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

×
×
  • Create New...