boisy Posted May 9, 2020 Share Posted May 9, 2020 Hi everyone, I'm not very familiar with the Atari A8 offerings so I'm hoping for some guidance. The project I'm working on requires a cartridge to plug into the back of my Atari 130XE. Is there a ROM cartridge that I can purchase with a 28 pin socket that will take a 16K or 32K ROM that I supply? Who would supply something like this? Quote Link to comment Share on other sites More sharing options...
Albert Posted May 9, 2020 Share Posted May 9, 2020 Do you just need a single board? I'd be glad to help you out if so, and I can put a socket on the board for you as well. ..Al 1 Quote Link to comment Share on other sites More sharing options...
boisy Posted May 10, 2020 Author Share Posted May 10, 2020 Hi Al, Yes. Just a single board for this project with a 28 pin ROM socket. What is the max ROM size that a 130XE compatible cart will take? Quote Link to comment Share on other sites More sharing options...
+David_P Posted May 10, 2020 Share Posted May 10, 2020 Default carts with no bank switching are a maximum of 16K, occupying memory from $8000-BFFF. You can order 16K boards (27128 EEPROM compatible) from OSH Park - https://oshpark.com/shared_projects/YreZRvio There are a number of different bank switching carts available, providing different maximum memories and footprints; some only occupy 8K of address space, freeing up more base RAM. Quote Link to comment Share on other sites More sharing options...
Rybags Posted May 10, 2020 Share Posted May 10, 2020 The cartridge address space is 16K maximum and 8K minimum (you can have smaller Roms that'll usually give mirror copies in that 8K) The maximum cartridge size is limited only by physical space constraints - with bank switching you can have access to a lot more data. If you're doing experimental development then there's flash carts around such as from AtariMax http://www.atarimax.com You might find them easier than flashing Eproms. There's also a PC-based interface for flashing the cart images as well as the Atari based one which might be handy for a 6809 based system. Some fudging around might be needed though, I'm not sure if the PC software tries to populate the home bank with the 6502 based menu program or allows to just flash in raw images. Quote Link to comment Share on other sites More sharing options...
boisy Posted May 10, 2020 Author Share Posted May 10, 2020 Thanks for the feedback. I'm using a ROM emulator so the OSH Park solution is appropriate for what I'm doing, but the USB/SD card interfaces certainly look intriguing for future use. Quote Link to comment Share on other sites More sharing options...
Graham Dearsley Posted May 10, 2020 Share Posted May 10, 2020 Hi Boisy So what is it you have planned for that cartridge ? And what computer is that you have as your icon ? Quote Link to comment Share on other sites More sharing options...
Graham Dearsley Posted May 10, 2020 Share Posted May 10, 2020 Don't want to put you off but the Atari A8's do actually have an OS and you should have a look that before you try to reinvent the wheel ? Quote Link to comment Share on other sites More sharing options...
Graham Dearsley Posted May 10, 2020 Share Posted May 10, 2020 Only mentioned that because you said you are not familiar with the SYSTEM ? Quote Link to comment Share on other sites More sharing options...
boisy Posted May 10, 2020 Author Share Posted May 10, 2020 My plan is to write 6502 code for a proprietary serial-based protocol that I'm experimenting with. I don't know enough about the A8 ROM to understand what services are available. If I want to read/write data over the SIO, are there ROM routines for facilitating that at certain baud rates, or do I need to talk to the POKEY directly? Also, I need some sort of serial cable from the SIO adapter to a DB9. I seem to remember there was something called SIO2PC that did that? Quote Link to comment Share on other sites More sharing options...
+David_P Posted May 10, 2020 Share Posted May 10, 2020 SIO is entirely 5V. RS232 requires voltage translation - the SIO2PC variants do that, as do the 850 interface,the Black Box and MIO (both PBI/ECI devices). Quote Link to comment Share on other sites More sharing options...
Graham Dearsley Posted May 12, 2020 Share Posted May 12, 2020 I think you would do better to try writing your protocol for RS232 in the first place. SIO already has its own packet based protocol with support routines in the SIO bus driver built into the OS ROM. It is technically possible to write directly to hardware registers to send data over SIO but good luck with that ! If you had an 850 I/O module then you could program its RS232 ports to any of its supported speeds and then use its "R:" device driver to send it any data you like via the OS's Central I/O (CIO) system. Quote Link to comment Share on other sites More sharing options...
Rybags Posted May 12, 2020 Share Posted May 12, 2020 The 2 main disadvantages of Pokey/SIO for serial you'll probably find - it uses start/stop bit and you have no choice in that matter. Though you could use bit-banging techniques as an alternative (with the extra pain that would entail). And it's 0/5 Volt levels, not RS232 which means interface hardware required for level conversion. Advantages - since the audio circuitry dictates the bitrate it's pretty flexible in that sense though at the high end the steps get a bit big, but you won't necessarily be able to land exactly on a "standard" rate like 38,400 (but the hardware does allow some drift on input rate). You can do poll driven I/O or interrupt driven. In fact you can automate serial IO to the point where it's a near 100% background process and have a game going in the foreground (Seven Cities of Gold probably the best example of this) Quote Link to comment Share on other sites More sharing options...
Graham Dearsley Posted May 12, 2020 Share Posted May 12, 2020 Like I said it will get complicated ?. At the end of the day you will also be sending non standard data over SIO so don't expect any other SIO connected devices to like it. The situation would be like trying to send data to USB devices without using the USB protocol. Quote Link to comment Share on other sites More sharing options...
Rybags Posted May 12, 2020 Share Posted May 12, 2020 If you do SIO without using the /Command line then other devices will just ignore it. If you wanted to implement your own protocol but use /Command it'd be easy enough to do so without disturbing other devices. Then there's always the hybrid option of borrowing a joystick port and using it for control signals. Quote Link to comment Share on other sites More sharing options...
Graham Dearsley Posted May 12, 2020 Share Posted May 12, 2020 I see you have already posted on the PIA based LAN thread Raybags ? Quote Link to comment Share on other sites More sharing options...
Graham Dearsley Posted May 12, 2020 Share Posted May 12, 2020 Come to think of it, you may like to download the 850 manual even if you don't have one because it has lots of useful information about RS232 in general. Quote Link to comment Share on other sites More sharing options...
boisy Posted May 26, 2020 Author Share Posted May 26, 2020 Hello everyone. I ordered several of these boards (https://oshpark.com/shared_projects/YreZRvio) from OSHPark and they came in today. I populated the boards, but am not able to bring up a ROM properly. I'm using a ROM emulator which I know works, and it's plugged into the 28 pin socket of the board. I added a 74LS00 to one of the boards and on another board I jumped pins 10 and 11 based on the instructions here (http://www.grandideastudio.com/wp-content/uploads/pp_atari8bit_instructions.pdf) When I insert the cartridge into the back of the Atari 130XE and power it up, all I get is a black screen. Removing the cartridge and powering up the Atari 130XE shows the blue screen and READY prompt. The cartridge can take both 8K and 16K ROMs, and I found a few online, downloaded the into the ROM emulator, and no go. Is there a good "test" ROM image anyone can suggest to test out this cartridge so I can gain confidence that it works? Quote Link to comment Share on other sites More sharing options...
+David_P Posted May 26, 2020 Share Posted May 26, 2020 Counter-intuitively, the ROM faces down on the XE port. Quote Link to comment Share on other sites More sharing options...
boisy Posted May 26, 2020 Author Share Posted May 26, 2020 That crossed my mind. Sure enough, Frogger loads up fine on it now if I plug it in the "right" way. Thanks! Now onto writing some 6502 code to tickle the POKEY and do some serial I/O. Quote Link to comment Share on other sites More sharing options...
boisy Posted May 26, 2020 Author Share Posted May 26, 2020 As I embark on this, are there known vectors that I can call into the system ROM onboard the Atari A8 to do things like: - Perform output on the console - Get input from the keyboard Quote Link to comment Share on other sites More sharing options...
+David_P Posted May 26, 2020 Share Posted May 26, 2020 The Atari OS has defined Central I/O routines (CIO) for standard methods of communicating with devices, which also permits redirection from one device to another. So, for example, a routine could take input from a disk file instead of the keyboard by changing one argument. Or output could go to the printer instead of the screen. By going through CIO, you're guaranteed compatibility with different versions of the OS. There's an into to CIO at https://www.atarimax.com/freenet/freenet_material/12.AtariLibrary/2.MiscellaneousTextFiles/showarticle.php?30 that may be of help. Quote Link to comment Share on other sites More sharing options...
boisy Posted May 26, 2020 Author Share Posted May 26, 2020 Awesome! Thanks for this. I'll study it. Quote Link to comment Share on other sites More sharing options...
+David_P Posted May 27, 2020 Share Posted May 27, 2020 One of the definitive information tools for the Atari is Ian Chadwick's "Mapping the Atari". https://www.atariarchives.org/mapping/ Quote Link to comment Share on other sites More sharing options...
boisy Posted May 27, 2020 Author Share Posted May 27, 2020 Thanks. I also found this helpful: https://www.atariarchives.org/alp/chapter_9.php What is the best toolchain for doing cross-hosted (in this case, Mac) assembly for 6502 in general and the A8 in particular. I found the cc65 project on GitHub, which is a full-blown C compiler. It contains an assembler (ca65). Is that what is preferred? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.