Join us on Discord!
You can help CodeWalrus stay online by donating here.

Alien Breed 5 Episode III: Impact

Started by JamesV, December 21, 2015, 01:37:37 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JamesV

The TI-84+CE build now functions essentially the same as it's TI-83+/84+ counterpart (sans text). You can now play through a level collecting items, killing aliens, etc.

Next up I'll be splitting the level data out into appvars for the 84+CE build, as the program is currently sitting just shy of the 64KB limit.

Thanks to MateoConLechuga (and everyone who has assisted him) for CEmu, which I used to capture the below video :)


Dudeman313

  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


alexgt

Nice, I can't say how much I like the smooth scrolling. ANd those features sound Awesome!
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Dream of Omnimaga

Ouch about the 64 KB limit, but at least we don't have to deal with the 8 KB executable code limit anymore, plus moving levels and data outside the main program should help things out. :)

In the worst-case scenario where even then you got over 64 KB, does 84+CE C/ASM support  multiple sub-programs like in TI-BASIC so that you can launch code from a different program if it doesn't fit in the main executable? Also I'm glad to see the speed remain so good despite the large screen area used. :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Lionel Debroux

The flat, unbanked addressing space on the TI-eZ80 series makes it slightly easier to read data directly from archive.
AFAICT, the design of Mateo's loader, strongly derived from that of PreOS for the TI-68k/AMS platform, allows for more than 64 KB of executable code + embedded data.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

JamesV

From what I've gathered (which could be way off) the 64KB limit isn't an "executable" limit at all, it's simply the maximum size that an .8xp file can be (it still uses a 2 byte length on the calculator).

If a program required more than 64KB of code, it could fairly simply jump between multiple programs, or load code from an external file into a fixed location in RAM and execute it from there, etc. There are a few possible solutions :)

I shouldn't have that problem with AB5 though. I've now split the level data out and the main program file is back down to around 34KB.

alexgt

Awesome glad to hear it is back down ;)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

SiphonicSugar

Meep! Someone is going to have to explain that memory limit to me... :D
  • Calculators owned: TI-89, TI-84 Plus, TI-92, TI-84 Plus C SE, and TI-Nspire CAS with Touchpad
I'm just trying to grab some inspiration. :P

Dream of Omnimaga

Good to hear. I didn't realize how much of the program was data.

Quote from: SiphonicSugar on January 25, 2016, 04:30:04 AM
Meep! Someone is going to have to explain that memory limit to me... :D
I don't exactly remember, but on the TI-83+, Texas Instruments instated a limit on how much ASM code could be loaded to be executed during runtime. That limit was around 8 KB. The reason why TI added that limitation was to prevent people from porting paid flash applications into free 8xp executables. Back then, the app SDK costed money too, so I wouldn't be surprised if the limit was an attempt to make developers buy the SDK as well. Now that limit can be broken via some utilities or libraries.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

JamesV

A little bit more progress over the last week - I've started working on colour menu screens & text.


alexgt

  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Dudeman313

It's amazing! I actually wasn't sure what that thing was until I saw this. I'm definitely getting a CE! :walrii:
  • Calculators owned: TI-84 PCE
  • Consoles, mobile devices and vintage computers owned: Android O Phone
Does this qualify as a signature? 
The answer is "Sure."


Dream of Omnimaga

I love the title screen James :) How much space does it take?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

JamesV

Thanks!

The raw title screen data is 160x120 resolution 4bpp, so 9600 bytes, but it's compressed down to 2624 bytes. It's uncompressed to a spot in RAM and then drawn and scaled up x2 to vram.

Also the custom font is 288 bytes compressed, which is uncompressed when the program loads and readily available at all times. With the current font routine I've written, the font can be any colour, but only one colour font can be on screen at once. It wouldn't be hard to slightly modify this to have multiple colour fonts on screen at once though.

alexgt

Wow that font sounds really nice ;) keep up the great work :)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Powered by EzPortal