Jump to content

Vigo

Members
  • Content Count

    374
  • Joined

  • Last visited

Posts posted by Vigo


  1. On 6/13/2019 at 10:10 AM, spspspsp said:

     

    I am finally able to get around to trying your firmware--but the link no longer works. Can you please re-upload this? I can see if it recovers my missing bytes.

    Here you go again:

     

    https://www.filehosting.org/file/details/807882/Max10_SD_fixed_bus_contention.zip

     

    Actually, I am wondering why this hasn't already made it into the official firmware update, since the problem I have described should be quite apparent for anyone, who can read the original Atari 800 schematics:

     

    http://www.jsobola.atari8.info/dereatari/literatdere/400_800sm.pdf

     

    Page 64. S4 and S5 on J108 & J109 are ALWAYS selected by the 74LS42 (Z101). The OR gate (Z102) is only masking the signals for the RAM cartridges.

     

    This fix is basically a no-brainer. But right now, without fixing this issue, the Ultimate Cart should not be used in an original Atari 800.

     

    Best regards,

     

    Vigo

    • Like 2

  2. I have a 48k 800 and an Ultimate Cart SD running whatever firmware was current last November.

     

    When I run "PRINT FRE(0)", I get 37899, despite not having the fix you propose.

     

    37899, and not 37902?

     

    Whether the 6502 can still write properly to the affected memory area depends on the value the FPGA places on the data bus during bus contention.

     

    Each "1" bit coming from the FPGA can be pulled down to "0" by the NMOS 6502. However, a "0" bit will most likely stay "0", no matter what the 6502 places on the bus.

     

    Fact is that the Ultimate Cartridge relies on a XL/XE MMU behavior which the original 800 design does not provide.

     

    This can be easily verified by checking the Atari 800 schematics - the /S4, /S5 outputs from the 74LS42 do NOT get disabled by RD4 or RD5, they are ALWAYS active. But the current FPGA firmware always drives the data bus when either /S4 or /S5 is pulled low.

     

    So, no matter if it has worked "by accident" for you, this is an issue which needs to be fixed.

     

    Maybe you get those last 3 bytes back by trying my firmware code:

     

    https://ufile.io/34bi949t

    • Like 2

  3. Hi there,

    so, it turned out that my Ultimate Card had a weak solder connection on the TMS pin...

    Anyway, I resoldered the pin, reprogrammed the FPGA, and now my Atari 800 reports 37902 bytes from Basic (as it is supposed to do)! :)

    Therefore, I consider that the fix I proposed here in this thread is working correctly.

     

    Strange that I seem to be the first person to notice this issue...

    • Like 2

  4.  

     

    Hi Vigo,

     

    I wasn't aware of this - thanks for your analysis and suggested fix.

     

    Can anyone else confirm instability with 8k ROMs on an 800? I hadn't had any reports of this prior to now which is slightly surprising. Maybe not that many people use the Ultimate Cart on these older machines...? I only have XL and XE machines to test with.

    .

    Anyway, I'll see if I can find some time soon to test your fix and get the patch committed to the official firmware.

     

    Robin

     

    Hi Robin,

     

    thanks for recognizing the issue.

     

    I actually compiled a new FPGA bitstream now, but I'm struggling to get the FPGA updated with my original (expensive) USB Blaster Rev C (Error 35).... :?

     

    The correct VHDL line, btw, is:

     

    CART_DATA <= data_out when ((CART_S5 = '0' and high_bank_enabled = '1') or (CART_S4 = '0' and low_bank_enabled = '1') or (CART_CTL = '0' and (sic_read_d500 or xex_read_d500))) else "ZZZZZZZZ";

     

    Any Atari 800 user can easily confirm the issue by starting any Atari BASIC revision and typing "PRINT FRE(0)" <RETURN>.

     

    An 48K machine will only display "29710" (=32K memory detected).

     

    This is because the FPGA is driving the data bus, even though RD4 has been correctly set to low (RAM enabled).

     

    Now gotta fix this stupid Programmer issue I have....

    • Like 3

  5. Hello together,

     

    I have found a compatibility problem with the Ultimate Cart and the classic Atari 800 (non-XL/XE) computer.

     

    When using the Ultimate Cart on this machine, any memory access to non-enabled ROM area will nevertheless cause a bus contention with the underlying RAM at $8000-$bfff.

     

    The reason being that the Ultimate Cart relies on the Atari XL/XE MMU behavior that /S4,/S5 is disabled when RD4,RD5 is kept low.

     

    But unfortunately, on the Atari 800, /S4 & /S5 are always active. Only the RAM is not mapped when RD4, RD5 is driven high...

     

    The problematic part of the FPGA code is here:

     

    CART_DATA <= data_out when (CART_S5 = '0' or CART_S4 = '0' or (CART_CTL = '0' and (sic_read_d500 or xex_read_d500))) else "ZZZZZZZZ";

     

    FPGA always drives data bus drivers when /S4 or /S5 is pulled low.

     

    It should mask the read data according to the state of RD4 & RD5:

     

    CART_DATA <= data_out when ((CART_S5 = '0' and CART_RD5 = '1') or (CART_S4 = '0' and CART_RD4 = '1') or (CART_CTL = '0' and (sic_read_d500 or xex_read_d500))) else "ZZZZZZZZ";

     

    Since this is an easy modification to gain full compatibility, I would strongly recommend to include it in the official firmware branch.

     

    Otherwise, people as myself will experience strange glitches and instabilities when using 8K ROMS on their Atari 800 (e.g. doing as simple things as just loading the BASIC cartridge).

     

    Thanks!

    • Like 2

  6. Maybe it has something to do with outside parties yelling child abuse. Sometimes people make mistakes.

     

    What do you think speaks against this? That the grandfather did most probably not intend to kill his grandson? This obviously wouldn't have been abuse, but murder.

     

    From my standpoint, carelessly bringing a child in a life threatening situation and obviously going against your duties as an adult towards minorities, clearly fits the definition of abuse. "Sometimes, people make mistakes" is IMHO a weak excuse, because OBVIOUSLY people worldwide make mistakes, not only sometimes, but on a daily basis, causing lots of pain and suffering. Everything, which I pointed out happening in this video in my previous posts, is INEXCUSABLE.

     

    "My grandson died! Well, sh/t happens. At least I can plug in my game now again..."

     

    I am stopping to discuss this topic now, because I already said what I wanted to say, and any further arguing would , at best, be going around in circles and at worst, end up me getting really angry.


  7. As for doing nothing to help, not so sure about that. He did tell the grandson to stay on his feet (grounding)

     

    Which to me shows that he actually had an idea that this was a dangerous situation. In this case, you don't tell your grandson to stay on his feet, but to STAY OFF.

     

    , and since nothing horrible happened, there was nothing else to help. I bet if the kid got shot across the room, grandpa would have taken the appropriate action.

     

    You call the fact that the kid was being electrocuted THREE TIMES, while grandpa was chuckling, not horrible? Have you seen how the kid hold his arm in pain at the end? It would have been his first duty to bring the kid to an hospital IMMEDIATELY instead of laughing his *ss off! Electric shocks can cause cardiac fibrillation hours after the exposure happened. It also can temporarily change the chemistry of your body, causing a shock.

     

    For me, this case is crystal clear. And I seriously don't understand people remotely defending this guy. This video documents the most irresponsible treatment of a child by an adult I have ever seen!


  8. I still do not think it is a criminal act of child abuse. Outlining the definition of child abuse helps to strengthen your idea, but doing so does not prove anything.

     

    If you need proof, just watch the video. For the reasons I mentioned in my previous post. This kid is only alive by sheer luck. His grandpa endangered his life several times, and did NOTHING to help him. He even laughed at the whole situation.


  9. http://en.wikipedia.org/wiki/Child_abuse

     

    Child abuse is the physical, psychological or sexual maltreatment of children. The Centers for Disease Control and Prevention (CDC) defines child maltreatment as any act or series of acts or commission or omission by a parent or other caregiver that results in harm, potential for harm, or threat of harm to a child.

     

    (...)

     

    Different jurisdictions have developed their own definitions of what constitutes child abuse is for the purposes of removing a child from their family and/or prosecuting a criminal charge. The mental health journal states that child abuse is defined as “any recent act or failure to act on the part of a parent or caretaker which results in death, serious physical or emotional harm, sexual abuse or exploitation; an act or failure to act which presents an imminent risk of serious harm.

     

    Child abuse is not only about child pornography, as most people seem to think. It is also about acting irresponsible by exposing your child to dangerous situations. In this case here, the immediate danger of death by electrocution. If this kid would have died or being treated in hospital due to serious injuries, grandpa would be in a lot of trouble now...

     

    No matter if he intended harm or not. As an adult, YOU are responsible for the well-being of minors. YOU have the responsibility to KEEP YOUR KIDS AWAY from the dangers of electricity, especially high voltages.

     

    And this whole video shows an unacceptable lack of care and responsibility. That he did NOT unplug the game while his grandson was touching the backplate of the electron gun with his bare hands is INEXCUSABLE. That he did not give his grandson at least some SAFETY GLOVES is INEXCUSABLE. That he talked his grandson into removing the high voltage cable from the anode of the tube, without grounding it first, and again with his bare hands, is INEXCUSABLE. That he watched and even CHUCKLED about his grandson being electrocuted THREE TIMES, without taking IMMEDIATE ACTION by bringing this kid to a hospital is INEXCUSABLE.

     

    What I absolutely don't understand is, there are morons here who are actually DEFENDING this behaviour! :x


  10. I also really fail to see the problem here. Admittedly a CRT is nothing to play with, but who hasn't?

     

    Yeah, let your kids play with high voltage, it's alright. Here, bite into the the red one, Grandpa is even filming you being roasted.

     

    one of my most 'distinct' childhood memories was taking a blast from one of them. Even now when I work on a machine, I'm darn careful to respect the back of that tube that 'bit' me.

     

    And yet, you seem to approve of all this.

     

    probably not worthy of putting in a parenting video, but he the levity of the room is helping create a feeling that electricity need not be feared.

     

    Since it is general knowledge that electricity never needs to be feared... Come on, join hands, it's your friend, son!

     

    While I'm sure quite a few disagree, I feel it falls well short of abuse.

    If anything abuse is the spreading of the mentality that an individual is useless at fixing something and that a 'professional' or replacement needs to be obtained.

     

    What???

     

    If you don't know what you are doing (and that is apparently the case in this video), you are not only useless, but also a danger to yourself and other people. Especially if you are an adult and guiding minorities who trust you, and for who you are responsible!

     

    I've met *so many* sad souls like that in my life, who must really think themselves worthless.

     

    So I AM being a sad soul because I am RIGHTFULLY HORRIFIED that this guy let his grandson handle HIGH VOLTAGES with his BARE HANDS? That this idiot didn't even unplug the game?

     

    Being responsible for your grandchild's death because of your incompetence as an adult is a guarantee of becoming a sad soul.


  11. I fail to see the problem. It happens when working on electronics.

     

    This is a joke, right?

     

    This old fart made his grandson touching the HIGH VOLTAGE (10.000-20.000 Volts) electronics of a PLUGGED IN game with his BARE HANDS! Congratulations, your grandson just got 3 zaps in a row. Did you see how the kid held his arm at the end when they were giggling like idiots?

     

    And obviously, this guy never heard of static electricity still residing in the capacitors and the tube after the monitor is being plugged off. The "red one" being mentioned in the video is the high voltage cable leading to the anode! Touch the blank connection, and make friends with several thousands of volts of static electricity still in the tube, joining the "life and death" lottery.

     

    It is pure dumb unwashed luck that the kid survived this. And apparently, there are more suicide candidates walking around here.


  12. Unless you go ahead and do something like base your system around a massively parallel CPU that nobody knows how to leverage, like Sony did with the PS3... Then it doesn't matter how trusted your brand is ;)

     

    The PS3 is way easier to use than the PS2. Seriously, ask PS2 developers!

     

    That doesn't stop it from being a huge pain in the ass. :D

     

    I think Sony's biggest problem was not necessarily that the PS2 wasn't a well thought out hardware (in fact, it is very efficient), but that it differed A LOT from how PC's were built at that time. The key element to unleash the power of the PS2 is in using the 2 vector units, which I think heavily inspired the concept of vertex shaders found in modern GPU's.

     

    This presentation here explains it quite good:

     

    http://www.technology.scee.net/files/prese...programmers.pdf

     

    The first titles just used the R5900 for everything, including geometrical transformations, bypassing all extra features the PS2 provides.

     

    The only real drawback of the PS2 is the tiny amount of VRAM. But then again, since it is embedded INTO the GS, the PS2 had a killer fill-rate for its time, allowing lots of effects achieved through multi-passed rendering.


  13. Sticking a PSX alike chipset in a jaguar wasn't where i was coming from, like what AA member Bryan said to me about 'amiga-izing' the A8 chipset you loose something of the orginal hardware and it doesn't become an A8, so sticking a psx alike chipset inside a jaguar means you lose something and it just isn't a jaguar

     

    Hmm, from a design standpoint, both the PSX and Jaguar come from different school of thoughts. The Jaguar has a unified memory architecture and everything, being it program execution, data storage or graphics rendering, is using that bus (not taking the caches of the RISC into account). The PSX however, has strictly seperated buses for CPU and graphics rendering, and each side can only gain access to the other via DMA. So a Jaguar/PSX hybrid is something which would never ever make any sense at all.

     

    Now I realise that Atari were pushed to get some sort of hardware onto the marketplace to compete with the sony/nintendo/sega hardware of the time, the fact that they had some resources and some money to develop 2 products (Panther and Jaguar) Atari should have stuck with their original plan and not rushed Jaguar development, therefore giving Atari time to iron out any problems with the hardware of the jaguar and not only that, but giving people time to see what the Jaguar looked like (as the Panther had similar hardware) and probably would have gotten a bit more developer/software support as developers and publishers would already be programming software on the Panther

     

    I think given the limited resources Atari had in the 90's, the Jaguar is a very impressive architecture. It easily beats anything produced before in video game business. The biggest mistake however is when the development tools are not good, which is especially fatal considering that the instruction set of the Jaguar RISC's are unique, so that no standard compiler could have been used. Perhaps they should have tried to license an already established RISC design (like MIPS), but then again, there is the money issue.

     

    What Atari coul;d have done is after the ironed out the hardware issues of the Jaguar is to have launched it like sega did with the megadrive (re: the power base convertor) and offer Panther owners a way of Playing their existing software line up on the jaguar via a cartridge emulator/adapter, that way Atari would have kept some/most of their existing user base as well as anyone interested in buying the Jaguar

     

    2 Co-existing platforms would have killed Atari even quicker than the Jaguar. And NEVER EVER consider ANYTHING Sega did right after the Genesis as a role model plan (except the Dreamcast, when it was too late)! Especially the 32X was an immensive flop.

     

    Aslo the whole cart/cd format issue is irrelevent, as most european publishers didn't start doing cd games en masse till about 1997 at least so Atari wouldn't have been lagely affected by any support for it's system as, if they marketed both the jaguar and JagCD device properly Atari, along with the likes of sega, nintendo and sony would have been fairly well placed for the CD format market (after all there were still quiet a few publishers willing to stick with Atari, at least in europe anyway in the early to mid 90's)

     

    The problem is that Atari realistically could never have won the business back, no matter how hard they tried. Their financial resources were drained, the brand "Atari" had long lost its mass appeal, they had no killer apps to make the mass buy the console because of its software. The last point I think is the most important. If the game is great, you don't care anymore how much bits this system is supposed to have. The Jaguar, I am pretty sure, could have pulled off a decent port of Virtua Fighter for example. The problems is, games like these would have to be released right after the introduction of the Jaguar in 1993 to have a remote chance of surviving the rise of the PSX and Saturn.

     

    In my opinion, another mistake was the 64bit campaign. I don't want to start another bitness discussion here, since it is totally irrelevant to what I am trying to say now. What I am trying to say is: the games never reflected what the public associated with 64bit at the time. And I think that resulted in a huge loss of credibility for Atari. In all the talks about whether the Jaguar is 64bit or not, the fact that no game was able to convince people of this totally overshadowed the fact that up to this point, the Jaguar was quite a good design, much more capable than what had been released before.


  14. I can't stand Zelda or Mario games...now tell me the NES had better games? I'd rather play Gauntlet Hang-On and R-type than most NES games. In fact I only have 2 NES games..Galaxian+Galaga Cart and Donkey Kong because they are both arcade perfect...(but then again so was Donkey Kong by Ocean software on the C64 for 1/6 the price)
    Donkey Kong for the NES arcade perfect..... :ponder:

     

    That's what she said...... :ponder:

     

    But not what Shannon meant... :ponder:

     

    Donkey Kong on the NES lacks 1 level, so it's by far not arcade perfect.


  15. Naturally none of the 3 systems was universally superior, but the SMS had the overall technical advantage IMO.

     

    You can easily create games on the SMS which will look worse on both NES and 7800.

     

    It isn't huge though, and the sound does suck, at least subjectively if not technically. I might prefer the buzzing TIA over that annoying ding dong bell in the SMS.

     

    The SN 76489 is nothing more than a 3 channel noise/square wave generator. Very boring stuff. It's a shame they did not put in the YM2419 FM chip in all SMS, not just the later japanese ones.

     

    The difference in resolution is negligible. If I remember right there's only a slight difference in the vertical, which makes me wonder if there's really any difference at all in what actually fits on the TV. Even if it's truly different, it's so small as to be meaningless.

     

    Agreed.

     

    Besides the graphics, SMS also has a somewhat faster processor and twice as much built-in RAM.

     

    A 3.58 Mhz Z80 is outperformed by a 1.78Mhz 6502 in almost all cases.


  16. So it isn't likely we know what the 7800 could have really done. Vigo, you kept describing the different way a 7800 puts images on the screen as opposed to the NES, but all that meant was that the 7800 had a different way of doing it.

     

    Look, what are you trying to do here by warming up the same tiresome discussions over and over again? Your relativism doesn't make it any better. Obviously you somehow have gotten by now that the 7800 and the NES use VERY different methods of handling graphics. But that fact alone is no single way of comparing both machines. Nor indicating they achieve the same results with different methods. They are very different, and have advantages and disadvantages in almost the opposite kind of fields.

     

    That's why, again, it is more than stupid to keep this discussion alive if the 7800 could have done NES games equally well. No, it can't. It can do other types of games better, where lots of objects are moving in front of a simple background.

     

    What if a 7800 has such an ability to put and change objects on screen that it could handle scrolling backgrounds to match an NES?

     

    "What if" discussions are pretty much irrelevant if they describe non-existing hardware. If you want the 7800 concept of displaying graphics pushed to the extreme, refer to the Atari Jaguar. Unlike the 7800, the Jaguar has enough horsepower to handle this kind of flexible grqaphics architecture efficiently.

     

    The key question is this: what limitations- including a similar "flicker" method- does the 7800 have?

     

    And obviously, you still haven't gotten the fact that displaying many (and huge) objects is NOT a weakness of the 7800. No amount of flicker will overcome the fact that the 7800 isn't able to display a fully tile based scrolling background with individual color attributes for each block. Yeah, of course let's make the whole screen flicker and enjoy seizures. :lol:

     

    I am repeating myself endless of times, and yet, I still have the feeling I could very well be talking to the kitchen oven with the same results...

     

    If it can move fast enough, then maybe it could overcome the limitations you pointed out with Sirius. What can a 7800 do if ALL of its abilities are brought into play, used in a manner not normally considered, as Opcode did?

     

    You make again and again and again the mistake of dreaming a dream where the 7800 is a NES. No, it is not.

     

    The NES had the overwhelming advantage of a top-notch team of developers who never stopped pushing the limits of the NES. As did the 2600. But if the NES was backed by a group of 800-pound gorillas, the 7800 seemed to have been stuck with a few lazy monkeys. Until a 7800 Opcode appears, we may never really know.

     

    Want a banana?


  17. Hmm, looks like there's no stereo for PA - PAL-S takes the place of AUD1 while PAL-I takes the place of BLK. Anyone know what are those 2 PAL-x signals are?

     

    It's the connection for the 4,43Mhz PAL colour crystal. Yes, the PAL TIA needs 2 clocks (3,55Mhz and 4,43Mhz) to function.


  18. Actually this might not be as difficult as you might initially think. I recently did some work on no-cpu arcade game simulator called DICE http://adamulation.blogspot.com/. It currently does circuit level simulation of Atari's Pong, Rebound and Gotcha all running at playable speeds. Now, I admit Indy 800 is quite a bit more complicated, but until I saw Dice I didn't think even Pong could be simulated at a playable speed.

     

    The problem is, we are talking about 66 TTL IC's in Pong vs. about 400 TTL IC's in Indy 800.

     

    Plus, in Indy 800, many parts of this game run at full 14.318Mhz speed (like car graphics rendering), while in Pong, the timing base for the whole game logic is 7.159Mhz (14.318Mhz/2).

     

    I don't say it is impossible, but this is more than a whole magnitude more complex than Pong. If I could get my hands on ROM dumps of those games, I would already have attempted to recreate more complex games like Tank or Indy 800 in an FPGA, so far the only method I can see to faithfully reproduce those games.

×
×
  • Create New...