jchase1970 Posted July 8, 2019 Share Posted July 8, 2019 What does the 8bit databus IO do? I specifically want to send a byte out thru the cartridge port to another device but I don't want it to interfere with the normal operation of the cartridge. Quote Link to comment Share on other sites More sharing options...
Tursi Posted July 8, 2019 Share Posted July 8, 2019 The cartridge port is a memory bus, not an I/O bus. The data lines are directly tied to the 8-bit data bus. The address lines specify 8k of address space, and select lines are available to indicate cartridge ROM or (any) GROM access. Non-QI machines also have the CRU interface lines. To pass a written byte out the cartridge port you'd need to decode the address and ROM select pins (or parse all GROM activity to detect GROM writes to an appropriate address), and if you wanted it to not interfere with the cartridge, you'd either need a cartridge that ignores writes (ie: no bank switching and no RAM), or you'd need a circuit in-between the TI and the cart to intercept the write and not let the cartridge see the select line. 1 Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted July 8, 2019 Share Posted July 8, 2019 25 minutes ago, jchase1970 said: What does the 8bit databus IO do? I specifically want to send a byte out thru the cartridge port to another device but I don't want it to interfere with the normal operation of the cartridge. Are you talking about piggybacking onto an existing cartridge, or making your own from scratch? If you're piggybacking on an E/A cartridge, which has no ROM, then it's fine. In general, writing to the cartridge port is how bank switching is implemented. Cartridges that this will affect include Extended Basic, and recent multi-bank carts. It's not the data bus that switches the bank, it's the low-order address bits. I am not entirely sure, but I have no idea how most cartridges distinguish between read and write cycles. I think they don't care and just clobber the data bus by interpreting a write as a read. If you are making your own, and you have an EPROM on board, you need to ensure that the EPROM does not treat the write cycle as a read and clobber your data. You'll need to add a NOT or cheaper NAND gate (74HCT00) between the DBIN signal and the OE* pin of the EPROM or other read-only memory because the logic values are opposite. I think this pin is usually just hooked up to ROMS*. Cartridges with RAM like Supercart do use the right signals. Start here at TI Tech Pages. 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted July 9, 2019 Share Posted July 9, 2019 1 hour ago, FarmerPotato said: I am not entirely sure, but I have no idea how most cartridges distinguish between read and write cycles. I think they don't care and just clobber the data bus by interpreting a write as a read. By DBIN? (Pin 25 in the grom port) Quote Link to comment Share on other sites More sharing options...
jchase1970 Posted July 9, 2019 Author Share Posted July 9, 2019 What I am trying to do is communicate to a mircocontroller thru the cartridge port to provide some enhanced sound functions. I was going to use a PI Zero but I have figure out that this has several hurdles to overcome. Now I am looking at various stand alone midi or mp3 players. They are small enough to insert in to a cart and have a micro speaker in it. This would allow a game to play a background track thru that speaker and sound effects thru the TI. The only thing I need to figure out is how to send a signal out to the controller to tell it what track to play. I had hoped this would be as simply as having the controller listen to the 8bit DIO bus and when it reads a command to it then do a function. But I may be in over my head on this. But I'll plug alone and maybe get it right. 1 Quote Link to comment Share on other sites More sharing options...
towmater Posted July 9, 2019 Share Posted July 9, 2019 (edited) It's for the wrong computer, so do properly arrange the bus pinout, but other than that this book should tell you what you need to know. https%3A%2F%2Farchive.org%2Fdetails%2FTRS-80_Interfacing_Book_1_19xx_Jonathan_Titus&usg=AOvVaw3KYjugnFuI7ZuuBK0b4Kqb And remember Raspberry Pi's have a different signal voltage compared to anything retro. Edited July 9, 2019 by towmater 1 Quote Link to comment Share on other sites More sharing options...
Stuart Posted July 9, 2019 Share Posted July 9, 2019 (edited) If the cartridge you're using is not bank-switched, then you might be able to use the bank switching technique to latch some address lines to provide control signals for your microcontroller. http://www.stuartconner.me.uk/ti/ti.htm#bank_switching might be of interest. Edited July 9, 2019 by Stuart 1 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.