Jump to content

warerat

+AtariAge Subscriber
  • Posts

    464
  • Joined

Everything posted by warerat

  1. The Mario Bros XE cart isn't going to work on the 400, for these two reasons: The banked region is in the right cartridge address space and with the byte values as they are, OS-B will jump to low memory at $140D from the address at $9FFE-$9FFF. The XL OS doesn't initialize right cartridges so it doesn't have this problem. The game itself uses memory between $4000-$7FFF. So on an un-expanded 400, this is a memory hole. If you had 32K it would work, but you still have problem #1 unless you patch the OS. How do I know this? I spent 5 minutes with the Altirra debugger. Given your visionary attention to detail, I think if you partner up with Ray Jackson between the two of you we could have an entertaining software porting renaissance for the 5200 and the 400.
  2. My reworked MIO firmware works on either 256K or 1MB devices as it auto-detects the memory size. The ICD ROMs were hardcoded for specific RAM sizes.
  3. I would immediately ask for a refund for the damaged mylar that was carelessly packed and post in the bad trader thread. 🤣 Glad you got it squared away with something simple.
  4. The problem with this thread is that it opened up in an accusatory tone with passive-aggressive posturing of attempting to strong arm a particular outcome with threats while trying to portray one party as the victim and the other party as the perpetrator. This should have remained in personal messenger; I simply responded firmly and held my ground because unfortunately what I have learned now is that I am the second person to have this exact same issue with this buyer. The OP has apologized and I walk away from this transaction. The buyer is being made 100% whole thanks to others in this community with a high sense of integrity, all while I walk away with a loss but at least the machine will go to good home. I'll leave it at that.
  5. I stand behind this transaction. I offered you a $30 refund to replace the mylar, which is a known failure point on these keyboards. YOU AGREED and asked for $30 back. I sent the money via PayPal FRIENDS AND FAMILY because "I didn't want you to get screwed over", what a nice guy I am. End of story and transaction. Apparently not, because you have an axe to grind and have buyers remorse. You got a working 65XE shipped for $70, which is an extremely fair price. The machine was tested 100%. I tested it, and I absolutely know how these machines work along with the foibles being of this vintage and it was advertised as such. No scam, no tricks. Just good honest-to-god description of what was being sold in good faith. You consider it non-working because three keys don't work, and I sent you the link to the resistor fix AND money to replace the mylar. So now you want to change those terms and demand a full refund. This transaction was littered with red flags and it gave me pause and now I understand why. Allow me to add some color so the other folks can understand where I'm coming from: "Does this have S-Video" and "Can this run 800XL software"; your first questions. So, that immediately established that you are not familiar with these machines. But yet you question my thoroughness in testing the machine. Every key and port was checked. Do I need to provide a certified Hi-Pot passed burn report to make you happy? I've sold other machines with no issues here. You wanted to me throw extra things into the deal (low value cart). That's not what was included and the machine was already packed up. So from the on-set you attempted to dilute the value of my sale. I'm not a bad guy for not wanting to tear the box back open that wasn't part of the original sale. Within MINUTES of you paying, you started blowing up my private messenger asking for a response and how you're nervous about sending strangers money. That's funny, I'm nervous about sending vintage computer gear to people who don't know anything about them and hound for a response right away. I mean it's not like a have a full-time job or anything. Within minutes I sent you the tracking number. And now I'm rewarded with this nonsense and the expectation that I provide support for every single question with a 15-minute SLA. You're not being set up. And your post count has nothing to do with anything. You bought an old machine, it wasn't 100% as expected, went to the forum to validate your suspicion of me and instead got the answers you don't want. No one here is viewing you under a filter. You claim out of respect you didn't want to say my name but I'm not ashamed for anything, because I did nothing wrong. I'm sorry the machine didn't perform leaving my high-humidity area to yours. But it is an easy fix, and any amount of research into the matter would have yielded the answers you have been given. I don't want the machine back because to be blunt, I don't trust your skill set working on this machine. You can't make everyone happy but in no way can you frame this that I screwed you over.
  6. This unit is still available, the other referenced is not.
  7. I have a testing and working 65XE for sale in good condition, the keyboard has slight yellowing on the left side but not that noticeable. There are no cables or power supply included. $100 with UPS ground shipping included. Domestic US. I also have another one with no yellowing in this thread: https://forums.atariage.com/topic/347031-fs-ntsc-atari-65xe/
  8. Two comments on your design, and this may or may not be the solution but may give you some additional considerations as you expand your use case: - You are gating HALT directly. The HALT signal is not synchronized to PHI2 and if you're generating addresses with this they will not line up correctly between CPU/ANTIC. If you want to differentiate with an ANTIC cycle, register HALT on the falling edge of PHI2 and use that as your enable instead of the signal directly from ANTIC. - All writes to PORTB should not always write to your output register. Remember the PORTB address is multiplexed to two different internal registers on the PIA, DDRB (direction register) and ORB (output register). When bit 2 of PBCTL is 1, writes go to the output register otherwise they go to the direction register.
  9. I have a tested and working NTSC 800XL for sale in excellent condition. There are no cables or power supply included. $135 shipped with UPS Ground. Domestic US only.
  10. This is sold and is no longer available.
  11. The Cindy comment was several orders of magnitude less distasteful than you trying to parade a parody video where you fantasize Hitler is pissed at Cindy for letting your career go no where. The irony here is that you thought that was tasteful when in fact under the policies of the regime at the time you would have been considered untermensch and summarily executed simply for having a mental disability.
  12. Was Port Townsend built on top of an atomic power plant or something? There is a quite stunning display of the Dunning-Kruger effect being exhibited for everyone here. He thinks he is Casey Kasem when in reality he is Uncle Rico but missing a lot more cards from the deck.
  13. Green is PHI0, Yellow is PHI2 obtained directly from ANTIC pins. Collected with my 500MHz, 2GSa/s Agilent scope. T2-T1 (rising edge) ~22ns G2-G1 (falling edge) ~26ns
  14. It was an official utility from ICD and I back this up from the source of truth: the original ICD source code. There are portions of the SCSI code from the 1.1 ROM embedded in it for the hard disk tests, which is also why those portions don’t work on newer drives with the reworked firmware. It was originally designed to run from a SpartaDOS X banked cart, but isn’t bank switched. It doesn’t need to run as a cart, which likely is why there are executables floating around. However, it is written as a diagnostic cart and bypasses the OS initialization with its own.
  15. @KLund1 Best I can do without a scanner. This the manual for the 400 version but it covers things not in the newsletter and errata sheets. Mosaic 64K.pdf
  16. You could also use this tool that was written by a member here that tests the memory. It takes the place of the OS ROM.
  17. I'm not convinced that the memory has been ruled out. This is easily confirmed with some selective triggers in the ROM address space. Your first write to the stack at power up occurs at $C2D1 (JSR $C471) and next at $C484 (JSR $C4DA), which is the I/O chip initialization. C2CC:78 SEI C2CD:D8 CLD C2CE:A2 FF LDX #$FF C2D0:9A TXS C2D1:20 71 C4 JSR $C471 C2D4:A9 01 LDA #$01 C47C:AD FD BF LDA $BFFD C47F:10 03 BPL $C484 C481:6C FE BF JMP ($BFFE) C484:20 DA C4 JSR $C4DA C487:AD 01 D3 LDA $D301 ;PORTB It is in this code block where you will encounter the first RTS which will pull the return address back from the stack in RAM. So if you get the wrong return address here, you know there is definitely a problem with the memory. So trigger and capture at $C534 which is the first RTS. Right after the $60, you should see the two stack pulls for address $C486, which is one less than the return address of $C487. Now whether it's the support circuitry or the chips themselves will require further techniques. C4DA:A9 00 LDA #$00 C4DC:AA TAX C4DD:8D 03 D3 STA $D303 ;PBCTL C4E0:9D 00 D0 STA $D000,X ;HPOSP0 C4E3:9D 00 D4 STA $D400,X ;DMACTL C4E6:9D 00 D2 STA $D200,X ;AUDF1 C4E9:E0 01 CPX #$01 C4EB:F0 03 BEQ $C4F0 C4ED:9D 00 D3 STA $D300,X ;PORTA C4F0:E8 INX C4F1:D0 ED BNE $C4E0 C4F3:A9 3C LDA #$3C C4F5:8D 03 D3 STA $D303 ;PBCTL C4F8:A9 FF LDA #$FF C4FA:8D 01 D3 STA $D301 ;PORTB C4FD:A9 38 LDA #$38 C4FF:8D 02 D3 STA $D302 ;PACTL C502:8D 03 D3 STA $D303 ;PBCTL C505:A9 00 LDA #$00 C507:8D 00 D3 STA $D300 ;PORTA C50A:A9 FF LDA #$FF C50C:8D 01 D3 STA $D301 ;PORTB C50F:A9 3C LDA #$3C C511:8D 02 D3 STA $D302 ;PACTL C514:8D 03 D3 STA $D303 ;PBCTL C517:AD 01 D3 LDA $D301 ;PORTB C51A:AD 00 D3 LDA $D300 ;PORTA C51D:A9 22 LDA #$22 C51F:8D 0F D2 STA $D20F ;SKCTL C522:A9 A0 LDA #$A0 C524:8D 05 D2 STA $D205 ;AUDC3 C527:8D 07 D2 STA $D207 ;AUDC4 C52A:A9 28 LDA #$28 C52C:8D 08 D2 STA $D208 ;AUDCTL C52F:A9 FF LDA #$FF C531:8D 0D D2 STA $D20D ;SEROUT C534:60 RTS
  18. Interesting. The assembler serial is the same with version 1.40 of XASM65 used to build the original MIO code. Additionally, there is another utility (also MS-DOS) XLINK.EXE (ICD Object Linker) v1.00 that is serial #00000.
  19. It may be interesting to capture the states right after reset goes high for further insight. The 6502 takes 7 cycles to reset as it follows the same sequence as an interrupt, but slightly modified in that it has dummy read accesses to the stack. If the CPU is sane, right out of reset you should see a sequence stack read accesses at 00FF, 0100, 01FF, and 01FE right before the reset vector pull at FFFC. Then you'll know if you're really coming out of reset and pulling the right address from ROM at the reset vector.
  20. I suspect the MMU, but you’re going to need some other tools (hardware and software) besides a continuity test to validate this. There’s nothing particularly special about the MMU, it’s simply an address decoder with lots of inputs and all logic equations are known. People like to throw shade on the built-in self test as the RAM tester isn’t particularly rigorous, but at the very least it will checksum the OS. So if your self test shows green on both ROM blocks, you can reasonably assume your OS chip is OK. If it fails, it can be the MMU or the OS chip. I'm going to assume it's not the OS because you can jump into BASIC. If you have a device programmer you can make your own MMU with a GAL or a PAL16L8. If you examine the schematic of the cartridge slot and the logic associated with it, the relevant pins to focus on the MMU are 7, 8, 12, and 19. Pins 7 and 8 are the “ROM Detect” lines that disable the onboard RAM when there is an 8K block of ROM present. These are pins pulled high on the cartridge PCB to change the memory topology depending on whether it needs an 8K or 16K hole in the address space. RD4 (pin 7) and RD5 (pin disable the system RAM at $8000-$9FFF and $A000-$BFFF, respectively, and also enable the active-low ROM chip selects S4- (pin 19) and S5- (pin 12) for cartridge. They both have pull-down resistors to ground in their normal (no cartridge) state. Step one is to see if the RD lines are working from the cart slot to the MMU pins. I’m assuming you know how to use a voltage meter or better yet, have a logic probe. No cartridge: pin 7 low, pin 8 low Star Raiders: pin 7 low, pin 8 high Pole Position: pin 7 high, pin 8 high If you don’t see those logic levels on the MMU pins, you have either have an internal short in the MMU or a bad connection from the cart PCB <-> cart slot <-> MMU. To isolate the MMU, simply remove it from the socket and test those same pins without it present. If don’t you see those levels without the MMU in the socket (the machine obviously won’t work), then you have a physical connection issue. Otherwise, if you see the right levels with the MMU removed, then the MMU is at fault. Step two is to see if the ROM selects are actually triggering. With Star Raiders, you should see activity on pin 12. You have a use a logic probe or oscilloscope for that, as the transitions will be too fast to register a voltage meter. If you don’t see pulsing on pin 12 after you push reset, then the MMU is most likely bad or there is a connection issue (or the cart is toast, but you've tried too many). Alternatively, if the machine is otherwise working and you have a way to boot something, I’ve used a tool called DEBUG+ for years that I modified to load into low memory (by default it loads into $A100, which obviously won’t work with a cartridge inserted so the custom version loads into $2100). You can actually use whatever tool you want really, as long as it doesn’t load into the cartridge area. The premise here is you want to examine the memory to trigger accesses to the cartridge address space and see if there are pulses on pin 19 for $8000-$9FFF, or pin 12 for $A000-$BFFF. The pulses will only be present in those ranges if the corresponding RD line is high. The benefit of using a memory debugging tool like this is you can also see if there is valid data when the ROM is enabled, so you could also conceivably diagnose a data bus or address bus fault if you know what is supposed to be there. If the selects aren't enabling the ROM, the bus will float and you’ll see data values corresponding to the upper address byte that will change when you cross a page boundary. What this looks like can be simulated by pulling the ROM chips on a cartridge. The moral of the story is: troubleshoot before shotgunning chips. I’ve got a stack of arcade boards I’ve repaired where previous owners replaced dozens of chips but completely missed the blatantly obvious problem that would have made it a ridiculously simple repair (along time and money saved) had they spent 5-10 minutes with a logic probe in a critical area.
  21. Thanks for trusting me to be your hands and eyes on the other side of the world to get this to you. Once I started unpacking and sorting through things to strategize how to best pack everything, it became apparent how special and one-of-a-kind this collection is. This was/is a substantial investment in software. I saw many titles I recognized but this was dwarfed by many more I didn't (some of them new in original shrink wrap, completely unaware they were now in the 21st century), as well as an extravaganza of cassettes. It was truly like stepping into a time machine and being transported back to that golden era. There are some real gems in this lot. On a comical note, this shipment of four boxes made quite a commotion at the UPS store. Apparently the clerk normally only deals with small domestic packages and packing up cable modems to ship back to their providers. This was the most expensive international shipment that he had ever handled and was affirmed with gasps of astonishment and curiosity from the other patrons behind me at the total cost (this weighed a little over 160 lbs) and the contents of these boxes that would warrant such an expense. While working my way through the stack of customs forms and singing away, it was reminiscent of applying for a large loan. The best was the amusingly sardonic exchange with the clerk that went something like this through out this long process: UPS Clerk: OK, I need to know... No. Sorry. CUSTOMS needs to know what is in these boxes Me: Old computer stuff UPS Clerk: Old computers? They don't have old computers in France?!? Me: This is a special collection that is 30-40 years old. UPS Clerk: No idea why someone would want to use a computer that old today, but we will make sure it gets to France; sign and initial here. Lesson learned: If you're shipping something UPS, especially internationally, beware of using their website to estimate the cost. I had exact dimensions and weight and it still provided a rather under-valued total when done in person.
×
×
  • Create New...