Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - calc84maniac

Pages: 1 ... 8 9 [10] 11 12 ... 197
136
The Axe Parser Project / Re: Features Wishlist
« on: February 27, 2013, 08:02:58 am »
Did everybody forget about Pt-Get? D:

137
Gaming Discussion / Re: Zelda discussion
« on: February 25, 2013, 03:29:24 pm »
I really need to try Ages/Seasons one day. Back in the late '90s and early 2000's I wasn't too fond of the idea of buying/supporting new Nintendo console games because at that time I felt that all they tried every sneaky way possible to grab money from us hardcore gamers by doing the following practices:

-Charging $79.99 for games instead of $59.99 like on the Playstation and Sega Dreamcast. It's not because of cartridges, because until late 2004 they did it on the GameCube too (sometimes you could get the console for cheaper).
-Requiring buying an extra $39.99 expansion pack to play most late Nintendo 64 games, as if $79.99 for a game wasn't enough
-Requiring purchasing an extra game in order to 100% a game (Most Pokémon games and Zelda OoA/OoS) and sometimes even an extra Game Boy Advance.

Of course now it isn't as bad so I don't really mind anymore.
I heard recently that it was confirmed Ages/Seasons are going to be on the 3DS eShop in the future, so that might be a good time to try them :D

138
Axe / Re: really big files and how to use them
« on: February 25, 2013, 01:47:39 pm »
I haven't really looked through the problem, but here's a little trick you can use to optimize your code a whole lot -

Code: [Select]
{L+0}->A
{L+1}->B
{L+2}->C
{L+3}->D
{L+5}->F
{L+6}->G
{L+7}->H
{L+8}->I
{L+9}->J
{L+10}->K
{L+11}->L
{L+12}->M
{L+13}->N
{L+18}->S
{L+19}->T
{L+14}->X
{L+15}->Y

can be replaced with

Code: [Select]
Copy(L,{E}9CFB,16)

where {E} is the EE key where your comma is on the keypad.
False. First of all, there are alphabetical gaps in those variable names. Secondly, variables are two bytes large and a Copy() won't skip every other byte. Lastly, it's very bad practice to use raw hex values as variable pointers, the ° operator exists for a reason.

139
News / Re: TI-84 Plus C Silver Edition text output performance test
« on: February 24, 2013, 06:07:49 pm »
What I am curious about, though, is how with Disp the 6 MHz 83+Fr managed to run as fast as the 84+SE in Classic mode? It looks like this model uses a different LCD driver, because I remember stuff like how on my TI-81 Disp was much faster than on my 83+
I thought the TI-83+.fr was really a TI-84+ in disguise, running OS 2.55MP? In that case, it would be running at 15MHz like any other TI-84+.

140
It would have to be a little more advanced than that, though, because of the status bar. Actually, if the LCD wasn't rotated 90 degrees, that might be possible, because the controller supports "Partial Image Display" that displays a certain part of the LCD RAM on a specified number of scanlines. But since our scanlines are vertical, that doesn't help very much.

141
So, I've been planning on releasing the TI-Boy beta on ticalc for a while now, but I think the readme could be improved for "the masses", so to speak. Any input on this is much appreciated :)

Here's my first draft for beta 0.2.04:
Code: [Select]
TI-Boy SE Beta 0.2.04
by calc84maniac (Outside The Box Programming)

Table of Contents:
* Disclaimer
* Overview
* New features in the Beta version
* Creating APPs
* Sending APPs
* Controls
* Frequently Asked Questions (READ THESE BEFORE ASKING YOURSELF)
* Credits
* Version History

Disclaimer:
  This is a beta piece of software (though a well-tested one). The creator is not held responsible for any damages caused. Use at your own risk!
  TI-Boy will temporarily replace part of the TI-OS, for greater speed and more available RAM. An automatic recovery feature is included in the case of a crash.
  Nonetheless, this program is not likely to permanently brick your calculator. The most damage it might cause is a RAM clear and/or an OS reinstall.

Overview:
  TI-Boy SE is a Game Boy emulator (no Game Boy Color support) for the TI-83+SE, TI-84+, and TI-84+SE calculators. Do not expect incredible compatibility.
  This was rewritten from scratch since the Alpha version, specifically to support newer TI-84+/TI-84+SE calculators (which have smaller RAM chips).
  TI-83+ and TI-Nspire are not supported, and never will be.

New features in the Beta version:
  * Works on all black-and-white TI-84+ models
  * Better game compatibility
  * Significantly faster CPU emulation
  * Has four zoom levels (100%, 75%, 60%, 50%)
  * More intuitive zooming controls (pressing Plus and Minus!)
  * Black-and-white zoom modes use dithering to increase visual quality
  * Supports 4-channel sound output
  * Recovers RAM data in the case of a crash

