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 - Hayleia

Pages: 1 ... 103 104 [105] 106 107 ... 239
1561
How would you go about allowing moving objects on the screen with the interrupt running?
There is ralphdspam's solution, but you can just also be sure that the drawing commands are always close enough to the erasing commands so that the interrupt "never" occurs between them.

For example, lets say that your program is 7 balls moving on the screen.
Don't do this:
Erase all screen
For(7)
 Calculate coordinates of ball
 Draw ball
End

In this case, the interrupt can occur before all the balls are drawn.
This would be better:
For(7)
 Erase ball
 Calculate new coordinates
 Draw ball
End


Now, at worst, there will be one ball missing on the screen, but that is only at one frame, it will be back at the next frame.
The best would be this:
For(7)
 Calculate new coordinates
 Erase ball
 Draw ball
End

There is almost absolutely no chance that the interrupt occurs between erase and draw ;)

1562
Other Calculators / Re: NSpire, or Prizm?
« on: March 20, 2013, 02:15:42 am »
Are there PDF readers for the nSpires?
Not really. There is nothing to reads a true pdf, but you can convert your pdf as an image and open it with mViewer (which has a zoom feature and all ;)).

1563
Necropost. :P

Quote
!If T++^10
Why don't you just do DS(T,10) ?
Because a tutorial is meant to be easy to understand, and once you understood the concepts, you can optimize yourself ;)

Anyway this method is awesome, but smooth scrolling a tilemap with 4 level gray looks crappy. I'll stick with three.
Thanks :)
But I don't think a smooth scrolling tilemapper looks that crappy with 4 levels, I do this in TinyCraft and I am not so disturbed. Or maybe this is because I am the coder and I am now used to seeing my greyscale tilemapper :P

1564
TI Z80 / Re: Pokemon Topaze (Axe)
« on: March 19, 2013, 11:47:54 am »
Ah, ok, I understand :)
Yeah, that would be pretty smart to reduce the size of the map without adding too much code (but adding a little more data :P)

you can use the same sprite twice instead of creating a new one.
Well, I already support several tiles in one sprite, but for now, it is because I have some "If X<Cst" commands. So yeah, your method is surely smarter and more optimized :P

1565
TI Z80 / Re: Pokemon Topaze (Axe)
« on: March 18, 2013, 01:44:18 pm »
Hayelia can you pm me the save state code you use for this project? If I use it you will get credit
Sorry, I somehow didn't see your post last time I checked. But what do you mean by "save state code" ? The organization of the appvar ?

Well restarting all in ASM would be quite hard o.o
Not as easy as doing it in Axe, but you could still ask for help (and asm isn't that hard, specially since we have awesome tools like spasm/Wabbitemu/TilEm/etc...). But it's as you want, I just wanted to show you that technically Pokémon Topaze could fit into 27ko or less :P
Well the fact is that I am too lazy to program Pokemon from scratch a third time (I did it once in Basic then once in Axe) :P

Another option for maps that gives you much more flexibility is using brushes. Each tile can take up the same size or you can create a table (i don't know how you'd do this in Axe):
.db 1,1,1,1,1,1
.db 1,1,0,1,1,1
.db 1,1,1,0,1,1
.db 1,2,2,2,1,1

.dw tile0addr
.dw tile1addr
.dw tile2addr

;first byte (.db) = list of actions:
;bit 0: passable
;bit 1: reduce random battle counter (things like grass or cave floors)
;bit 2: 2nd action (when you press 2nd some action pops up)
;bit 3: walking action (when you stop on a tile: doors, teleporters, etc)
;bit 4:
;bit 5: [whatever else you want]
;bit 6:
;bit 7:
;second byte = sprite number
;third byte+ (optional) = extra data (action number, text address, etc.)
tile0addr:
.db %00000001 ;not passable
.db 0
tile1addr:
.db %00000100 ;passable
.db 1
.db 0 ;we'll say action 0 = display some text
.dw text
tile2addr:
.db %00000010 ;passable, reduce random battle counter
.db 2

EDIT: This way you can also reuse tilesprites for many different tiles and give them different actions/properties.
All you said is possible in Axe since data is handled the exact same way in Axe than in ASM (pointers and all) but I didn't understand what you meant exactly.

1566
Other Calculators / Re: NSpire, or Prizm?
« on: March 18, 2013, 03:31:18 am »
Axe isn't native! It requires to have it on calc, or even requires some shell of some kind, unless you compile fo noshell (which is the way to go unless speed or memory is a main concern.).
???
Axe is a compiled language, so once compiled, any Axe program is an ASM program, in native language. And you absolutely don't need the Axe application to run compiled Axe programs, only programmers need the app to compile but launching the compiled product doesn't need Axe. And you don't need a shell if the program was compiled as an app or for NoShell (and this also applies for ASM programs, not only Axe programs).
And you said that compiling for NoShell is the way to go, but not necessarily. I'd say that compiling for Ion is better because the program could still be launched via the ASM command and it will also be displayed by MirageOS, so everyone will be able to launch it :)

1567
TI Z80 / Re: Vulcan's Labyrinth - A z80 Spiral Knights Clone
« on: March 18, 2013, 03:25:39 am »
Instead of a community project I could simply make it open-source but it will still be my project.
Yeah, that is a good idea. This way, people can contribute but we have something to blame if the project is discontinued :P there will always be at least one person working on the code :D

1568
General Calculator Help / Re: TI-84+ SE Menu
« on: March 18, 2013, 03:19:47 am »
Well then I don't know what is going on if you use 1.2.1a :(
Here is the attached compiled file (compiled for NoShell) if you want to try it.

1569
TI Z80 / Re: Pokemon Topaze (Axe)
« on: March 18, 2013, 03:14:09 am »
So what do you plan ? Making an asm version or improving the axe one (maybe later) ? :)
Well restarting all in ASM would be quite hard o.o
So for now, I recruited one person to optimize the Axe version :P (because remember that I was a complete noob when I coded this so there is a lot to optimize).

