Jump to content

Vigo

Members
  • Posts

    375
  • Joined

  • Last visited

Profile Information

  • Gender
    Male
  • Location
    Germany
  • Interests
    Programming, Hardware stuff

Recent Profile Visitors

9,320 profile views

Vigo's Achievements

Moonsweeper

Moonsweeper (5/9)

11

Reputation

  1. Hello together, I am currently developing my own 256K expansion for my 800XL computer using spare 41256 DRAMs and GAL22V10 I have lying around here. Since I am originally coming from the C64 and Amiga camp, I am mostly a newbie concerning the Atari 8-bit itself, and in particular the intricate requirements of software taking advantage of 128K/256K Ram. However, I managed to get a fully working PLD implementation of the Rambo XL memory banking scheme using bits 2,3,5,6 for memory banking, which is, as I understand, not fully compatible with 130XE banking scheme. Now I was thinking about an improvement, and maybe you guys can help me out here. Normally, if I choose banking bits 5,6=00, a Rambo XL would actually map the main memory bank to the banking window, which is, sort of, a useless combination, since this memory is in any case accessible when banking is disabled for CPU with bit 4 = 1. Now I was thinking about, what if I use this combination to allow ANTIC banking access to the second 64K of memory banking, as an original XE would allow? It would look like this: Bits: 6,5,4,3,2 000xx = select ANTIC & CPU bank xx in second 64K page (XE compatible) 001xx = select ANTIC bank xx in second 64K page (XE compatible) 010xx = select CPU bank xx in second 64K page (Rambo mode) 100xx = select CPU bank xx in third 64K page (Rambo mode) 110xx = select CPU bank xx in fourth 64K page (Rambo mode) Some questions arise here: - Does software written with RAMBO compatibility rely on the behavior that CPU bankswitch also switches the ANTIC memory bank? - Does software written with RAMBO compatibility rely on the behavior that you can mirror the main memory bank using banking bits 5,6=00? - Which software specifically requires 130XE compatible memory banking? Would this software use more than 128K memory? Thanks a lot for your feedback!
  2. 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
  3. 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
  4. 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...
  5. 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....
  6. 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!
  7. Don't know how I forgot that one. Too bad Bally didn't chose to distribute the Home Library Computer/Arcade more widely. Otherwise I think it would have been much more of a contender. Seems that it comes with an integrated pocket calculator!
  8. Perhaps it just boils down to what we grew up with. Still, I'd really like to know why they changed it. Especially the grey/light purple colour scheme is so... weird. Almost like a medic instrument. No wonder the Sega Genesis gave the SNES a hard time in the US...
  9. I have never read any explanation why Nintendo changed the SNES design for the US market. I remember back as a kid, I always wondered why the SNES depicted in the manual of US imported games looked so different and clumsy.
  10. 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.
  11. 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. 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!
  12. 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.
  13. http://en.wikipedia.org/wiki/Child_abuse 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!
  14. 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. And yet, you seem to approve of all this. Since it is general knowledge that electricity never needs to be feared... Come on, join hands, it's your friend, son! 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! 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.
  15. 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.
×
×
  • Create New...