Author Topic: Crabcake  (Read 18408 times)

0 Members and 3 Guests are viewing this topic.

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Crabcake
« on: April 29, 2011, 09:48:48 pm »
I'm not ready to put this in "Our Projects" because I'll still trying to get over the shock of today.  I had something else besides a stolen laptop that put pressure in my day, so things got from bad to worse.

But now, I'm ready to tell what Crabcake will do, in case people have questions or suggestions:

Spoiler For Spoiler:
You can develop ASM programs that can be larger than 8 KB--up to 24 KB if you want!  And we're talking 24 KB of code, not just data.  Your calculator will not lock up, and you will need only 300 bytes of free space for running the program

You will need to read the 2-page instruction manual, and you will have to have crabcake.inc in your program.  In addition, a program that is meant to be more than 8 KBs will require a small "parent" program to get it ready.
« Last Edit: April 29, 2011, 09:52:34 pm by Hot_Dog »

Offline apcalc

  • The Game
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1393
  • Rating: +120/-2
  • VGhlIEdhbWUh (Base 64 :))
    • View Profile
Re: Crabcake
« Reply #1 on: April 29, 2011, 09:51:16 pm »
Sounds very nice!

Good luck with this project! :)


Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: Crabcake
« Reply #2 on: April 29, 2011, 09:53:41 pm »
good luck!
Sig wipe!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Crabcake
« Reply #3 on: April 29, 2011, 10:34:25 pm »
Hmm interesting, it would be nice if you made it easy to run or create such programs. How would it work, by the way? Also would it work with Axe too?

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Crabcake
« Reply #4 on: April 29, 2011, 10:37:19 pm »
Hmm interesting, it would be nice if you made it easy to run or create such programs. How would it work, by the way? Also would it work with Axe too?

Someone would need to make it Axe-capable, but it wouldn't be hard to do so.

Here's how it works:  The Ti-83+ RAM is, by default, at the end of the memory that the Ti-83+ looks at.  Crabcake moves this ram to the MIDDLE of the memory.  That way, the processor never moves past the spot at the end that locks down the calculator.

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Crabcake
« Reply #5 on: April 29, 2011, 10:51:58 pm »
I think you are misunderstanding how the so-called "8KB limit" works :/
To my knowledge, it is _not_ PC being >=$C000 that causes this problem, it's that you're running code on a so-called "protected page".
On the plain 83+, for example, the page typically in the $C000-$FFFF range is RAM Page 0 ($40). If you go and, say, output $40 to port $06 and then try to run code at $4000<=PC<$8000, the calculator will reset.
Admittedly, this idea could work, but never on the plain 83+. The 16KiB of executable RAM it has is simply too little. (Not to mention the OS needs it)
Sorry to be such a downer :(
Note: there remains the small possibility that it could work on the 83+ by "unprotecting" RAM Page 0, as the table at http://wikiti.brandonw.net/index.php?title=83Plus:Ports:05 seems to imply. However, I've never been able to convince anyone to test this, and it requires unlocking flash.
"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 Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Crabcake
« Reply #6 on: April 29, 2011, 11:17:08 pm »
I think you are misunderstanding how the so-called "8KB limit" works :/
To my knowledge, it is _not_ PC being >=$C000 that causes this problem, it's that you're running code on a so-called "protected page".
On the plain 83+, for example, the page typically in the $C000-$FFFF range is RAM Page 0 ($40). If you go and, say, output $40 to port $06 and then try to run code at $4000<=PC<$8000, the calculator will reset.
Admittedly, this idea could work, but never on the plain 83+. The 16KiB of executable RAM it has is simply too little. (Not to mention the OS needs it)
Sorry to be such a downer :(

0_0

Alrighty, how many other people knew this?

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Crabcake
« Reply #7 on: April 29, 2011, 11:25:23 pm »
Project crabcake sounds like a great idea!  I'm sure you will find a way to make it happen.  :D
ld a, 0
ld a, a

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Crabcake
« Reply #8 on: April 29, 2011, 11:37:09 pm »
Well it won't happen for BE, but I will continue this for Ti-83+ Silver edition and Ti-84+.  Many games these games can't use BE, but it still upsets me that I can't do it for BE :(

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Crabcake
« Reply #9 on: April 29, 2011, 11:42:39 pm »
I hope you make it anyway for the SE. It sucks that it won't be BE compatible if you use the extra RAM page, but some people might be making CPU-intensive games like a 8 level grayscale 3D polygon engine or a full port of Crysis II that just won't be enjoyable on a 6 MHz calculator and that might be useful for them.

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Crabcake
« Reply #10 on: April 29, 2011, 11:44:15 pm »
I hope you make it anyway for the SE. It sucks that it won't be BE compatible if you use the extra RAM page, but some people might be making CPU-intensive games like a 8 level grayscale 3D polygon engine or a full port of Crysis II that just won't be enjoyable on a 6 MHz calculator and that might be useful for them.

Sure, I'll make it for the SE and Ti-84+.  And you actually have a point, about 6 vs 15 Mhz.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Crabcake
« Reply #11 on: April 29, 2011, 11:50:21 pm »
Yeah, not that I encourage everyone to make their game 15-MHz only, but when it's necessary I think it's OK. Just as long as people try to do an effort to optimize their games for 83+ models first *refers to the wave of unoptimized BASIC games that came out on ticalc.org shortly after the TI-84+ got popular a few years ago*

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Crabcake
« Reply #12 on: April 30, 2011, 12:17:14 am »
Nice to see you're going ahead with this :)
I'll be interested to see how you'll manage to pull this off. Will programmers be able to use OS routines, even if not directly by bcall?
"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 Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Crabcake
« Reply #13 on: April 30, 2011, 12:22:01 am »
As far as I know, OS routines without bcalls are a go.  Unless the user tries on purpose to goof up the system, of course :P

Offline Hot_Dog

  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3006
  • Rating: +445/-10
    • View Profile
Re: Crabcake
« Reply #14 on: May 01, 2011, 11:52:41 pm »
The 83+ SE / 84+ part of the project is about halfway done (aside from testing).  It is possible that I can get Crabcake to work with regular 83+s as well, but in the meantime, this is progressing nicely.