1570
General Calculator Help / Re: TI-84+ SE Menu
« on: March 17, 2013, 05:41:33 pm »
Then zStaxe is missing. But I don't know why "name length" instead of "invalid axiom" ???

1571
General Calculator Help / Re: TI-84+ SE Menu
« on: March 17, 2013, 05:39:11 pm »
???
Strange. Do you use Axe 1.2.1a ? Did you have all the three Axioms needed on your calc ?

1572
TI-Nspire / Re: z80 emulator for Nspire
« on: March 17, 2013, 04:53:36 pm »
Great :D
Of course not everything works, but I am sure that you won't stop there and that your emulator will become a lot better than TI's ;)
Also, does (or will) it support roms created by Wabbitemu (when on Wabbitemu we do "Save...") ?

1573
Other Calculators / Re: NSpire, or Prizm?
« on: March 17, 2013, 01:29:17 pm »
The Nspire requires a PC to program it in ASM/C and Lua so don't think about it.
Seems like you forgot about oclua ;)
Also, it is not forbidden to write a C compiler or an ASM compiler, or an another-language compiler (like Axe on the z80 series) on any of those calcs :P

1574
TI-Nspire / Re: gpSP-Nspire (GBA Emulator)
« on: March 17, 2013, 01:01:29 pm »
Feature request (already :P)
Could the browser be able to go up enough so we can see the hidden folder of HideManager (so we put all our roms in it) ?
Anybody who knows enough about these things will know how to escape a filesystem pit, and will probably only get lost on purpose to explore. :P
No, I think that gpsP's browser only displays .gba and .zip files, so you can't explore anything with that :P

What is wrong with just 2 emulators?
There is nothing wrong with that, I think it just because sometimes, people say "Why does the gba emu doesn't open my gbc rom ? Isn't the GBA meant to be compatible with the GBC ?". But iirc, the GBA could only play GBC games because there was a GBC processor too in the GBA (not really sure about that point).

1575
TI Z80 / Re: Pokemon Topaze (Axe)
« on: March 17, 2013, 12:54:48 pm »
I've finally done an encoder/decoder that works :P

So the final size is... 3726 bytes (66%) :D

I had to be sure this time (:P), so I've managed to create a program that generates an image of the decoded map, and here it is :

Spoiler For map:

There are some tiles messed up because of the way I ripped them, but the compression works.

Of course you'll need to know how you'll handle map in the hypothetical future versions of Pokémon Topaze, so this may not be helpful, at least immediatly.

Otherwise this could help programing a map editor on PC, just like the one I use for Pokémon Monochrome, or the one I've done for project "juego".

If you want to see how the encoder/decoder works : Pokémon Topaze RLE+7th bit encoded map.zip
Yeah, there are some messed up tiles (where are the doors ? :P) but it seems to work pretty well anyway :D
Great work !

Lolnope, I only have one PokeCenter. See the map in this post, you can see the only PokeCenter in the bottom left corner :P

So how do you handle returns ? You're saving the player coordinates somewhere I guess.
Yes, and this is why there was a bug sometimes that teleported you to a random place when you lose a battle instead of leading you to the last PokeCenter, I somehow erased the saved coordinates :P

Yeah, And I thought about something, there is no need to be several appvars in fact, just several maps in one appvar. This can be done easily if you know how much space takes every compressed map. Well yeah, that can do it :D

And if you don't want to stop the scroll when the player reach the limits (like I'm doing in my version), I think you can make a routine that outputs a black tile if the mapper is asking for a tile which out of the map (this way you wont need to have so much $19 :P).
Yeah, this or having the uncompressing routine add automatically the $19 in the uncompressed map ;)

Thank you for recommending I hack it! I'll get right on it! I immediately just decided to use calcsys to get by, but I love to spend some time hacking someone elses code! :)
Great :D
I was thinking about a program that would hack the savegame to change the values in the appvar and that would display what you are changing exactly. That way, you could have published it for other people. But if you manage it with CalcSys, why not ? :)

Pages: 1 ... 103 104 [105] 106 107 ... 239