Creating APPs:
  Note: Any warnings given about pages beginning with FFh can be safely ignored, because TI-Boy patches the defragmentation glitch in the TI-OS.

  Method 1: Drag-and-drop
    Open the TI-Boy folder, then drag a Game Boy ROM file onto tiboy_makeapp.exe. A command-line window should open.
    If the ROM opened successfully, the program will request a name for the APP. Type it in and press Enter.
    Watch the console output for any compatibility warnings.
  Method 2: Run the EXE
    Open the tiboy_makeapp.exe directly. A command-line window should open and ask for a ROM filename. You may have to enter the entire filepath.
    If the ROM opened successfully, the program will request a name for the APP. Type it in and press Enter.
    Watch the console output for any compatibility warnings.
  Method 3: Command-line arguments
    Open a command-line window and navigate to the TI-Boy folder.
    Enter in the following format: tiboy_makeapp romfilename.gb AppName
    Watch the console output for any compatibility warnings.

Sending APPs:
  Use TI-Connect or other compatible linking software. Note: Not all TI-Boy APPs can fit on non-Silver Edition calculators (see FAQ).
  People have reported problems sending some APPs over Direct USB (a solution is being looked into). Sending over Silverlink seems to work, though.

Running TI-Boy:
  Open the APPs menu, and start the APP.
  It should display the loading screen. Do not remove a battery while this is loading, or you will have to reinstall the TI-OS.
  Then, start playing! (See controls below.)
  To quit, press the ON button. Quitting takes a few seconds as it restores the TI-OS. Again, do not remove a battery during this step.
  If the emulator freezes and pressing ON does not cause it to quit (which does work in most cases), feel free to remove a battery.
  TI-Boy will automatically restore the TI-OS and your previous RAM contents if this happens.

Controls:
  Arrows: Game Boy D-Pad
  2ND: Game Boy "A"
  ALPHA: Game Boy "B"
  MODE: Game Boy "START"
  XT0n: Game Boy "SELECT"
  ON: Game Boy power switch (exit the emulator)

  CLEAR: Teacher Key or Battery Saver (suspends emulation and turns off the screen)
  STAT: Toggle sound emulation (default is off). See FAQ for more information.
  * (Times): Increase LCD contrast
  / (Divide): Decrease LCD contrast
  + (Plus): Zoom in
  - (Minus): Zoom out
  Numpad: Move view
  F2,F3,F4 (WINDOW,ZOOM,TRACE): Light,Normal,Dark monochrome modes (smooth zoom)
  F5 (GRAPH): Grayscale mode (rough zoom)
  . (Decimal): Follow next sprite in the internal list (selected sprite will flash for a few frames)
  5: Center view on selected sprite
  0: Turn off sprite follower
  (-): Set frameskip (hold the negation key and press a number 0-9 to set the value)

