Omnimaga

Calculator Community => Major Community Projects => The Axe Parser Project => Topic started by: E37 on June 12, 2017, 06:12:10 pm

Title: Breaking the 8K limit
Post by: E37 on June 12, 2017, 06:12:10 pm
Quick question: Is there any way to disable the 8K code limit and still use interrupts?
Thanks
Title: Re: Breaking the 8K limit
Post by: TIfanx1999 on June 13, 2017, 05:49:33 pm
IIRC, forum members Hotdog and thepenguin came up with solutions to breaking the 8k limit. I'm not sure if either required interupts to be disabled.Hotdog's was called Crabcake, I think it may have had some stability issues though. I think matrefeytontias, had a hackish way to use multiple app pages. Finally, Both Runer112 and BrandonW might be good people to ask. Runer, since he maintains axe, and Brandon W since he's just incredibly knowledgeable about the hardware from working with it for years.
Title: Re: Breaking the 8K limit
Post by: Eeems on June 13, 2017, 05:59:45 pm
@Runer112 @BrandonW
Just going to highlight them so they are more likely to view this thread.
Title: Re: Breaking the 8K limit
Post by: Runer112 on June 13, 2017, 06:06:28 pm
The axiom Fullrene (https://www.omnimaga.org/ti-z80-calculator-projects/fullrene/) should allow you to bypass the 8KB program code limit. There are mixed reports of its efficacy, though. Also, the program needs to be launched from a shell, as the OS simply refuses to launch programs this large.

Alternatively, compile your code as an application to get a bit under 16KB of room, although this may not be desirable for other reasons.

Interrupts being enabled or not should have no bearing on this.
Title: Re: Breaking the 8K limit
Post by: TIfanx1999 on June 13, 2017, 06:16:47 pm
Thanks for the link to fullrene. I couldn't remember what it was called.
Title: Re: Breaking the 8K limit
Post by: E37 on June 15, 2017, 06:23:07 pm
The axiom Fullrene (https://www.omnimaga.org/ti-z80-calculator-projects/fullrene/) should allow you to bypass the 8KB program code limit. There are mixed reports of its efficacy, though. Also, the program needs to be launched from a shell, as the OS simply refuses to launch programs this large.

Alternatively, compile your code as an application to get a bit under 16KB of room, although this may not be desirable for other reasons.

Interrupts being enabled or not should have no bearing on this.
Fullrene uses interrupts to disable the limit. If you read the source, you will see that it uses the I register for interrupts. I know that zStart has a hack to disable the limit, but I don't know if it simply removes the limit firm the OS itself. I don't know about crabcake. I couldn't find a download for it anywhere. Compiling as an app is not an option for me currently for various reasons.
Title: Re: Breaking the 8K limit
Post by: Runer112 on June 16, 2017, 04:26:13 pm
The axiom Fullrene (https://www.omnimaga.org/ti-z80-calculator-projects/fullrene/) should allow you to bypass the 8KB program code limit. There are mixed reports of its efficacy, though. Also, the program needs to be launched from a shell, as the OS simply refuses to launch programs this large.

Alternatively, compile your code as an application to get a bit under 16KB of room, although this may not be desirable for other reasons.

Interrupts being enabled or not should have no bearing on this.
Fullrene uses interrupts to disable the limit. If you read the source, you will see that it uses the I register for interrupts. I know that zStart has a hack to disable the limit, but I don't know if it simply removes the limit firm the OS itself. I don't know about crabcake. I couldn't find a download for it anywhere. Compiling as an app is not an option for me currently for various reasons.

It uses the i register as part of the logic to disable the code limit, but it doesn't use interrupts or the i register after that. The limit is not removed permanently; it is only removed for the remainder of the program's execution.


Important edit: doesdoen't
Title: Re: Breaking the 8K limit
Post by: c4ooo on June 16, 2017, 11:56:56 pm
The axiom Fullrene (https://www.omnimaga.org/ti-z80-calculator-projects/fullrene/) should allow you to bypass the 8KB program code limit. There are mixed reports of its efficacy, though. Also, the program needs to be launched from a shell, as the OS simply refuses to launch programs this large.

Alternatively, compile your code as an application to get a bit under 16KB of room, although this may not be desirable for other reasons.

Interrupts being enabled or not should have no bearing on this.
Fullrene uses interrupts to disable the limit. If you read the source, you will see that it uses the I register for interrupts. I know that zStart has a hack to disable the limit, but I don't know if it simply removes the limit firm the OS itself. I don't know about crabcake. I couldn't find a download for it anywhere. Compiling as an app is not an option for me currently for various reasons.

It uses the i register as part of the logic to disable the code limit, but it does use interrupts or the i register after that. The limit is not removed permanently; it is only removed for the remainder of the program's execution.
I thought it sent some magical number to some magical port? I remember a really old news article about this by 'thepenguin' (?).
Title: Re: Breaking the 8K limit
Post by: Sorunome on June 17, 2017, 11:07:00 am
The axiom Fullrene (https://www.omnimaga.org/ti-z80-calculator-projects/fullrene/) should allow you to bypass the 8KB program code limit. There are mixed reports of its efficacy, though. Also, the program needs to be launched from a shell, as the OS simply refuses to launch programs this large.

Alternatively, compile your code as an application to get a bit under 16KB of room, although this may not be desirable for other reasons.

Interrupts being enabled or not should have no bearing on this.
Fullrene uses interrupts to disable the limit. If you read the source, you will see that it uses the I register for interrupts. I know that zStart has a hack to disable the limit, but I don't know if it simply removes the limit firm the OS itself. I don't know about crabcake. I couldn't find a download for it anywhere. Compiling as an app is not an option for me currently for various reasons.

It uses the i register as part of the logic to disable the code limit, but it does use interrupts or the i register after that. The limit is not removed permanently; it is only removed for the remainder of the program's execution.
I thought it sent some magical number to some magical port? I remember a really old news article about this by 'thepenguin' (?).
You are probably talking about

http://wikiti.brandonw.net/index.php?title=83Plus:Ports:25
http://wikiti.brandonw.net/index.php?title=83Plus:Ports:26

Which limit the CPU execution in the upper and the lower direction. Now, as you can see on wikiti, both ports are protected. That means that you can't simply change their value, you first have to "unlock" your calculator, so-to-say. The TIOS itself can unlock the calculator but, well, re-locks it before a program has control again.
Crabcake, zstart and thelike use TIOS bugs to gain access to the protected ports while running.
Title: Re: Breaking the 8K limit
Post by: TIfanx1999 on June 19, 2017, 05:55:40 pm
The axiom Fullrene (https://www.omnimaga.org/ti-z80-calculator-projects/fullrene/) should allow you to bypass the 8KB program code limit. There are mixed reports of its efficacy, though. Also, the program needs to be launched from a shell, as the OS simply refuses to launch programs this large.

Alternatively, compile your code as an application to get a bit under 16KB of room, although this may not be desirable for other reasons.

Interrupts being enabled or not should have no bearing on this.
Fullrene uses interrupts to disable the limit. If you read the source, you will see that it uses the I register for interrupts. I know that zStart has a hack to disable the limit, but I don't know if it simply removes the limit firm the OS itself. I don't know about crabcake. I couldn't find a download for it anywhere. Compiling as an app is not an option for me currently for various reasons.
Zstart is by the same author, so I'd imagine it functions similarly. Shouldn't matter according to Runer's post though.