Author Topic: The Axe Pages  (Read 28445 times)

0 Members and 1 Guest are viewing this topic.

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: The Axe Pages
« Reply #75 on: April 27, 2010, 08:12:53 pm »
Call it multi-threading if you will, but it sucks as that. More like something that allows you to run small amounts of code in the background
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

SirCmpwn

  • Guest
Re: The Axe Pages
« Reply #76 on: April 27, 2010, 08:19:05 pm »
Yeah, that's a better description.  The right word to describe it escaped me.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: The Axe Pages
« Reply #77 on: April 27, 2010, 11:35:18 pm »
Btw, when running an Axe game, try pressing ON repeatdely. Notice the tiny pauses when pressing the key x.x

I even noticed that in ASM games ran with the Asm() command
Dream of Omnimaga

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: The Axe Pages
« Reply #78 on: April 28, 2010, 07:32:07 am »
The OS itself does that too... It will happen anywhere, in any program, unless the ON interrupt is disabled or the calc is set to IM2 (maybe).
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: The Axe Pages
« Reply #79 on: April 28, 2010, 09:42:30 am »
There's also something I discovered in TI-BASIC:

When you use ASM programs to disable the ON button in a BASIC game, using certain programs like CODEX afterward may crash the calc. And during archiving/unarchiving process, if the busy indicator was turned OFF it will be turned back ON. Idk if the latter happens with Axe, though
Dream of Omnimaga

Offline titane666

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 8
  • Rating: +0/-0
    • View Profile
Re: The Axe Pages
« Reply #80 on: April 28, 2010, 12:59:47 pm »
I found out (too late) that I coded a infinite loop without the possibility to quit.
what should have I done?
I mean, is there any kind of key combination to force an asm program to quit or something like the BASIC [on].
I had to upgrade the os to quit. (I have an nspire)
and to restore my data's.
If someone know anything, thank to help.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: The Axe Pages
« Reply #81 on: April 28, 2010, 02:00:09 pm »
Unfortunately, assembly doesn't allow you this option without some special interrupt code.  I may be adding a safety feature eventually that allows you to test in a "debug mode" which adds the interrupt code to the source to allow [ON] breaks.  Even though it makes the executable larger and slower, it would really just be for testing anyway.

I'm not sure how the NSpire handles 84+ emulation, but I've heard its not the greatest when it comes to things like this.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Silver Shadow

  • Beta Tester
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +27/-7
    • View Profile
Re: The Axe Pages
« Reply #82 on: April 28, 2010, 02:32:35 pm »
Instead of updating the OS every time this happens, just press the reset button located on the back of the Nspire. This might be helpful. :P
Former Coder of Tomorrow


Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: The Axe Pages
« Reply #83 on: April 28, 2010, 03:14:17 pm »
Unfortunately, assembly doesn't allow you this option without some special interrupt code.  I may be adding a safety feature eventually that allows you to test in a "debug mode" which adds the interrupt code to the source to allow [ON] breaks.  Even though it makes the executable larger and slower, it would really just be for testing anyway.

I'm not sure how the NSpire handles 84+ emulation, but I've heard its not the greatest when it comes to things like this.
Mostly the undocumented z80 instructions will fail
Dream of Omnimaga

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: The Axe Pages
« Reply #84 on: April 28, 2010, 03:50:03 pm »
Quigibo, the On interrupt can be easily disabled with a write to a port.
Seeing the WikiTI documentation, I coded this routines. They are experimental, no test was made by me.

disableOnInterrupts:
 in a,(3)
 and %11111110   ; Bit 0: Set 1 to enable the ON key. Set 0 acknowledge the interrupt request and/or to disable it.
 out (3),a
 ret

defaultInterruptTIOS:
;For normal operation, write 0B (00001011) to this port. This will allow the first timer to generate interrupts, and the on key.
 ld a,$0B
 out (3),a
 ret
Hobbing in calculator projects.

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: The Axe Pages
« Reply #85 on: April 28, 2010, 04:43:08 pm »
Would it really make the code that much larger? It's probably on the order of ~100 bytes, if even, and it only needs set up; the code doesn't need stuff inserted w/in it.
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: The Axe Pages
« Reply #86 on: April 28, 2010, 05:01:43 pm »
Mhmm I seriously doubt this would increase the code size for executables that much. Maybe a bit for the APP but that doesn,t matter much.
Dream of Omnimaga

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: The Axe Pages
« Reply #87 on: April 28, 2010, 05:31:36 pm »
My code only disables the On interrupt and later restores it. I hope it works and stops the On slow down. The code does not install custom interrupts...

It is only 10 bytes. (the 2 ret's can be omitted if you run the code forwardly instead of using as a function call'ed)

In z80 assembly, the instructions (a instruction correspond to 1 line of source code, normally) take 1 to 4 bytes.

EDIT2: Oh, I got it. The On Break is really useful to prevent endless loops and a RAM Clear. That is a important feature in debug even if for 100 bytes because it is quite common to get in a endless loop.
« Last Edit: April 28, 2010, 05:38:51 pm by Galandros »
Hobbing in calculator projects.

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: The Axe Pages
« Reply #88 on: April 28, 2010, 05:33:15 pm »
Maybe a coupled hundred bytes then? But it still wouldn't be that large, and could be useful.
Do you like RAM resets? of course not. :)
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55941
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: The Axe Pages
« Reply #89 on: April 28, 2010, 05:35:29 pm »
Nah I hate them D:

I am used to grouping my stuff everytime befiore testing, it's not too long, but sometimes we forget or test in a hurry and them BAM! Endless loop/crashes x.x

I did that since the days I've been using xLIB, because I got crashes with it too
« Last Edit: April 28, 2010, 05:37:45 pm by DJ Omnimaga »
Dream of Omnimaga