Frequently Asked Questions:
  Q. Sound emulation? What's up with that?
  A. When sound emulation is turned on, TI-Boy will to the best of its ability emulate the Game Boy sound hardware and output sound waves to the I/O data port.
     However, this comes at a performance cost. There are 4 channels that are emulated, and 2 are outputted to each ear. There is no volume control.

  Q. How do I listen to the sound?
  A. You will need a 2.5mm-male to 3.5mm-female adapter to plug in standard headphones/speakers to the I/O data port.
     It is recommended that you plug in the headphones after starting TI-Boy (because the homescreen responds very slowly when headphones are plugged in).

  Q. How big are the APPs?
  A. Generally, take the size of the ROM and add 16KB (16384 bytes). Sometimes you might get lucky and have a smaller APP if there is a lot of empty space in the ROM.
     Pay attention to the size displayed when tiboy_makeapp.exe finishes.

  Q. Will xxxx ROM fit on my calculator?
  A. If you have a Silver Edition, ROMs up to 1MB (1024KB) in size will fit. If you have a normal TI-84+, ROMs up to 256KB in size will fit.
     Make sure to delete useless APPs from your calculator if needed.

  Q. So the compatibility issues with newer calculators are fixed?
  A. Mostly. There is still not enough RAM to emulate cartridges which use 32KB RAM, added to all the RAM in the Game Boy itself.
     Thankfully, such cartridges are few and far between. Also, such games that do not use all of that RAM, such as Pokemon Red/Blue/Yellow, can run with no issues.

  Q. Which calculators have a large enough RAM chip for this RAM-hogging game I want to play?
  A. All TI-83+SE calculators have the larger RAM chips. TI-84+SE calculators have larger RAM chips if they were manufactured before around April 2007.
     To be more specific, check the back of your calculator. The last part of the serial number should be in the format X-MMYYR,
     where MM is the month, YY is the year, and R is the revision. For example, S-0207G means manufactured in February 2007 with revision G.
     Revisions G and earlier have the larger RAM chips, and revisions H and later have the smaller RAM chips.
     If the revision letter is missing, that means it is before revision A (and should work).

  Q. What exactly does TI-Boy do to my calculator when it runs? Why the warnings?
  A. TI-Boy needs part of the Flash (Archive) memory which is taken by the TI-OS. So, it backs up this section of the OS and puts its own data there.
     Also, this is where your RAM is backed up in the case of a crash. When TI-Boy exits, the OS is put completely back to normal.
     There are two reasons for doing this:
     1) The emulator becomes quite a bit faster and simpler if GameBoy data can be in the space normally taken by the OS.
     2) Having control of this memory space allows automatic recovery in the case of a crash.

  Q. Does tiboy_makeapp convert Game Boy ROMs into native TI code?
  A. No. The ROM is slightly rearranged to fit into an APP and bundled with the emulator code. Converting to native TI code is infeasible for many reasons.

  Q. My calculator died! It's all your fault!
  A. Don't panic! To send a new OS, hold DEL while inserting a battery to bring up the Send OS screen.
     And make sure to report the bug, because we don't want this sort of thing to happen, now do we? ;)

  Q. Where is xxxx feature?
  A. Be patient, there's a reason this is a beta. I'll probably get around to it (as long as it's within reason).

  Q. xxxx ROM doesn't work!
  A. Sorry, but specific game compatibility is at the bottom of my to-do list at the moment.

  Q. how do i tern on my caclulater
  A. ...

Credits:
  calc84maniac for coding/design
  thepenguin77 for clean flash unlock hack
  FloppusMaximus for Rabbitsign (app signer). Source code can be found at http://www.ticalc.org/archives/files/fileinfo/383/38392.html
  Omnimaga for all the awesome community support

Version History:
  Beta 0.2.04:
    * First official beta release on ticalc.
    * makeapp.exe updates:
      - Name changed to tiboy_makeapp.exe.
      - Compiled against librabbitsign, so it no longer requires a separate rabbitsign executable.
      - As a result, the program no longer calls the system() function which was making some users' antivirus software very angry.
      - The tiboy.bin file is also now baked into the executable.
  Beta 0.2.03:
    * Rearranged code and data to allow using 16KB of cartridge RAM on all calculators. This means that Pokemon Red/Blue/Yellow can be run on all calculators!
    * Games that have 32KB of cartridge RAM but only use the first 8KB, 16KB, or 24KB will now only save to 1, 2, or 3 appvars respectively.
    * Fixed a waitloop detection error, speeding up parts of some games like Kirby's Dream Land.
  Beta 0.2.02:
    * The STAT behavior is fixed for real, cycling through all 3 modes within each scanline.
  Beta 0.2.01:
    * Timer emulation is more accurate relative to emulation speed, fixes Super Mario Land freezing.
    * More STAT compatibility. Now it cycles through all 3 modes.
  Beta 0.2.00:
    * Rearranged some code/data, allowing TI-84 Pocket.fr compatibility and freeing some RAM.
    * Reimplemented waitloop detection, which should eat much less CPU time per frame now.
    * Rendering tricks are more reliably detected, fixing graphics in parts of some games.
    * Emulator control keys are checked more often, improving responsiveness. Also, sprite tracking selection improved.
    * Added custom frameskip settings.
    * GPU speed is more accurate when sound is enabled, speeding up parts of some games.
    * Timer emulation is more accurate, fixes music in Super Mario Land among other things.
    * Extremely high-pitched sounds are changed to a slightly lower pitch, which should prevent freezes.
    * Bit 1 of STAT is now toggled at every scanline from 0 to 143, which fixes some games.
    * makeapp.exe updates:
      - Allow manual special character entry in app names, by typing \XY (XY is a hexadecimal character value)
  Beta 0.1.07:
    * Fixed some small bugs introduced in Beta 0.1.06.
  Beta 0.1.06:
    * Added support for 4-channel sound.
  Beta 0.1.05:
    * Added some support for low-priority sprites, i.e. sprites can be displayed behind the background tilemap. Fixes quite a few graphical glitches!
    * Fixed a cartridge RAM mapping glitch, which fixes compatibility with TI-Boy Alpha 4-appvar saves. Breaks compatibility with TI-Boy Beta 4-appvar saves.
  Beta 0.1.04:
    * Added timer check in RET opcodes, which significantly increases framerate in Pokemon textboxes.
  Beta 0.1.03:
    * Added light and dark monochrome palettes
    * Reincluded the defragmentation OS glitch patch so APPs won't get corrupted if pages start with 0xFF.
    * makeapp.exe updates:
      - Internal appnames are padded with spaces instead of null bytes for better linking software compatibility.
      - Trailing pages filled with 0x00 or 0xFF bytes are now removed from ROMs. This saves a lot of space in certain ROMs (e.g. saves 304KB in Pokemon Red).
  Beta 0.1.02:
    * Save files are archived upon exit.
    * Fixed glitch in which only the first 8KB is loaded from a 32KB save.
    * Fixed very bad glitch in 32KB saving caused by bcall(_DelVarArc) trashing (OP1).
    * Pressing Select no longer causes a false press of B on some calculators.
    * makeapp.exe updates:
      - Output app is now always placed in the same folder as the exe.
      - APPs which have 32KB saves now have a maximum of 7 characters in their names (because the save data goes into 4 separate appvars which need unique names)
  Beta 0.1.01:
    * TI-Boy no longer makes a resident patch to the OS (so the OS stays valid and there are no conflicts with other patches).
    * Flash writing is now done in 6MHz mode so it works on slower flash chips.
    * makeapp.exe updates:
      - Spaces in ROM filename now handled correctly when program is run with no arguments.
      - Searches for tiboy.bin and rabbitsign in the same folder as the exe.
      - Displays number of pages in generated APP.
  Beta 0.1.00:
    * First public beta (on omnimaga.org)

142
News / Re: KermM and critor Run First 3rd Party Code on TI-84+CSE
« on: February 20, 2013, 02:25:09 am »
Yes, like that, DJ, but keep in mind it will never be more than 1 pixel behind. That GIF is very exaggerated. Broadcast television is interlaced.
Depends on the framerate we get, though.

143
News / Re: KermM and critor Run First 3rd Party Code on TI-84+CSE
« on: February 19, 2013, 01:38:50 pm »
The LCD controller seems to support a horizontal scroll mode, much like the vertical Z-addressing on the old LCD controller. This seems like it could be incredibly useful for sidescrollers, to use a method much like DJ_O mentioned (shifting and drawing only over the columns shifted in). There doesn't seem to be an equivalent for vertical scrolling though, so 8-directional scrollers won't really benefit (unless they use a method like Super Mario Bros 2 USA where the game pauses for a moment while scrolling the entire screen up/down by a certain amount).

144
I bet the OS stores a (probably compressed to 8-bit color) copy of the graph screen into the extra RAM, because when drawing to the graph screen, it remembers what you put there after switching to a different screen.
(Special thanks to critor and KermM for these pictures.)
Not 4-bit? You can only draw with 15 colors, you know.

145
Other Calculators / Re: TI-84 Plus C Silver Edition hardware test
« on: February 18, 2013, 02:24:15 pm »
Nope, "normal rate" there is about 6.3MHz.

146
Wait, since when did we assume background images were 256 colors? I thought we decided they were 16-bit color.

147
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!
« on: February 15, 2013, 11:18:31 pm »
I'm not so sure that would work, because there's a possible case where you could be running code from an app and finding the Nth string in a large appvar in RAM, for example (which could be more than 16KB in size).

148
Well I was more refering to how high res images might not be possible, and that we might have to forget title screens like I posted above.

On the other hand, if we can still StorePic what we're drawing on the graph screen using the 16 colors, then that might possibly be a good alternative. On the PRIZM we can make 8-color images that way (although it's hard to draw anything compared to a 83+) and those images are much smaller in size.
I can't make any firm conclusions for that, but I feel fairly certain that Pic files will be 4-bit (15 colors and 1 transparent/white), which at 4x the resolution of Image files would come out to about the same size of 22KB (and obviously must be stored in archive as well).

149
That is sad IMHO if the images can't be more than 133x83, yet are this large. On the PRIZM you had 56-60 KB large images that were 384x216 and 16 bits colors.

If this is the case, then this pretty much end all BASIC coders hopes to use images for game graphics. :(
Well, if they're streaming the background image directly from archive like I think they are (they can't even be sent to RAM), any sort of compression would make graph screen operations incredibly slow, and we don't want that. And since they're in archive, I don't think there's much reason you shouldn't use them (too bad there are only 10 slots available though).

150
I also just checked the webinar again and I found something very telling, which managed to pop up only because the guy happened to have an Image file selected when he switched to Windows Explorer:



We can tell a couple of things from this screenshot:
1) 8CA is the file format (and isn't associated with TI-Connect yet, lol lazy developers)
2) Filesize is around 22000 bytes, which means it's likely 133x83 pixels in 16-bit color (which is would be 22078 bytes of raw data). The guy misquoted the graph screen resolution as 133x83 earlier in the presentation, but I think he was accidentally quoting the background image size instead. 133x83 is half of the actual graph screen resolution of 265x165, rounded up, which makes sense because the background image pixels look doubled.

Pages: 1 ... 8 9 [10] 11 12 ... 197