jrhodes Posted September 1, 2021 Share Posted September 1, 2021 Starting this thread as a place to discuss systems with the internal memory mod, and questions or issues associated with this setup. Feel free to ask your internal memory mod related questions here. First question: Can this mod be installed with a toggle switch, to turn off the internal memory mod if wanted? Second question: Can a SAMS setup be installed internally? 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted September 1, 2021 Share Posted September 1, 2021 (edited) Can an EA + 4 banks switcheable be installed? Obviously, the battery should also be run outside the case OR be a rechargeable type, but I don't think there's a circuit for recharging these. Edited September 1, 2021 by GDMike Quote Link to comment Share on other sites More sharing options...
Stuart Posted September 1, 2021 Share Posted September 1, 2021 3 hours ago, jrhodes said: Starting this thread as a place to discuss systems with the internal memory mod, and questions or issues associated with this setup. "the internal memory mod" or "an internal memory mod" - did you have a particular one in mind as there are several (assuming you're referring to 32K in the console)? The one I put together (http://www.stuartconner.me.uk/ti/ti.htm#32k_memory_expansion) has a switch to disable it. It's probably possible with any of the 32K mods, although you might need to tweak the mod circuit slightly to fit it. 3 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted September 1, 2021 Author Share Posted September 1, 2021 13 minutes ago, Stuart said: "the internal memory mod" or "an internal memory mod" - did you have a particular one in mind as there are several (assuming you're referring to 32K in the console)? The one I put together (http://www.stuartconner.me.uk/ti/ti.htm#32k_memory_expansion) has a switch to disable it. It's probably possible with any of the 32K mods, although you might need to tweak the mod circuit slightly to fit it. I intended this thread as a catch all for all different versions. Since you say your version can definitely have a switch installed, that is the one i would do, if i ever did it. 2 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted September 2, 2021 Share Posted September 2, 2021 Several of the 32K-in-the-console mods have on-off switches, and some are also able to switch speeds (using two different clock crystals), and may be able to switch between 16-bit and 8-bit memory modes. I'm pretty sure Mainbyte, Hexbus, Tursi, and Stuart all have nice options detailed on their sites. There are also a couple of innovative threads here on AtariAge. There is not an option available to put SAMS into the console. 2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 2, 2021 Share Posted September 2, 2021 My internal 32k mod as designed doesn't have a switch. The PCB for mine that someone else (Towmater?) designed, DOES. 2 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted September 2, 2021 Share Posted September 2, 2021 1 hour ago, Tursi said: My internal 32k mod as designed doesn't have a switch. The PCB for mine that someone else (Towmater?) designed, DOES. @Tursi I think this is your circuit with the switch I believe, correct? Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 2, 2021 Share Posted September 2, 2021 5 hours ago, Shift838 said: @Tursi I think this is your circuit with the switch I believe, correct? That looks familiar, but I wasn't really involved in the development of it and have never seen one in person Quote Link to comment Share on other sites More sharing options...
Shift838 Posted September 2, 2021 Share Posted September 2, 2021 @Tursi I need to solder it together and put in my dev/test system. Quote Link to comment Share on other sites More sharing options...
apersson850 Posted September 2, 2021 Share Posted September 2, 2021 (edited) The one I have adds 64 K RAM in the console. It's all at 16 bit wide bus. Thus you can have your workspace anywhere. It's as fast as console RAM pad anyway. The 32 K covering the area for the normal memory expansion is on by default. If switched off, any external memory expansion (in the PEB) will be visible instead. So by switching off the internal memory, you go back to 8-bit speed, but also has a second page of 32 K RAM. The remaining 32 K RAM in the console can be switched on in 8 K banks. Thus you can overlay all other areas in the console with RAM. This includes console ROM, DSR space etc. Of course, you can't return to a normally operating machine with memory and all VDP ports and stuff at >8000 - >9FFF replaced with RAM. You'll crash immediately. But inside your own program, your can turn on that bank and use it as some buffer memory, or whatever, as long as you disable it before returning to the console. Another options is to transfer a part of your program to that area. Then, when your assembly program is called, you can enable that area, run your program there, jump back to your program elsewhere and disable the memory before you return. This means you can have space for up to 32 K of software, in your own assembly program, which is all loaded and can be accessed by just a toggling of some CRU bits. You can also copy all console ROM to RAM, then switch in the RAM. Now you can modify all interrupt vectors and such stuff. You can for example use the timer in the TMS 9901 to create an interrupt to a scheduler, if you want to run a multitasking assembly program with pre-emptive task switching. Another possibility is to have a contiguous 64 K RAM area in the machine, if you temporarily need to manage a lot of data. These different banks are all switched in and out by CRU bits at >0400, so all this can be done under software control. This is my own design. I never made any PCB, though, so it's all soldered in piggy-back on existing circuits in the console. I've also never used a Commodore 64 in any depth, but I do know it had a similar capability. It could be 64 K RAM, but not at the same time as having access to all system services. Edited September 2, 2021 by apersson850 1 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 2, 2021 Share Posted September 2, 2021 Although I posted it already in another thread, once again this is the mod I used with my TI-99/4A before switching to the Geneve. The red and yellow buttons do not belong to the expansion but are used for resetting and triggering the LOAD interrupt. The switch turns off the wait state generation when accessing the 32K memory. I seem to vaguely remember that this could be from the Wiesbaden group and that they offered to install it if you sent the mainboard to them. 3 Quote Link to comment Share on other sites More sharing options...
globeron Posted September 2, 2021 Share Posted September 2, 2021 Dutch magazine has articles how to built in 32K Tijdingen 23 october 85 Tijdingen 24 december 85 (There might be more in others, but need to search) 5 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted September 2, 2021 Share Posted September 2, 2021 I got the basic idea to my design from somebody who installed 64 K RAM, but only used half of it. The reason for installing 64 K was simply that the memory chips were 8 bit wide. So that design used 16 K from each 32 K chip, to get a 16 bit wide memory data bus. Seeing that, I thought I could improve on the design by adding the logic which would allow the use of all of the memory in the chips. 4 Quote Link to comment Share on other sites More sharing options...
sprot Posted September 4, 2021 Share Posted September 4, 2021 This one was posted in Yahoo Groups its a 32k in console single chip mod, untested! by me. 2 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted September 5, 2021 Share Posted September 5, 2021 (edited) But with a single chip like that, you don't get 16 bit wide access, right? You get the memory but not the speed upgrade, as far as I understand. Edited September 5, 2021 by apersson850 Quote Link to comment Share on other sites More sharing options...
sprot Posted September 5, 2021 Share Posted September 5, 2021 Yes I see your point it's only a 32k 8bit mod. I suppose if anyone is going to make the effort to do a mod, 16bit is the way to go. 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 6, 2021 Share Posted September 6, 2021 I don't intend to ever install another 16-bit mod. I developed my 8 bit mod because it was fewer wires to solder. 1 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted September 7, 2021 Share Posted September 7, 2021 (edited) That's the advantage. When running programs where both the code and the workspace is in expansion RAM, the speed increase with 16-bit access is roughly 110%. I found that signifcant enough to do the job with installing the 16-bit memory. And then some, since I actually added 64 K RAM to the existing 32 K RAM upgrade, not just replaced the standard memory expansion. Edited September 7, 2021 by apersson850 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 8, 2021 Share Posted September 8, 2021 I know, we've discussed your memory mod a couple of times before. I also upgraded my daily use console back in the day, then used it to run a BBS where the extra speed helped it keep up with the modem as well as granted me faster build times. But these days, my TI is not my daily use console and I'm more interested in making sure my software will run the same way that it will run on most people's machines. 5 Quote Link to comment Share on other sites More sharing options...
+9640News Posted April 19, 2022 Share Posted April 19, 2022 On 9/2/2021 at 10:58 AM, apersson850 said: The one I have adds 64 K RAM in the console. It's all at 16 bit wide bus. Thus you can have your workspace anywhere. It's as fast as console RAM pad anyway. The 32 K covering the area for the normal memory expansion is on by default. If switched off, any external memory expansion (in the PEB) will be visible instead. So by switching off the internal memory, you go back to 8-bit speed, but also has a second page of 32 K RAM. The remaining 32 K RAM in the console can be switched on in 8 K banks. Thus you can overlay all other areas in the console with RAM. This includes console ROM, DSR space etc. Of course, you can't return to a normally operating machine with memory and all VDP ports and stuff at >8000 - >9FFF replaced with RAM. You'll crash immediately. But inside your own program, your can turn on that bank and use it as some buffer memory, or whatever, as long as you disable it before returning to the console. Another options is to transfer a part of your program to that area. Then, when your assembly program is called, you can enable that area, run your program there, jump back to your program elsewhere and disable the memory before you return. This means you can have space for up to 32 K of software, in your own assembly program, which is all loaded and can be accessed by just a toggling of some CRU bits. You can also copy all console ROM to RAM, then switch in the RAM. Now you can modify all interrupt vectors and such stuff. You can for example use the timer in the TMS 9901 to create an interrupt to a scheduler, if you want to run a multitasking assembly program with pre-emptive task switching. Another possibility is to have a contiguous 64 K RAM area in the machine, if you temporarily need to manage a lot of data. These different banks are all switched in and out by CRU bits at >0400, so all this can be done under software control. This is my own design. I never made any PCB, though, so it's all soldered in piggy-back on existing circuits in the console. I've also never used a Commodore 64 in any depth, but I do know it had a similar capability. It could be 64 K RAM, but not at the same time as having access to all system services. I was asking about this very issue over in the development thread on the GIF source code. Seems like I found the answer. Are there more details on this modification? Quote Link to comment Share on other sites More sharing options...
Shift838 Posted April 19, 2022 Share Posted April 19, 2022 On 9/2/2021 at 9:58 AM, apersson850 said: The one I have adds 64 K RAM in the console. It's all at 16 bit wide bus. Thus you can have your workspace anywhere. It's as fast as console RAM pad anyway. The 32 K covering the area for the normal memory expansion is on by default. If switched off, any external memory expansion (in the PEB) will be visible instead. So by switching off the internal memory, you go back to 8-bit speed, but also has a second page of 32 K RAM. The remaining 32 K RAM in the console can be switched on in 8 K banks. Thus you can overlay all other areas in the console with RAM. This includes console ROM, DSR space etc. Of course, you can't return to a normally operating machine with memory and all VDP ports and stuff at >8000 - >9FFF replaced with RAM. You'll crash immediately. But inside your own program, your can turn on that bank and use it as some buffer memory, or whatever, as long as you disable it before returning to the console. Another options is to transfer a part of your program to that area. Then, when your assembly program is called, you can enable that area, run your program there, jump back to your program elsewhere and disable the memory before you return. This means you can have space for up to 32 K of software, in your own assembly program, which is all loaded and can be accessed by just a toggling of some CRU bits. You can also copy all console ROM to RAM, then switch in the RAM. Now you can modify all interrupt vectors and such stuff. You can for example use the timer in the TMS 9901 to create an interrupt to a scheduler, if you want to run a multitasking assembly program with pre-emptive task switching. Another possibility is to have a contiguous 64 K RAM area in the machine, if you temporarily need to manage a lot of data. These different banks are all switched in and out by CRU bits at >0400, so all this can be done under software control. This is my own design. I never made any PCB, though, so it's all soldered in piggy-back on existing circuits in the console. I've also never used a Commodore 64 in any depth, but I do know it had a similar capability. It could be 64 K RAM, but not at the same time as having access to all system services. i'd like to see more information on this, maybe we could make a PCB for easy modification. 1 Quote Link to comment Share on other sites More sharing options...
Reciprocating Bill Posted April 19, 2022 Share Posted April 19, 2022 The upgrade I did was daunting. I ruined a couple motherboards before I upped my HeathKit-level soldering skills sufficiently, and obtained good enough equipment and magnification, to pull it off. The successful efforts (two boards) took about 4 hours each. I'll have to run them 100 years to earn that time back. Of course, none of this is about efficiency. What it was really about was the idea of the 9900 running wild and free, no wait states or multiplexer. http://www.mainbyte.com/ti99/16bit32k/32kconsole.html 2 2 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted April 19, 2022 Share Posted April 19, 2022 I do have some documentation. Drawn by pencil. I think I can find it, so I can scan it. 5 Quote Link to comment Share on other sites More sharing options...
+dhe Posted April 19, 2022 Share Posted April 19, 2022 Maybe if someday @Ksarul gets the time and the motivation, he could do the tops radio supply 16-bit mod - while it is daunting, the daughter board only requires you put in a socket where the 9900 is - I think that would be easier to test and manage then a lot of the connections on the motherboard.... 1 Quote Link to comment Share on other sites More sharing options...
Reciprocating Bill Posted April 20, 2022 Share Posted April 20, 2022 3 hours ago, dhe said: a lot of the connections on the motherboard.... To wit: Piggybacking the memory was the trickiest part. The one shown here (perpendicular to the CPU) was easy, but there are some very tight spaces around the other. 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.