morelenmir Posted September 5, 2016 Author Share Posted September 5, 2016 (edited) Think of it this way: INIT code is executed before the OS does its thing, while RUN code is executed after. So if you're relying on anything the OS does, you either have to do it in your RUN code, duplicate the code in your INIT code, or have your INIT code call the parts of the OS ROM you need. That is by far the clearest and most useful explanation I have read David_P! I will keep that in mind. So, working with this model; is it during the INIT code that one should switch BASIC off by manipulating the bytes in PORTB or is that done automatically by booting from a cartridge in the first place? Edited September 5, 2016 by morelenmir Quote Link to comment Share on other sites More sharing options...
phaeron Posted September 5, 2016 Share Posted September 5, 2016 So, working with this model; is it during the INIT code that one should switch BASIC off by manipulating the bytes in PORTB or is that done automatically by booting from a cartridge in the first place? The cartridge has priority over built-in BASIC, so ordinarily you shouldn't need to worry about this. Quote Link to comment Share on other sites More sharing options...
ascrnet Posted January 29, 2022 Share Posted January 29, 2022 I am trying to make a standard 8k cartridge from A000 to BFFF, it works, but I need to shut down the cartridge so I can properly detect all the RAM. The program is all in the cartridge area and is copied to ram and then run. I found this but it is for OSS cartridges which doesn't work for me because it uses a different type of banking than the standard.? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 30, 2022 Share Posted January 30, 2022 A 'standard' 8K cartridge can't turn itself off unless it's a replacement for internal BASIC on the XL/XE. You'd need to code for a cart with banking control registers in the $D5xx area, and choose one which allows for disabling of ROM. If you want your software to run on lots of different multi-carts, you need to compile a version for each different cart's banking scheme, unfortunately. Quote Link to comment Share on other sites More sharing options...
ascrnet Posted January 30, 2022 Share Posted January 30, 2022 10 hours ago, flashjazzcat said: A 'standard' 8K cartridge can't turn itself off unless it's a replacement for internal BASIC on the XL/XE. You'd need to code for a cart with banking control registers in the $D5xx area, and choose one which allows for disabling of ROM. If you want your software to run on lots of different multi-carts, you need to compile a version for each different cart's banking scheme, unfortunately. Thanks, I tried activating the Basic but when doing the hot reboot it keeps stuck restarting infinitely.? Doing a non-standard 8k or 16k ban is beyond my little knowledge. is there any other way to free up RAM? I am trying to pass hw-detect to 8k rom and then to 16k standard to add it to an EPROM. hw-d_test.rom 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.