Jump to content
IGNORED

Booting from Cartridge


Recommended Posts

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 by morelenmir
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 5 years later...

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.?

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...