Jump to content

Shawn Jefferson

  • Content Count

  • Joined

  • Last visited

  • Days Won


Shawn Jefferson last won the day on January 5 2011

Shawn Jefferson had the most liked content!

Community Reputation

260 Excellent

About Shawn Jefferson

  • Rank
    River Patroller
  • Birthday 12/22/1973

Contact / Social Media

Profile Information

  • Gender
  • Location
    Victoria, Canada
  • Interests
    Atari, Karate, IT Security, vintage gaming, old british cars (MGB)

Recent Profile Visitors

20,707 profile views
  1. The MIO has been relisted: https://www.ebay.ca/itm/154358763578
  2. Well it looks like the winning bidder on my auction has flaked out, completely ghosted, no responses after multiple attempts to contact them. I am just in the process of the Unpaid Item resolution with eBay, but I suspect this guy is a dishonest bidder and I will end up re-listing the item at some point very soon. Just so everyone is aware not to trust, trade with, or at least be very wary of this person bidding on your items: Ebay username: dentist2002 Name: Jordan V Anderson
  3. Yes, I needed that one as well (U11), and had someone burn that to a PAL chip for me already.
  4. I wonder... as these boards are the 1450 boards that were created later on. Hopefully this is the correct equations, and I guess I'll have to try and figure out how to program a chip with these then. Hoping someone with a working 1450 board may dump the chip for me, as at least we know that it will be correct in that case!
  5. I took a picture and attached it here. I was hoping someone who has a working one could dump it, especially if the files don't exist somewhere on-line already. Looking over at Atari Museum, is this the chip description: http://www.atarimuseum.com/computers/8bits/xl/1450xld/1450XLD_GATE_ARRAY-BARBARA.pdf
  6. Hi All, I finally got back to this project that was almost done, and got the handler EPROM and the PAL 'C' chip burned and populated (the last chips I needed) and built a power supply from an old PC ATX power supply. However, turned it on with great trepidation... and got just a black screen. I am getting the correct voltages on the motherboard I believe. What I suspect, and pretty much expected, is that I don't think I have the correct PAL 'A' chip. I ordered this from Best Electronics years and years ago, I don't think I was actually sent the correct part. It's a PAL16L8, but does not have the C061919 label, it's labeled with C080509 or C080609, its very hard to read as it's quite small and not very clear. Can anyone send me the JEDEC file for the PAL 'A' U12 chip from their 1450XL? Hopefully that will be all the issue is for this board. *fingers crossed*
  7. This MIO for sale on eBay is one of mine. I have two of them, and really don't need two. I've offered stuff for sale through Atari Age directly in the past, and that has turned out well for me, but with the MIO, I really don't know what it's worth so wasn't sure what to ask for. I figured I'd let the free market decide and posted it up on eBay. I remember these over-heating back in the day, and many folks that I saw running them took the end plates off entirely, and setup fans blowing over everything as was mentioned. I was always impressed with the MIO and the RAMdisk capability was great with the 1MB version, as well as the ability to run faster modems than the SIO modems available from Atari. Of course we all wanted the CSS Blackbox, but I don't believe I ever even saw one of those BITD. Maybe one (?), but I didn't get to play with it personally.
  8. Hi, Selling one of my 1MB ICD MIOs on eBay. Just slimming down the collection a little. https://www.ebay.ca/itm/154335357869
  9. I would really love to see games ported to my most beloved platforms, like the Atari Lynx (and Atari 8-bit computers), but generally I can understand why programmers aren't jumping up to do these ports. You have to really, really like a game to spend the time to port it to another platform, especially without source code. It's probably better to write a game based on a similar idea, so you won't have to deal with all the people that will tell you all the things you did wrong in porting it, how it doesn't play 100% like the original, look as good, control as well, etc. The lynx, while having great graphics hardware, has some crippling drawbacks: the small screen, and the cartridge system, which makes it fun but also frustrating to code for. So you also have to love the platform you're porting to as well. Whenever it does get done, and done well, like the Space Harrier port to the Atari 8-bit, I'm amazed and happy to see it.
  10. Your code also becomes non-reentrant, which means that you have to be very careful with leaf functions. I suppose that would have to be a somewhat complex program though (??), but still, that may be a nasty surprise if you aren't ready for it. On the Moria port, I had to be careful of that when I was moving local variables from the stack into zeropage. I believe I did find a few examples where I couldn't move the variables easily off the stack. Using the register keyword avoids the problem I mentioned above, but there are only 6 bytes available (I shouldn't have said 6 register variables, since an int will use up two byes. And the code to push and pull them off the stack that allows your functions to be reentrant. A good compromise solution for some extra speed without changing the program much. I thought posting a reply would be good for anyone who's looking at CC65 for programming, and add to the points you made in your document. I didn't think you'd needed the advice, you've been using the suite for a long time now! I've been away from it for a while now, but I do have a more recent version I should upload that has some bugfixes and more polishing. There's still a bit left to do, to truly call it done. They are an interesting game genre, and I played them a lot through high school and at jobs where I had only had a monochrome PC at work.
  11. Very nice article @ilmenit! That should be very helpful for people who are programming in cc65. I wasn't sure if you mentioned __fastcall__, but that may be a default behaviour of cc65 now. I find that if you are used to the way that cc65 does things, you learn to program in the "cc65" way. Generating assembly listings and map files when you compile is mandatory, and you should get in the habit of looking at them to figure out what cc65 is doing both from a code generation point of view, but also memory usage (in larger projects). In larger projects I don't see how you can really use static locals (you'll run out of memory), but maybe there would be some cases where that might work. When I was porting Moria to the Atari 8-bit, mostly I started optimizing in this order: 1. Making sure all the data types were the smallest possible (unsigned char instead of int). 2. Using the register keyword to have some local variables in zeropage (cc65 only has 6 zeropage "register" variables), and there is a little overhead to save and restore the contents. Usually loop variables and pointers are good candidates. 3. Any large local variables, were changed into globals. Some of those could be shared (if very careful), like buffer string space. 4. Moved heavily used globals to zeropage, both to optimize memory and speed. 5. Lookup tables, for speed mainly. 6. With Moria, I needed space and would often be trying to eke out bytes to get things to fix in cartridge banks. Including making sure that read-only data was stored in the cartridge bank and not in the main memory RODATA bank. Memory management is a huge thing with a small 64k machine.
  12. I ported Moria v5.5 to the Atari (using the VBXE2 for the 80 column mode), which is likely a similar problem to Rogue. One of the big things you will have to deal with is the 40-column screen. Most of these rogue-likes were written for an 80-column screen and you will face a lot of issues porting to a 40-column screen. Another thing is the memory use. In Moria I am doing A LOT of cartridge banking, as well as VBXE banking. The map itself is around 24k in Moria, and is dynamically created each time you enter a level. There's one function in Moria that had to be split across two cartridge banks even. The game was just not designed for small memory footprint computers. I've started working on a 40-column port of Moria, but the game is going to have to be changed quite a bit, even to the extent that the names of the items will have to change as some of them are much longer than 40 characters and just won't fit on the screen even. I got a bit disillusioned with that though and basically stopped, but I may pick it up again someday.
  13. Time Pilot 46,000 The controls take a bit of getting used to, that's for sure! Never played it in the arcade, neat game.
  14. Hi Karri, LOWCODE is used on quite a few targets that have banking windows, like the Atari 8-bit. It just ensures that code that needs to be "low" in memory, is in fact in low memory. The Atari 8-bit has standard banking windows at $4000, $9000 and $A000. I believe that IRQ code in the library would be in LOWCODE so hopefully it doesn't get banked out during an interrupt. On the Lynx it isn't really required since there's no concept of memory banks, but this became standard in cc65 since quite a few of the targets have the same issue. I'm not entirely sure when that happened. You could just change that to "CODE" on the lynx if that's an issue.
  • Create New...