Omnimaga
Calculator Community => Other Calc-Related Projects and Ideas => TI-Nspire => Topic started by: calc84maniac on November 30, 2009, 02:37:13 pm
-
Since Goplat released the beta of his TI-Nspire emulator (as featured on ticalc), I decided I could start writing some code to eventually run on the TI-Nspire once it gets cracked. So, I've started a Game Boy emulator (again) :)
Not much runs at the moment - Link's Awakening in particular has some major issues (probably related to some mistake I made in the cpu emulation). Only the background tilemap is supported so far - no sprites or window.
(http://otbp.tifreakware.net/images/tetris2.png)
Probably the next thing to do would be to get sprites working.
-
That is so awesome, I am curious if it will be easy to modify the code so it runs on future TI-Nspire OSes instead of just on emulator by replacing the Nspire emu boot code?
I can't wait to see more progress on this and possibly (calcalture animated) screenshots
-
nooooooooooooooooooooooooooooo
D:
I want F-Zero ;.;
:P
-
Looks nice. Will it be the same as on the 83/84s or will there be more features?
-
Looks nice. Will it be the same as on the 83/84s or will there be more features?
Hopefully it won't need as many "features" (such as zooming and sprite tracking) since it all fits in the screen. But, it will hopefully have better compatibility and full speed. Also, it could eventually support Game Boy Color, minus the color.
Edit: Oh, and I just realized that I have light-gray and dark-gray mixed up in that screenshot. I have that fixed now :)
-
*Builderboy explodes again*
That is constructed from pure awesomness!!! How is it coding for the nSpire? Like, its still with asm, but how do you compile to hex code if it isn't a z80 chip? Or is it not asm, and some kind of C compiler?
-
*Builderboy explodes again*
That is constructed from pure awesomness!!! How is it coding for the nSpire? Like, its still with asm, but how do you compile to hex code if it isn't a z80 chip? Or is it not asm, and some kind of C compiler?
There are C compilers for ARM, but I haven't really bothered messing with them. This was coded in ARM assembly language (which does go to hex code - each opcode happens to be four bytes large). I'm still a little new to this language though.
-
/me wants an Nspire when this works :D
-
*ztrumpet agrees with nf...*
-
Added sprites. It's looking quite nice :)
(http://otbp.tifreakware.net/images/kirby.png)
Still no window support, which is why the bottom of the screen doesn't have the status bar.
Edit:
CalcCapture doesn't like me. Or, at least, it doesn't like that the graphics window can't be in focus for me to press any keys. So it doesn't look like we'll be getting any gameplay animations. On the other hand, I recorded a bit of the Kirby title screen :)
(http://otbp.tifreakware.net/images/kirby.gif)
-
Wow that looks really awesome! You are a genius!
-
Got Link's Awakening working after fixing 20 or so broken opcodes (some of these were unrelated to the problem, but hey, it all counts right?)
-
Nice :D
Now let's hope TI won't shit on us with a new TI-Nspire hardware like they did with the TI-84+ in mid 2007
-
Obligatory screenshot:
(http://otbp.tifreakware.net/images/zeldanspire.gif)
Note that there are some graphical glitches in the second half. These were in TI-Boy too. But hopefully I'll get them fixed this time around! :)
-
Nice!
-
How fast does the games run???
is the screenshot at the right speed or slower??
-
Well then... I'm speechless... looks like I will just have to invest some money into getting a TI-NSpire :P
-
How fast does the games run???
is the screenshot at the right speed or slower??
I tried to get it at around the same speed - but who knows how fast the Nspire emulator runs at this point. I'm not going to make any assumptions about speed until I see it on hardware.
Edit:
Actually, I was able to get the Nspire emulator running in translated mode now since I changed a certain part of my code, and it runs... really fast. I don't think there should be any worries :)
-
Awesome! I wonder if it would be easy to make emulators for other systems, too? (Altough the lack of colors might make some graphics a lil hard to see in some games)
Of course for now I would focus on both TI-Boy SE and the TI-Nspire GB emulator, though :P
-
Well, I've added support for the window tilemap (so status bars and menus work now), and sprite/tilemap priority (so Mario's sprite goes behind the pipe rather than in front of it, for example).
And also, I've begun support for the special lcd effects, which is something that TI-Boy could not do:
(http://otbp.tifreakware.net/images/galaga.gif)
-
Wow awesome.
I am wondering, would it be possible in TI-Boy SE too? Or is it simply just beyond the hardware limitations?
-
Wow awesome.
I am wondering, would it be possible in TI-Boy SE too? Or is it simply just beyond the hardware limitations?
Hmm... I'd say no. Drawing anything more complicated than a simple tilemap would probably be too taxing. (I would have to keep looking up the same tiles over and over, and it would just get messy)
-
Omg D:
If more programs will be made for it, Nspire is going to be the primary calc? D:
altho for non advanced programmers it's probably less hard to make something decent at a 84+
-
Wow awesome.
I am wondering, would it be possible in TI-Boy SE too? Or is it simply just beyond the hardware limitations?
Hmm... I'd say no. Drawing anything more complicated than a simple tilemap would probably be too taxing. (I would have to keep looking up the same tiles over and over, and it would just get messy)
Aah ok I see then, too bad :(. Oh well, the emu is still awesome as it is now anyway :P
-
Yeah this emu looks amazing. Back in high school I was actually part of a testing team in my Statistics class. I so wish there was something like this around when we were testing it out for a month. Then again, Nspire wasn't even out then...
-
Oh, and the lcd special effects also fixed the second half of the Zelda cutscene:
(http://otbp.tifreakware.net/images/zeldanspire2.gif)
-
At school, almost nobody cared about calcs or their interest towards them was very short lived. Some people played my old games for a while and that's about it. They were done with calc gaming a few months later. Even if they had more interest, the TI-Nspire was not even out back then either, plus, even the 84+ wasn't out yet when I was still in hi school.
@Calc84maniac, cool to see you fixed them :)
Btw, on the screenshooting topic, I hope Goplat releases a workaround to make screenshots of gameplay :) (altough if you can find an AVI to GIF convertor and use CamStudio to do animated screenshots this should do the trick too)
-
There are 2 kids in the entire school that has n-spire. they have no idea how to work that thing, so usually they change into 84+ keypad to do their math.
Also, I wouldn't like to own n-spire since they are horrible at programming. Unless someone makes new OS that will completely change that and allows BASIC program to be awesome, with its native grayscale and huge screen
-
I know it is really good for math tho, my friend bwang wrote an entire symbolic manipulation engine that would do things like integrate and derive and expand indefinitely. It was pretty cool, and all writen in basic. Its to bad nSpire doesn't support any kind of loops :(
-
No loops...
That dosn't sound like it's easy to program.
-
I do believe it supports full recursion though, which has got to be a plus. But i din't think you have global variables either D: But i've just kinda ranting now as i don't actually own one, I'm just trying to remember what he told me :)
-
Plus it doesn't have Input
-
Right, although you can make functions, which you can pass arguments to. This might be the same with programs too, but i don't remember
-
Hmm, functions could be fun...
How easy are they to work with?
-
Well the issue with functions is how to you have the user input something before program continues running? From what I heard, when making a game, the user has to manually run sub programs himself
-
Surprise! :D
(http://otbp.tifreakware.net/images/pokemonred.gif)
-
Sweet!
That looks so cool.
-
wow look so great ^^
Btw did you try the camstudio trick to screenshot? You could convert to wmv file afterward and while files would be bigger you would at least have animated screenshots of gameplay :)
-
No, I haven't tried anything but CalcCapture yet.
(http://otbp.tifreakware.net/images/pokemonyellow.gif)
-
and so the NspireBoy is born....*starts saving up money*
:O
-
calc84! There are only so many times that I am able to explode with awesomness! I don't have that many left in me!! ;D
-
I think my circuits are about to overload from all the awesomeness!
-
OMG! That's awesome!
I was just wondering, how well does it fit the N-Spire screen? Is it stretched? Or is just the right size?
And will this work on both versions of the N-Spire?
And while we wait for the N-Spire to be hacked, do you think it would be hard to make the TI-Boy work on it's 84+ emu?
EDIT: And yes, I am finally back on the forums, after successfuly adapting to my new lifestyle due to the fact that I'm now in "prépa" (I think that this corresponds to the American "college"...)!
-
Yay! Your back!
Hmm, I think it just fits the screen normally at normal resolution
-
Nah, he stretches it, altough I am fairly sure he also has a original resolution mode. The GB res is smaller than the Nspire.
And glad to see you're back Zagor
-
Well, the Nspire resolution is twice as wide as the GB resolution, and almost twice as tall. I don't think you'll ever want to use original res, since that could hurt your eyes. :P Currently my graphics drawing always doubles the pixels horizontally, and I don't see that changing - but the vertical scaling is very changeable.
-
didn't original GB's hurt your eyes anyways :P
EDIT:
TI Nspire resolution: 240x320 pixels
NES resolution: 256x240 pixels
so that wouldn't look to bad when there were like 2 black borders or something of about 40 pixels each under and above the screen
-
True, I think the original GB res and screen size was pretty fine. The only bad thing is when the newer GB versions came out, I think it was darker and it went worse as colors were added (until they added backlight to the GBA)
-
yeah, sometimes you had to take weird positions to see anything happening on your gbc x.x
-
Yeah, that was especially noticeable with the Lord of the Rings: all backgrounds were dark, as well as the characters. You hardly saw anything at all.
-
didn't original GB's hurt your eyes anyways :P
EDIT:
TI Nspire resolution: 240x320 pixels
NES resolution: 256x240 pixels
so that wouldn't look to bad when there were like 2 black borders or something of about 40 pixels each under and above the screen
You've got it bassackwords, the Nspire's resolution is 320x240 :)
and for the NES on NTSC (North American) titles only 256x224 resolution was used.
Oh, and just for comparison sake, the Nintendo DS's resolution is 256x192 per screen.
Oh, and Hiya anyone who remembers me! =)
-
didn't original GB's hurt your eyes anyways :P
EDIT:
TI Nspire resolution: 240x320 pixels
NES resolution: 256x240 pixels
so that wouldn't look to bad when there were like 2 black borders or something of about 40 pixels each under and above the screen
You've got it bassackwords, the Nspire's resolution is 320x240 :)
and for the NES on NTSC (North American) titles only 256x224 resolution was used.
Oh, and just for comparison sake, the Nintendo DS's resolution is 256x192 per screen.
Oh, and Hiya anyone who remembers me! =)
whoops, thanks, dunno where I read the nes thing but I'm pretty sure they said 240 there
if it were true that would be a nice fit D:
-
That's odd, because I always considered the GBC as having the best, highest contrast of all non-backlit LCDs I know. To me it seemed like the old monochrome GBs had such hard-to-see, blurry screens by comparison.
-
Wow haven't seen you in a while Art Of Camelot. Where did you go? :( You kinda vanished completly :(
IIRC, I looked at a GBC once and it seemed to have a good display. GB display seemed a bit hard to see indeed. GBA was by far the worst, though. I am glad they released the GBA SP afterward
-
Actually, GBC display was good, it was the GBA that was hard to see.
-
I know it is really good for math tho, my friend bwang wrote an entire symbolic manipulation engine that would do things like integrate and derive and expand indefinitely. It was pretty cool, and all writen in basic. Its to bad nSpire doesn't support any kind of loops :(
The Nspire does have for/while/repeat loops. It just has no I/O other than Disp and no graphics commands at all.
-
Not impressive as always because the Nspire has much better hardware. Kidding, you coded that even before there is documentation and an exploit of the Nspire, impressive!
What about change the code later to work as a 3rd party emulator of z80 calculators? :P
-
IIRC, I looked at a GBC once and it seemed to have a good display. GB display seemed a bit hard to see indeed. GBA was by far the worst, though. I am glad they released the GBA SP afterward
Actually, GBC display was good, it was the GBA that was hard to see.
Ah, okay. I don't remember the old GBA that clearly (my brother had one, but I never got into it), but it did seem to have somewhat poorer contrast than GBC. And it did seem that some GBA games had excessively dark backgrounds sometimes.
-
yeah it was really incredibly mega dark. Unless you were directly under sun light, it was near impossible to see.
-
This brings me good memories.
GBC was hard to see outside with sun light.
About my GB pocket it was just when it is too dark but that is normal. :P
-
The first GB seemed lighter than the GB Pocket.
Personally it's not an issue for me since I have the Gameboy Player for the Nintendo Gamecube, so I can play GB games on my GC on the big TV screen, like Metroid II :D
-
I just use emulators to play all consoles I want in my laptop. ;D
But GB and GBC on a Nspire would be great too.
I can advice you the emulators for GB,GBC,GBA, NDS, Atari and Mega Drive aka Genesis.
-
I know some, actually, except for DS. For DS I know No$GBA but it doesn't work, it just break my windows install and I have to reformat my PC a few weeks later.
-
I know some, actually, except for DS. For DS I know No$GBA but it doesn't work, it just break my windows install and I have to reformat my PC a few weeks later.
Desmume has already passed NO$GBA in many graphics bugs and is getting close to its speed. (play around with max frame skip to 1 or 2 and limit or not frame rate, it depends on the game)
Also it is better for gaming because of save games, save states, allow to play zipped games (NDS games are huge!) and overall configuration is easier to get used.
It can also film your games and print screens are easier than NO$GBA. ^^
Some say strange damages of NO$GBA on pc like problems with graphics card but on mine, hopefully there wasn't any problem that seems related to NO$GBA. I don't know any weirdness about Desmume.
PS: now you can even import No$gba savegames and others save formats. Other emulator is ideas but it doesn't seem a great emulator but some use it in certain games.
-
Nice, I guess I will give it a try
-
I've begun Game Boy Color support - however, there are still a ton of glitches. But at least this scene looks nice:
(http://otbp.tifreakware.net/images/oracles.png)
-
Wow! What game is that?
-
Wow! What game is that?
Legend of Zelda: Oracle of Ages
-
Wow! GBC games! Calc84, you are truly awesome!
That screenshot looks really nice too.
-
That looks awesome. :o
Colors into 16-level gray fits quite well.
-
Colors into 16-level gray fits quite well.
Does the Nspire already have 16 level grayscale, or will he have to make it?
-
Colors into 16-level gray fits quite well.
Does the Nspire already have 16 level grayscale, or will he have to make it?
The lcd comes with 16-levels of gray. Do you think TI would implement itself grayscale in software?
-
Colors into 16-level gray fits quite well.
Does the Nspire already have 16 level grayscale, or will he have to make it?
The lcd comes with 16-levels of gray. Do you think TI would implement itself grayscale in software?
So he must control the lcd just right? That sounds easier than 8 level on and 83. :0
-
Colors into 16-level gray fits quite well.
Does the Nspire already have 16 level grayscale, or will he have to make it?
The lcd comes with 16-levels of gray. Do you think TI would implement itself grayscale in software?
So he must control the lcd just right? That sounds easier than 8 level on and 83. :0
The lcd takes care of doing good grayscale.
It should be much easier than 83. (and 16 level in 83 is pure craziness)
-
NICE WORK! D:
Really, good job calc84 O:
-
Animated shot here (http://otbp.tifreakware.net/images/zelda-ooa.gif) (linked because it's about 5MB)
Firefox recommended for fullspeed, since I actually got it over 10fps this time using camstudio
-
(http://i199.photobucket.com/albums/aa72/builderboy2005/Image0.png?t=1260232145)
I warned you Calc84, but you didn't listen, now see what you did to my brain?!
-
Looks nice! How is the color pallet being handled?
-
Well, the current method (which is certainly subject to change) is this: Each of the red, green, and blue components have a value from 0-31. So I take int( 1/8*R + 3/16*G + 3/16*B ) and use that as the grayscale value.
Edit:
Super Mario Bros Deluxe (http://otbp.tifreakware.net/images/smbdeluxe.gif)
-
Any reason you are using 16ths and 8ths instead of just 1/6th for all?
-
Any reason you are using 16ths and 8ths instead of just 1/6th for all?
Because that would require division. Eww.
-
:P Or you could just multiply by .1666 and call it good XD. I assume you are doing somthing similar to that with 3/16 = .1875?
-
:P Or you could just multiply by .1666 and call it good XD. I assume you are doing somthing similar to that with 3/16 = .1875?
Nah, I can divide by 8 or 16 by shifting right 3 or 4 bits.
-
Ohhhhh i see now. Well, it seems to work pretty good!! I think i may have to stop reading this thread for a while for the better of my health :P
-
darn that's fucking awesome. Some still screenshots (and links to your own but hosted on Omni) will make front page soon in their own news
-
Nice work!
Edit:
Actually, I was able to get the Nspire emulator running in translated mode now since I changed a certain part of my code, and it runs... really fast. I don't think there should be any worries :)
The translator should work with anything, unless you either repeatedly store to memory that was previously used as code (which will slow it way down, since it wipes all translations on this kind of store - this could be improved), or store to memory that is ahead in the current basic block of code (very perverse thing to do in my opinion, I've seen it fail on real CPUs before :)). If anything else broke it, I would like to hear about it...
Any reason you are using 16ths and 8ths instead of just 1/6th for all?
Because that would require division. Eww.
The truly correct way to do grayscaling is more complicated even than that:
- Perform gamma expansion on all three channels. Gamma expansion is the non-linear relationship from video input signals (R', G', B') to the amount of energy emitted by the display (R, G, B). On a typical CRT monitor, this can be approximated with the power law x = x' ^ 2.2. (The Game Boy Color uses an LCD instead, so I don't know what the equation for it is.)
- Calculate the luminance. This is a weighted average of all three channels, which takes into account that the human eye is more sensitive to green light than red, and more sensitive to red than blue. The traditional formula is Y = 0.299R + 0.587G + 0.114B, but it really depends on the color space used on that particular display. (Not everyone agrees on just what "red", "green", and "blue" are.)
- Perform gamma compression, the inverse of gamma expansion.
Some people forget the gamma operations, which results in saturated colors ending up too dark.
-
/me Loves Calc84Maniac for that SMB:D screenie
/me Hugs Calc84Maniac
Dx
I always cheat in level 1-2 and go to 4-1 :P
-
Nice work!
Edit:
Actually, I was able to get the Nspire emulator running in translated mode now since I changed a certain part of my code, and it runs... really fast. I don't think there should be any worries :)
The translator should work with anything, unless you either repeatedly store to memory that was previously used as code (which will slow it way down, since it wipes all translations on this kind of store - this could be improved), or store to memory that is ahead in the current basic block of code (very perverse thing to do in my opinion, I've seen it fail on real CPUs before :)). If anything else broke it, I would like to hear about it...
Any reason you are using 16ths and 8ths instead of just 1/6th for all?
Because that would require division. Eww.
The truly correct way to do grayscaling is more complicated even than that:
- Perform gamma expansion on all three channels. Gamma expansion is the non-linear relationship from video input signals (R', G', B') to the amount of energy emitted by the display (R, G, B). On a typical CRT monitor, this can be approximated with the power law x = x' ^ 2.2. (The Game Boy Color uses an LCD instead, so I don't know what the equation for it is.)
- Calculate the luminance. This is a weighted average of all three channels, which takes into account that the human eye is more sensitive to green light than red, and more sensitive to red than blue. The traditional formula is Y = 0.299R + 0.587G + 0.114B, but it really depends on the color space used on that particular display. (Not everyone agrees on just what "red", "green", and "blue" are.)
- Perform gamma compression, the inverse of gamma expansion.
Some people forget the gamma operations, which results in saturated colors ending up too dark.
Yeah, my color conversion is pretty much just a placeholder for now. By the way, is the emulator's speed accurate? I mean, I added a delay loop of "loop subs r8,r8,#1 \ bne loop" when r8 contained 400,000, and that was for each of 60 frames. That loop should be 4 cycles per iteration, right? That adds up to delays of more than 90MHz, which doesn't add up.
Edit:
Oh, and I did use self-modifying code for a bit, but it was pretty unnecessary (hence why I didn't get it in translated mode sooner)
-
Hi Goplat and welcome here. Very nice job on that TI-Nspire emu. :)
-
By the way, is the emulator's speed accurate? I mean, I added a delay loop of "loop subs r8,r8,#1 \ bne loop" when r8 contained 400,000, and that was for each of 60 frames. That loop should be 4 cycles per iteration, right? That adds up to delays of more than 90MHz, which doesn't add up.
It's not accurate. Right now, it just assumes all instructions are one cycle, or 1/90 microseconds. If your computer is not fast, it can lag, however. A tight loop like that is very likely to lag; I would recommend adding a few dozen repetitions of a simple instruction like "mov r0,r0" which nspire_emu can execute very fast.
This kind of "busy-wait" loop is a bad way to do timing in general (wastes energy, doesn't take into account time taken up by other code) but I can certainly understand if you're not willing to write code to deal with timer interrupts yet, considering that future updates to nspire_emu would almost surely break it.
Edit:
Oh, and I did use self-modifying code for a bit, but it was pretty unnecessary (hence why I didn't get it in translated mode sooner)
I checked the ARM manual; it says self-modifying code "cannot be relied on without the use instructions to ensure synchronization".
EDIT: I've released a new version that puts graphics and keys in the same window, so it should be possible for you to record gameplay with CalcCapture now.
-
By the way, is the emulator's speed accurate? I mean, I added a delay loop of "loop subs r8,r8,#1 \ bne loop" when r8 contained 400,000, and that was for each of 60 frames. That loop should be 4 cycles per iteration, right? That adds up to delays of more than 90MHz, which doesn't add up.
It's not accurate. Right now, it just assumes all instructions are one cycle, or 1/90 microseconds. If your computer is not fast, it can lag, however. A tight loop like that is very likely to lag; I would recommend adding a few dozen repetitions of a simple instruction like "mov r0,r0" which nspire_emu can execute very fast.
Well, there wasn't an issue with lag, it was more an issue of the emulator running faster than expected.
Edit: Would more accurate cycle counting slow down the emulation significantly? (Aside from the fact that instructions would take longer)
-
That Super Mario Bros. secrrnie was the coolest thing I've sceen all day.
You're doing an awesome job with this calc84!
-
Edit: Would more accurate cycle counting slow down the emulation significantly? (Aside from the fact that instructions would take longer)
That depends on what version of ARM the Nspire uses. The newer versions have longer pipelines, and the longer a CPU's pipeline is the more complicated it gets to predict how long something will take. Let's just hope it's not an ARM11 model.
-
Edit: Would more accurate cycle counting slow down the emulation significantly? (Aside from the fact that instructions would take longer)
That depends on what version of ARM the Nspire uses. The newer versions have longer pipelines, and the longer a CPU's pipeline is the more complicated it gets to predict how long something will take. Let's just hope it's not an ARM11 model.
Hackspire says it has one of these (http://www.arm.com/products/CPUs/ARM926EJ-S.html)
Edit: Found the cycle counts here (http://infocenter.arm.com/help/topic/com.arm.doc.ddi0222b/I1028171.html). And my "load byte, look up address in table and branch" routine looks like it will take 9 clock cycles instead of the 2 the emulator currently does...
-
so does this mean it will run slower on the actual calc then?
-
so does this mean it will run slower on the actual calc then?
Definitely slower than it has been running. No way to tell yet whether it will still run games fullspeed though.
-
so does this mean it will run slower on the actual calc then?
Definitely slower than it has been running. No way to tell yet whether it will still run games fullspeed though.
Even without delay loops?
-
I hope it runs at least faster than TI-Boy SE O.o, else it would mean the Nspire isn't that fast after all (altough I wonder if it couldn't just be because of the larger screen)
-
Edit: Found the cycle counts here (http://infocenter.arm.com/help/topic/com.arm.doc.ddi0222b/I1028171.html).
Just as I feared, it has interlocks, so you can't just look at an instruction in isolation and say "this takes X cycles". The two-cycle interlock on ldrb/ldrh/ldrsh is particularly noxious. Consider this instruction sequence:
0: ldrcsb r1,[r2]
4: muleq r3,r4,r5
8: mov r0,r1
If we enter at offset 8, this takes 1 cycle, of course.
If we enter at offset 4: If Z is set (mul executed), this takes 2 additional cycles, else 1. So, the translator must insert code along with the multiply to add an extra cycle. Not a big problem yet...
If we enter at offset 0: If C is clear (ldrb not executed), just 1 additional cycle, not a problem. But if C is set (ldrb executed), then the interlock adds a second additional cycle only if the mul is not executed! The number of cycles we have to attribute to the ldrcsb depends on both the C and Z flags even though the instruction itself has nothing to do with Z.
Thankfully interlocks never last through a taken branch instruction, so at least it's not necessary to keep any state between different code blocks. I think implementing those cycle timings is possible, but it would not be easy. I would rather wait until we're completely sure this is the kind of CPU the Nspire uses, before implementing it.
-
I have no idea what you guys are talking about, but keep up the good work o.o
You guys are too advanced for me. I understand this is a hard work and appreciate it a lot ^^
-
Maybe you can do something different with the register accesses on the couple of instructions afterward - basically on the load from memory you could do "interlockcount = cyclecount + 2" and upon register accesses, "if reg == loadedreg and interlockcount > cyclecount: cyclecount = interlockcount"
-
Maybe you can do something different with the register accesses on the couple of instructions afterward - basically on the load from memory you could do "interlockcount = cyclecount + 2" and upon register accesses, "if reg == loadedreg and interlockcount > cyclecount: cyclecount = interlockcount"
If I made the translator actually emit code to do that I think it would slow emulation way down, with several real instructions added per emulated instruction. It needs to precompute cycle counts as much as possible.
-
Maybe you can do something different with the register accesses on the couple of instructions afterward - basically on the load from memory you could do "interlockcount = cyclecount + 2" and upon register accesses, "if reg == loadedreg and interlockcount > cyclecount: cyclecount = interlockcount"
If I made the translator actually emit code to do that I think it would slow emulation way down, with several real instructions added per emulated instruction. It needs to precompute cycle counts as much as possible.
Well actually, the "reg == loadedreg" part could be purely done in the translator - and if false, you don't even need to add any extra instructions. Also, since the interlocking will add extra cycles to the ARM instruction, I don't think the speed difference would be too costly...
And keep in mind that this solution only applies to the ldrb/ldrh opcodes, not ldr. In the ldr case, you can simply add an extra cycle to the following instruction if it accesses the loaded register.
-
And keep in mind that this solution only applies to the ldrb/ldrh opcodes, not ldr. In the ldr case, you can simply add an extra cycle to the following instruction if it accesses the loaded register.
The extra cycle(s) on a pair of instructions affected by an interlock must be associated with the earlier instruction, not the later. Otherwise, they would erroneously be counted in the case that we branch directly to the later instruction, bypassing the earlier one.
-
Okay, new idea. For ldrb/ldrh:
Set a flag during the load instruction.
For the second instruction, if it uses the loaded register and the flag is set, add an interlocking delay and reset the flag.
Otherwise, if it takes more than one cycle, reset the flag.
For the last instruction, if it uses the loaded register and the flag is set, add an interlocking delay.
Reset the flag.
Same idea for ldr except remove the case of the second instruction.
-
Okay, Eeems has convinced me to make a release. Download here. (http://otbp.tifreakware.net/files/gb4nspire_alpha1.zip)
The zip file contains everything you need to run the emulator, except the roms of course. It's a simple drag/drop system much like TI-Boy.
-
w00t nice! I'll try to get a rom dump done and download this to try ^^
-
sweet! can't wait to try it out!
-
Wow, now i wish i had an nSpire so i could try it out! :( maybe i can borrow my friends for a day.
-
You can't actually use an nspire yet, you have to use the emulator, and in this case, all the files needed (except the ROM's) areincluded. It's just a download, get rom, and play.
-
well yeah, but i need the calculator to get the rom :)
-
Actually I just remembered. It doesn't need the calc ROM, just game ROMs
-
Actually I just remembered. It doesn't need the calc ROM, just game ROMs
Oh yeah, I guess I was kind of ambiguous there. You're right, you only need game ROMs.
-
Yepeeee!
*Starts jumping around*
-
Oh boy! I will try this right away after i get home from band practice ^^
-
oh wow that makes my job easier :P
-
Wow, I'll try it as soon as I can get a ROM. *With rent's rules, I'm going to guess it will take me a week to get a ROM...* :P
-
It seems it is time to play GBC and GB games. ;D
-
http://www.unitedti.org/forum/index.php?s=&showtopic=8191&view=findpost&p=139534
Yay!
-
It seems it is time to play GBC and GB games. ;D
http://www.unitedti.org/forum/index.php?s=&showtopic=8191&view=findpost&p=139534
Yay!
Just in time...
-
Yup. Now I guess the hardest part will most likely to find the appropriate OS ourselves. I wouldn't be surprised if it ended up on warez sites pretty soon, though.
-
Yup. Now I guess the hardest part will most likely to find the appropriate OS ourselves. I wouldn't be surprised if it ended up on warez sites pretty soon, though.
If it isn't there already.
I never bothered to search warez sites, torrents, p2p, etc.. But it is not hard to find some stuff...
-
Guess we'll get to see what actual speed is like fairly soon on both this and the TI-89 emulator!
-
I took a look at ARM assembly and noticed it can do some things that Z80 assembly can't do. Does this make your work on the Nspire easier?
-
I took a look at ARM assembly and noticed it can do some things that Z80 assembly can't do. Does this make your work on the Nspire easier?
Definitely. :)
-
...can do some things that Z80 assembly can't do.
Like native grayscale! <(^.^<)
-
Yup. Now I guess the hardest part will most likely to find the appropriate OS ourselves. I wouldn't be surprised if it ended up on warez sites pretty soon, though.
Near the bottom of page 17 of the "Mission: Hack the TI Nspire" thread at UTI has some links to a site that links to them (I hope this is indirect enough to not count as distributing them...)
-
Wow never thought I'd see this happening.
-
I took a look at ARM assembly and noticed it can do some things that Z80 assembly can't do. Does this make your work on the Nspire easier?
One other thing is that ARM processor is like 32 bits while z80 is only 8 or 16 bits. On z80 you need to perform some stuff in quite hackish ways and on the 82-84 series dealing with grayscale is even harder because they don't have a memory-mapped LCD.
-
How does the memory mapped display make it easier?
-
How does the memory mapped display make it easier?
Because you only have to write to memory to update the LCD contents. On the older z80 calculators, you had to interface with the LCD driver manually.
-
Oh, so that's why the 86 is easier to make grayscale for. Thank's for the info. :)
-
Grayscale also looks better on memory mapped calcs
-
I'm currently working on adding some OS interfacing, like using malloc to request RAM and hopefully saving/loading save games using actual Nspire files
-
Malloc?
nice to see some progress tho ^^
-
Malloc?
nice to see some progress tho ^^
Malloc stands for Memory Allocate. It's used a lot in C.
Also, I have gotten it working. :) The save game is automagically saved to a pre-defined file upon quitting. Also, I added support for save states (also saved to a predefined file, for now). Seems to work, though I may run into something I forgot later
-
AAh ok :D and glad savestates were added ^^
-
Now the save files are the correct size: They can be 0KB (meaning not created), 2KB, 8KB, or 32KB :D rather than 32KB all the time
-
nice ^^ should leave much more space especially since a lot of it wasn't even used x.x
-
Nice! :D
-
Now I have added a ROM selection menu. Seems to work just fine :)
I should probably eventually try to support menus taller than the screen, though. Currently only 14 roms can fit onscreen.
Edit:
Also, I fixed a glitch with vertical tile flipping in GBC mode
-
Nice, so that means the emu is no more integrated inside ROMs like TI-Boy SE? Now we can have more games at once ^^
Btw shouldn't the emu be called gbc4nspire instead of gb4nspire? People might think your emu only does regular GB, but again there will be some people who think it only does GBC, even thought GBC had backwards compatibility with GB games back then
-
Yeah, that's a good idea.
-
This is so epic ^^ Its nice that now we can have more than one game without having multiple interpreters :)
-
Ndless has been shown to the world.
When are you going to release the GBC/GB emulator?
-
YES! I also posted a news with some old screenshots. Can't wait for beta of GBC4TI ^^
-
First release, v0.8! :D
http://www.ticalc.org/archives/files/fileinfo/426/42630.html (http://www.ticalc.org/archives/files/fileinfo/426/42630.html)
-
YAY! I added it to the archives as forwarded link (in case it receives too many updates to keep up). I included a mirror link too. :)
-
I think I found a bug.
After running gbc4nspire, my calculator will no longer turn on without first pulling a battery.
Also, Super Mario Land won't run.
EDIT: On second thought, the turning on thing might be a power management bug.
-
I think I found a bug.
After running gbc4nspire, my calculator will no longer turn on without first pulling a battery.
Also, Super Mario Land won't run.
EDIT: On second thought, the turning on thing might be a power management bug.
I have this problem too. It occurs only in OS 1.1. 1.2 and up are fine.
-
The exploit works on any OS above 1.1? I was sure we had to downgrade?
-
The exploit works on any OS above 1.1? I was sure we had to downgrade?
No, I'm talking about without the exploit. I have this glitch on my calculator with 1.1 installed even without Ndless installed. In fact, it happened before I even got my first copy of Ndless.
-
OOoh ok I see, thanks for clarifying
-
Any workaround for this bug?
-
I hope there is, as it might be annoying after a while x.x
Maybe someone could write a patch to fix it...
-
Yes, a patch would be nice. I fear removing the keyboard too much will kill the contacts.
-
I think this happened to someone. After a while it can get loose I think x.x
-
Awesome job calc84! Keep up the great work! :D
-
Oh, could I make a small suggestion?
The "*" key speeds up the games to maximum speed, but only while you're pressing it. It would be great not to have to hold it down. Could you change it or use another button to toggle the speed?
-
hmmm good idea actually, it somketimes got annoying indeed, especially that the key is too far from others x.x
EDIT: Welcome here btw
-
Well, I figured the main use for it would be to skip long cutscenes and text dialogs and stuff. But I guess I'll add the toggle.
-
off topic note about these text dialogs: don't try Azure Dreams RPG for GBC. The amount of convos in it is just ridiculous. I spent 15 minutes playing on an emulator then I gave up because game would never kick in, I was stuck into an endless convo with NPCs
-
This was moved in its own sub-forum
-
Omnomnom!
Downloaded and looking excellent!
The blur is a problem, though.
Any way to change the frameskip?
-
He's omnomning us :(
But yeah glad you like it ^^
Unfortunately the blur is a Nspire related problem :(, thanks Texas Instruments for their crappy LCD x.x
I wonder if frameskip will be changeable in the future, though. That might be an idea for those who want slower fps in more blurry games (usually those with gray background) and faster fps in less blurry games
-
I think the readme says changeable frameskip is a planned feature.
-
Ugh.. ok ok I know I left the community for a while mainly because calculator's are not my thing. I only joined here to look at the gbc4nspire project, and I must say it is VERY nice and it makes me want to get a Nspire now. So, is there any updates to this project?
@omnimaga: just don't ban me.. I won't spam I promise. I am a more mature person than I was before..
-
I've never thought that time could be so well wasted ;) How much time do you think you've spent making this, anyways, if you include all the time on the 84 version that you've used in making the newer version?
I wrote another review for your new emulator. I still think this is one of the coolest calc things ever made. I'd say it's the very best, except for the fact that it's useless without Ndless, of course.
You mentioned that it works better on 1.2 OS rather than 1.1, but will it also work well with 2.0? I heard from somewhere online that it's incompatible with Ndless.
-
Ugh.. ok ok I know I left the community for a while mainly because calculator's are not my thing. I only joined here to look at the gbc4nspire project, and I must say it is VERY nice and it makes me want to get a Nspire now. So, is there any updates to this project?
@omnimaga: just don't ban me.. I won't spam I promise. I am a more mature person than I was before..
Hi and welcome here actually ^^
Don't worry I do not really have anything against you, sorry if it sounded this way (because of the Revsoft incidents) x.x, plus I was pretty pissed at DarksunDS (which is who I had trouble with). Also, we tend to be a bit more lax on randomness in overall, as long as it won't go overboard. Moderation has better taste anyway ^^.
I don't think DarksunDS would last very long on Omnimaga, though.
@Brian Ndless is being done for 2.0. Eventually it will come out, altough it will probably be executed in a different way than 1.1, since it uses a different TI-Nspire OS exploit.
That said I hope the TI-Nspire stuff and the new innovations on the z80 side renew your interest towards the calculator world.
-
Thanks omnimaga :D
I really want a Nspire now lol because of this.. I mean this really would save me from my math class :)
by the way.. do you think that the Nspire could handle a NES/SNES emulator? More so the SNES because I have some SMW (super mario world) hacks to beat :P
-
I am certain NES could be handled. For SNES, I have doubts about these games filled with chips, though. I think it would most likely support SNES games that doesn't use stuff like Super FX (Star Fox, Dirt Trax FX, PilotWings, Doom) or compression routines (Star Ocean). I think the speed may also not be too bad, noticing how fast the GBC emulation runs in hi-speed mode (6 times faster). SNES would rule, though, because a bunch of the Omnimaga users has previously done ROM hacking, meaning their work could be played on a calculator, finally. Geno and TsukasaZX, for instance, are currently working on their respective Super Mario World ROM hacks.
Also if you search the forums, there is a TI-89 emulator in the works for the TI-Nspire, which might come in handy for those who don't have a TI-Nspire CAS or if in for any reasons Ndless never came out for OS 2.0 and people had to continue to use the more limited 1.1 OS to use Ndless. I am sure Ndless for 2.0 will come out, though.
-
that is so ironic, because I am working on a super mario world ROM hack at the moment. I would like to see it on my calc though :P
but with many SMW rom hacks comes with ExGFX (aka super FX I think) and it has special effects to it.
-
Well, we actually even have a ROM hacking sub-forum here on Omni forums, it's hidden in the non-calc projects section here:
http://www.omnimaga.org/index.php?board=81.0
Sadly, because most of our ROM hackers are either only active on IRC chats (they don't like forums as much as chats) and because some are retired or more active into calc dev, this section is still rather empty :(
I might eventually give GBC ROM hacking a try, though, with easy to modify ROMs. I still hope eventually there's a NES or partial SNES emulator for Nspire, though.
Another alternative for now is Project M, a new Mario clone for the 83+, which will have a level editor. It has more features and better physics than the old one on ticalc.org (altough this one was still cool). There are no demos yet, though.
As for Super FX, It's actually that chips that allows polygonal 3D in SNES games, normally impossible to render with the SNES hardware
-
Welcome here Snake X.
I think a NES emulator would be really cool! Calc84, are you working on one yet... ? ;D
-
hehe.. one amazing project at a time! :D
-
So, now that you've got the GBC, you're going for the DS next, right? ;)
-
lol, let's stay realistic, though ;)
I think right now he's focussing on Project M for the 83+ serie (Super Mario clone)
-
hi everyone
i'm new here
first off thx so much calc84 for making such a cool emulator!
i have a problem tho...
i absolutely have no idea how to get the emulator on my cas
i have a cas w/ 1.6 os..
but i found the 1.1 os
so..
how do i delete my 1.6, install 1.1, then install ndless + the emulator?
sorry this is such a bad question but if anyone can help me, or direct me to a place that i can get help, please do.
(sorry for my bad english.. its my second language)
-
Hi and welcome here,
To install 1.1 and Ndless, first you need to make sure you have TI-Nspire Computer Link Software version 1.3, not 1.4. There is a build of Ndless that is compatible with 1.4 but it is not publicly avaliable and was not tested extensively. Hopefully it should come out soon.
You also need Java installed on your computer.
Now if you got Link software 1.3 and an OS and assuming you have Ndless in a folder on your computer, put the OS in a folder called userfiles, then run install-ndless.bat. All you should need to do is follow the instructions on the computer screen. The OS 1.1 will be installed by install-ndless.bat, prior Ndless itself.
-
ahhh thank you very much
you said the 1.1 os will be installed by the ndless.bat?
i have the 1.1 os in a folder on my computer, so can i just ignore and/or delete that if install-ndless.bat will install it for me?
-
No you must create a new directory in the Ndless one that is called userfiles and put a copy of OS 1.1 there. ndless.bat will check this folder for it.
-
The 1.1 OS is needed BEFORE you insteall Ndless. ndless.bat does not install the OS, it just installs Ndless.
You'll need the 1.1 OS on your calculator, and 1.3 link software on your computer before you run ndless.bat
I'm not the real expert here, but I'm 95% sure that's how it works. I want to make sure to leave myself room for error. That's what I had to do, at least.
-
brianbdm, correction, Ndless does install OS 1.1. It did for me, I loaded it in the specified folder, then ran ndless.bat, and both OS 1.1 then Ndless were installed. I'm speaking the truth here, as it is from experience, and if you don't believe me, I'll go test again and do a video cam recording of it as proof.
-
It will actually download the OS for you automatically if you don't already have a copy :)
-
Wait, really? I didn't knew that and I spent effort trying to find one online x.x
That's good to know at least. I think it should be made a bit more clear in the readme, though x.x
-
Well, I'm glad that I left myself room to mess up, but I don't feel as bad if an admin with respect in the hundreds also made the same mistake. ;)
--------
Say, why did you make the shirt key the start button instead of the control button? It would be symmetrical to the clear key for Select if you did. I always have to remind myself that it's one key lower than I think. Is there any reason you made it the shift key? I thought it may be to make contrast changes in-game, but I found out that you can do that just by hitting the + and - buttons. Will the calculator not allow you to use it?
-
Well, I'm glad that I left myself room to mess up, but I don't feel as bad if an admin with respect in the hundreds also made the same mistake. ;)
--------
Say, why did you make the shirt key the start button instead of the control button? It would be symmetrical to the clear key for Select if you did. I always have to remind myself that it's one key lower than I think. Is there any reason you made it the shift key? I thought it may be to make contrast changes in-game, but I found out that you can do that just by hitting the + and - buttons. Will the calculator not allow you to use it?
As I stated in the readme, it was because of issues with multiple keypresses. It so happens that if I used ctrl, pressing certain combinations of other keys would make a false keypress.
-
Oh, I must have skimmed over the parenthesis. Another mistake on my part.
My computer keyboard is like that. There are some key combinations that I can't do that can throw me off when I play games. I should get a gamepad instead.
-
In this case it wouldn't be a problem, except under the arrow wheel there are actually 8 detectable directions, each of which acts like a key. So most of the time when you press an arrow direction, you are really pressing 3 keys at once. So pressing an arrow direction while pressing another key will sometimes cause two false keypresses. :(
-
That could also present another problem. If you're pushing a directional key, and you skip in one direction or another, it would pick up the diagonal instead. I assume that they don't do anything in the emulator. If there were twelve buttons, three on each side, it would allow a bit of grace instead of having dead spots in the middle. It also makes it tough to switch directions quickly if you need to. Maybe you could add optional keys for people who would prefer them over the d-pad?Like you could have 4 be left, 8 be up, 6 be right, and both 5 and 2 would be down (for people who prefer arrow keys or the number pad). They might make more key combo problems, but at least you would still have the same number of keys being pressed at the same time.
...Although, being separate keys, it would be possible to press more than one of them at once, unlike the d-pad. Hm... What do you think?
-
Nah, there are no problems with that because typically you are pressing three buttons at a time (like up, up-right, and right) so checking only up and right suffices for diagonal detection.
-
The problem is that there are no diagonal keys on the gameboy, so if you do press the diagonal, even if you're also pressing the two buttons next to it, the calculator wouldn't be able to determine which way you meant to go because you're pressing a button half way between the two directions. It's like... is the x=y line closer to the x-axis or the y-axis? Well, neither.
(I finally changed my little picture to something else. ^^)
-
Here's the thing. I don't even check the "diagonal" keys at all. Checking up/down/left/right is enough.
-
mhmm does it means there are no diagonal movements in gbc4nspire at all? I didn't really check when playing zelda
-
Oh, I see. Yeah, I think there are a few games that use diagonal movements, but not very many.
-
There are diagonal movements in the emu. They are just considered as being 2 keys pressed at the same time, if I understand calc84 correctly.
-
aaah ok, I guess I definitively didn't notice when moving around x.x
-
Is there any possibility of adding a clock? I'd expect that might be difficult...
come to think of it... Does the Nspire even /have/ a clock like the 84? I don't actually remember ^^ I'd check, but I left it at school.
-
Is there any possibility of adding a clock? I'd expect that might be difficult...
come to think of it... Does the Nspire even /have/ a clock like the 84? I don't actually remember ^^ I'd check, but I left it at school.
I believe it does, but there are some even more challenging aspects to including this feature.
-
A clock on the nspire would be very useful.
-
I never really checked if the Nspire even had a clock function. If it does, I wonder if it's easy to access it to display the hour/min/sec in an ARM ASM program.
There are still a lot of discoveries to be done about the TI-Nspire :D
Also welcome here phj
-
From what I know, the Nspire does have a clock function. But it's sort of complicated to access it...
-
I just checked-
The Legend of Zelda: Oracle of Seasons uses diagonal movement, so all the other games must potentially be able to use them, too.
-
Aaah ok thanks for the info.
-
I wonder whether Gameshark code support will ever appear on this emulator. Maybe there's a way to write something to hack the save states and put codes in?
-
I wouldn't be surprised if this was possible. He would probably need to check the Game Genie/Action Replay/Game Shark source and stuff, then people would just need to insert codes they know or find online.
-
The gameshark for gbc had a gametrainer thing (where you could tell it to search for a value and then do something and repeat the search in order to find codes easily), this would be a very nice feature for the emulator if gameshark code support was added IMO
-
Mhmm I didn't know about that one. I wonder if it would be very complicated?
-
yeah i suppose that would be fairly complex to implement, but I don't know much about asm so i can't really say. It would be a very nice feature though
-
The gameshark for gbc had a gametrainer thing (where you could tell it to search for a value and then do something and repeat the search in order to find codes easily), this would be a very nice feature for the emulator if gameshark code support was added IMO
What do you mean by searching for a value? And are gameshark ROMs (or whatever they are) available for download?
-
I think most emulators now include game shark support without the need of the ROM. Most of the time they write the support themselves.
-
How does a regular gameshark use its codes in the games, anyways? If you don't want to explain it all to me, could you point me in the right direction?
I don't really understand how it can go from a code to a game function without it already being programmed into the game.
-
The Gameboy Gameshark codes simply wrote a specific byte to a specific memory location.
-
basically, I think it alters game variables stored in the console RAM or some modifiers that can change variables. Let says your HP is 80 at game start and you want it to be 255, a part of the hex code you'll enter for that address will most likely contain FF as the last letters. Maybe something different, but I think it may be how it works. And yeah notice how all game genie codes are hexadecimal codes
-
This page (http://web.archive.org/web/20040409085237/www.gscentral.com/view.pl?HackingText/hackv500c) explains it well.
-
Thanks. I get it now. It's not quite as confusing as it seems.
That guide is REALLY detailed.
-
any updates for GBC4tinspire coming out at all soon? or even any info on one?...
-
It has been out for quite a while already. ;) It was released 3 months ago (and made front page) on ticalc.org shortly after Ndless 1.0 came out:
http://www.ticalc.org/archives/files/fileinfo/426/42630.html
http://www.ticalc.org/archives/news/articles/14/146/146064.html
-
yeah i know 0.8 was out. i'm enjoying it. but in the readme it says that theres still stuff to add like cable to cable compatability and i'm really looking forward to that. Pokemon battles at school ftw.
-
Oh ok" Then I'm not sure. Seeing as TI-Boy SE got no update for a year, I doubt gbc4nspire will be updated anytime soon, though, especially that people have yet to figure out how to use linking on the TI-Nspire for third party programs (if it's even possible at all).
-
Has TI-Boy SE /really/ been out for a whole year? It seems like I just got it. ^^
-
yeah it did. I guess time flows fast ^^
-
calc84: can you describe the format of the .state files? I'm trying to write a Gameshark program.
-
I thought that the Gameshark for the Gameboy modified the actual ROM (in which case I don't have to try to recall exactly what I've been doing with the .state files :P)
-
ROMs can be modified?
-
The Gameboy gameshark doesn't touch the ROM. It only has one cheat type, which writes a number into a specified memory location.
-
Hmmm...its been a week since I posted that. Anyone?
-
I don't think it is currently in the works. Calc84maniac had two camping vacations in a row and is currently working a bit on F-Zero I think
-
Gamesharks only change values in the RAM(or Flash, if that's how the game is saved), that is correct.
-
Ah, I guess I misread that guide.
-
Lookin sweet cant wait for nedless on 2.0 so i can try it out.
-
Unfortunately, I think the project may have died, since Calc84maniac lost the source code in a craptop hard drive failure, but I think the current version emulate games pretty well. I do not recall hearing much issues and I did not get any myself except maybe sometimes with Dragon Warrior I & II Bundle. I can't wait for Ndless 2 as well.
-
I had issues w/ resident evil, other than that, it emulates perfectly.
-
I had issues with Zelda, where the calc froze completely, but I think it's probably the ROM's fault.
-
This looks awsome. ndless 2 needs to drop already so i can try some of this stuff out in my math class.
-
Hmm, the reason this is possible is that, well, the gameboy had a z80 processor, thus, the calc must be able to emulate it. The nspire can emulate it too, because an ARM processor is much more advanced than the z80 processor
These are my thoughts, if I am wrong, tell me
-
Well, it still needs to translate things to ARM format, though. Had the Nspire used a z80, there would be much less translation to be done, since both processors would be similar. This is why a GB emulator was possible on the 84+SE, even if those calcs are only 15 MHz. I could be wrong as well, though. Not that it matters much, though, because the Nspire is fast enough to emulate the GBC, anyway.
-
If you ever revive this, are you planning to add support for more than 1 page of ROMs in the game menu?
-
Even better - an OS hook to run ROMs directly from the my documents screen.
-
I have a gameboy advanced somewhere in my house. I'm sure that you could make an emulator for that, on later calculators. Very interesting work.
-
It would be hard to get it fullspeed, though. The GBA runs at 16mhz, and the nspire at 150mhz. A rule of thumb is you need 10-15x the power to emulate something. And then, the GBA has graphics hardware, which the nspire lacks. Then again, they both have ARM CPUs, which makes matters easier.
-
Well, he did say "on later calculators". Though, knowing TI, it might take a long time before they get even close to putting recent hardware in one of their calcs.
-
By that time, people will be asking for DS and N64 emulation on their calc.
EDIT: Autocorrect on my iPod switched calc to calf!
-
Indeed ;D
Plus I don't even know if the Casio Prizm will even have a processor faster than the Nspire, not to mention it may be a different architecture that is not documented well. It would be cool if Casio switched to ARM.
In other words, before we get a calc powerful enough to run a GBA emu at full speed, emulating all effects, it may take years...
-
Prerecompilation may work-a computer program that changes a gBA rom into an nspire binary.
EDIT: 400th post!
-
Hmm... although this would no longer be an actual emulator, it would be cool if we could convert console/handheld games to Nspire ASM code instead of emulating them. It may not sound as cool but maybe they would be faster? I am not sure about their file size, though.
-
There would be extra code to substitute for the BIOS and graphics routines, but the actual graphics, as in tiles and sprites, can be converted into 4lvl grayscale, cutting down their size fourfold. (GBA has 32,768 colors, so I'm assuming 16bpp
That stupid autocorrect tried to change sprites to spruces, but this time I caught it. :)
-
What you are describing is static recompilation. Unfortunately, this is almost always infeasible:
With static recompilation, you do the same as in dynamic recompilation, but you follow branches. You end up building a chunk of code that represents all of the code in the program, which can then be executed with no further interference. This would be a great mechanism if it weren't for the following problems:
* Code that isn't in the program to begin with (e.g. compressed, encrypted, generated/modified at runtime, etc) won't be recompiled, so it won't run
* It's been proven that finding all the code in a given binary is equivalent to the Halting problem
These combine to make static recompilation completely infeasible in 99% of cases. For more information, Michael Steil has done some great research into static recompilation -- the best I've seen.
-
Yeah that too, the lower color depth would cut size down considerably. Btw are you on an iPhone/android or something? I think they got auto-correct and sometimes Eeems posts become weird when he doesn't check carefully. :P I have a spell-checker, but it doesn't auto-correct
-
There would be extra code to substitute for the BIOS and graphics routines, but the actual graphics, as in tiles and sprites, can be converted into 4lvl grayscale, cutting down their size fourfold. (GBA has 32,768 colors, so I'm assuming 16bpp
That stupid autocorrect tried to change sprites to spruces, but this time I caught it. :)
Most GBA graphics are already 4-bit. The actual colors are looked up from a palette. And I'm not sure how exactly you would locate the graphics data in a ROM automatically, anyway. Also, there are not "graphics routines", there is graphics hardware.
-
Even better - an OS hook to run ROMs directly from the my documents screen.
This could be a feature request for Ndless. Ndless already puts an hook on the documents opening.
Ndless could manage a map of file extensions (.gb/.gbc in the case of gbc4nspire) to programs, updated by the programs when run from the first time, and pass the file name as an argument to the main() function of the program.
-
Hmm that would be cool actually, like on computers. It would be much faster to run stuff. :)
-
Most GBA graphics are already 4-bit. The actual colors are looked up from a palette. And I'm not sure how exactly you would locate the graphics data in a ROM automatically, anyway. Also, there are not "graphics routines", there is graphics hardware.
You don't need to locate graphics data in a ROM, you only need to block access to HW and emulate it in signal handler. Should be simple to do if Nspire's CPU includes proper MMU. The only question is if it'll be fast enough: context switch is slow business and Nspire is only 10 times faster then GBA...
In other words, before we get a calc powerful enough to run a GBA emu at full speed, emulating all effects, it may take years...
It's not a question of power: Nspire is more then capable enough. It's question of doing the actual work. Compare XBox (original, not XBox360) emulation with PS2 emulation. It's actually harder to emulate PS2 - but people want it so it works (not perfectly, but compatibility was over 50% two years ago, by now I think it's about 80-90%) while XBox... well, you can run one or two games - and that's all.
So ironically enough while I agree that "it may take years" I don't agree that we need new hardware: it'll take years, but the end result will probably be GBA emulator for Nspire, not for some exotic new platform.
-
Yeah, I wanted to play some xbox games on my computer, but emulation for that is well, pathetic, compared to GC, PS2, and even Wii.
This time autocorrect tried to change xbox into shod. ???
-
Most GBA graphics are already 4-bit. The actual colors are looked up from a palette. And I'm not sure how exactly you would locate the graphics data in a ROM automatically, anyway. Also, there are not "graphics routines", there is graphics hardware.
You don't need to locate graphics data in a ROM, you only need to block access to HW and emulate it in signal handler. Should be simple to do if Nspire's CPU includes proper MMU. The only question is if it'll be fast enough: context switch is slow business and Nspire is only 10 times faster then GBA...
In other words, before we get a calc powerful enough to run a GBA emu at full speed, emulating all effects, it may take years...
It's not a question of power: Nspire is more then capable enough. It's question of doing the actual work. Compare XBox (original, not XBox360) emulation with PS2 emulation. It's actually harder to emulate PS2 - but people want it so it works (not perfectly, but compatibility was over 50% two years ago, by now I think it's about 80-90%) while XBox... well, you can run one or two games - and that's all.
So ironically enough while I agree that "it may take years" I don't agree that we need new hardware: it'll take years, but the end result will probably be GBA emulator for Nspire, not for some exotic new platform.
So I'll be able to play PS3 games on my computer soon! ;D
Just kidding, but yeah GBA emulation was attempted on the Nspire before. The person who worked on it for a while told me a bit about it. It was about twice slower than the original GBA and most special effects did not work. That said, with the time, new tricks will be discovered to find faster ways to do stuff. After all, it took 8 years before a GB emu arrives on the 84+ and now a faster one is being written.
-
Who was working on GBA emulation?
-
I'm not sure if I am supposed to tell. All I will say is that the GBA emu was to the TI-Nspire what TI-Boy SE was to the 84+, in terms of performances, speed and games compatibility.
-
Yeah, it is way too hard to emulate it ATM. Hopefully we *might* *possibly* get Atari emulation, but even that is hard
-
There, the challenge is actually getting it to emulate properly, which can be way harder than trying to improve the speed.
-
Usually it takes a few years before emulation of something is perfect and at fastest speed possible. Today, some emulators can still not run MTV Music Generator/Music 2000 PS1 and Mystical Ninja Starring Goemon for N64 properly.
-
Dunno if calc84 is planning to resume this in the near future, but here's a bug report nontheless:
I have tried different versions (and languages) of Zelda, Link's Awakening, but the emu crashes or freezes when I enter the Moblin cave. I doubt that this is the ROM's fault, I think it is rather pointing to an error in the emu itself...
-
I don't think he plans to continue it unfortunately, since he lost the source and would either need to disassemble it or restart from scratch, but it would be cool if he resumed it. I heard some people got issues with LA, but I don't remember if that happens with LA DX as well.
-
Didn't DX just replace the sprite set? If it's an emulation problem that might not fix it.
I suppose you could load your save into a PC emu, and get past and resume from there :P
-
I'm not sure, I remember LA DX worked better, but I could be wrong. Also DX is a GBC game, not GB, so could the format be a bit different?
-
@Silver shadow: I don't recall where, but someone else mentioned having the same issue in another topic. It was also mentioned (As DJ said) that Link's Awakening DX seemed to work fine.
-
Oh, OK. But in the DX version, there is a new dungeon that is based on colors, and since the screen is B&W...
-
I got those same crashes with the gb emu on my itouch, so it seems like a common problem.
-
@Silver Shadow: Yea, I've never played the extra dungeon and I dunno, but the grays may be mapped well enough that you'll be able to figure it out. It is worth mentioning that the extra dungeon is entirely optional anyways, so it isn't a necessity to beat it.
-
I got those same crashes with the gb emu on my itouch, so it seems like a common problem.
Wow, really? I thought it was just gbc4nspire that had this problem. I wonder what causes it....
-
I would do some research, see if an emu like vba ever had those problems, and find out what was done to fix it.
-
some games that are supposed to be classic NES games for the Gameboy color just give me a game pak error :(
-
Yeah, I had the same Zelda problem, so I just got past that part on a computer based emulator and put the save file back.
-
some games that are supposed to be classic NES games for the Gameboy color just give me a game pak error :(
Excuse me if I'm wrong, but weren't those classic NES games released for the GBA? (The one exception I know of is Super Mario Bros Deluxe, and even that was not just a copy of the original)
-
Does SMB Deluxe work with gbc4nspire? I don't have an nSpire yet, but I hope to buy one, and that was one of my favorite GBC games.
-
Does SMB Deluxe work with gbc4nspire? I don't have an nSpire yet, but I hope to buy one, and that was one of my favorite GBC games.
It does work, but the blurry screen makes it sort of hard to play. I actually think the original SMB on NESpire might be a better option so you get the full 256x240 resolution (unless you really need the extra features from SMB Deluxe)
-
some games that are supposed to be classic NES games for the Gameboy color just give me a game pak error :(
Excuse me if I'm wrong, but weren't those classic NES games released for the GBA? (The one exception I know of is Super Mario Bros Deluxe, and even that was not just a copy of the original)
This is correct. They are all Gameboy Advance releases(Aside from Super Mario Bros. Deluxe).
-
Sir's post was in response to the discussion on the previous page about "The Legend of Zelda, Link's awakening" freezing at a certain point in gameplay. It was not a response to your question. The titles you mentioned will not play on The Gameboy emulator because they are not Gameboy or Gameboy color games. They are Gameboy Advance titles.
-
some games that are supposed to be classic NES games for the Gameboy color just give me a game pak error :(
Excuse me if I'm wrong, but weren't those classic NES games released for the GBA? (The one exception I know of is Super Mario Bros Deluxe, and even that was not just a copy of the original)
hm, nvm then, I could have sworn that the original Zelda was remade for the GB Color
-
Since I don't have a Clickpad, I've hacked around a bit in assembly to make this great program work with the Touchpad - it's a really really ugly hack, and the ROM selection screen is still broken (always selects the first ROM in the list), but hey, it's better than nothing!
During testing, it used to crash quite a bit due to some memory overwriting, but I think I fixed it all... tell me if there are any crashes or things like that.
Edit: Oops, forgot to mention what keys I've remapped the controls too :-[ :
A - Tab
B - Ctrl
Start - Menu
Select - Del/Clear
Direction - 8/4/5/6
-
Cool, is it for Ndless 1.7 or 2.0?
-
Cool, is it for Ndless 1.7 or 2.0?
If I am not mistaken, all files built for Ndless 1.7 will work on Ndless 2.0, and all built for 2.0 will work on 1.7. The only reason this would not work with Ndless 1.7 is the fact that OS 1.7 does not support the clickpad. :)
-
^You mean the Touchpad... ;D
-
I think on the CAS Touchpad calc, no keypad will work with OS 1.7 at all, though, not even the Clickpad.
-
Yeah, I think so too.
-
I think on the CAS Touchpad calc, no keypad will work with OS 1.7 at all, though, not even the Clickpad.
Yes.
But there is a way: just install OS 1.4 & Ndless 1.4.
Programs built for Ndless 1.7 should also work on Ndless 1.3/1.4/2.0.
Some explanations here:
http://ti.bank.free.fr/index.php?mod=news&ac=commentaires&id=910 (in french)
-
Yeah that works too.
-
.
-
Hi. Sorry for my noobiness, but how do you put the roms on the calculator? Iv'e tried sending them through the TI linking program but it doesn't work.
i have the touchpad 2.01 with ndless installed and touchpad gbc4nspire. thnx in advance.
Did you read the readme?
-
you have to change the .gb | .gbc extension in .gb.tns |.gbc.tns
you may have to change your Windows settings to display extensions, to be able to do so.
-
.
-
Welcome on the forums, by the way. Also I don't think you need to turn on extensions, since adding one will add it, just not show it, but I recommend enabling them anyway because it's much easier to work that way.
-
Welcome on the forums, by the way. Also I don't think you need to turn on extensions, since adding one will add it, just not show it, but I recommend enabling them anyway because it's much easier to work that way.
Sorry to prove you wrong Dj, but if you would add an extension without them being "seen" you would end up having a *.tns.gb | *.tns.gbc or even something like *.gb.tns.gb etc.
-
Stefan Bauwens: The Touchpad version here: http://www.omnimaga.org/index.php?action=topicattach;topic=1243 didn't come with a Readme.
Ah ok, I didn't know that.
-
Welcome on the forums, by the way. Also I don't think you need to turn on extensions, since adding one will add it, just not show it, but I recommend enabling them anyway because it's much easier to work that way.
Sorry to prove you wrong Dj, but if you would add an extension without them being "seen" you would end up having a *.tns.gb | *.tns.gbc or even something like *.gb.tns.gb etc.
Really? I thought if you had a .gb file and changed it to .gb.tns, it would simply show .gb and hide .tns? Does it really re-append another .gb afterward? ???
-
yes I did check before my post
and yes Windows is silly...
-
Wow O.O
I agree with you.
-
question when i open the ti nspire cas touchpad version of gbc4nspire it runs only the most downloaded rom... it flashes the menu then load instantly... and it doesnt give me the option to choose... i have os 2.1.0
-
this is sadly "normal" behavior
but the touchpad version is hex edited since the original source is lost.
and as the hex editing process is quit difficult, I think we should be glad that there is a touchpad compatible version(even if it has bugs)
a workaround is to simply make for every game a directory in which you do always a copy of gbc4nspire and the rom of the respektive game.
-
ok thank you!
it worked perfectly. annoying but doable.
-
@coolrudski: If you have a small addition or amendment to make to your post, please use the "quick modify" button in the lower right hand corner.
-
Ndless now supports the Touchpad : is it possible to build a version supporting the Touchpad ?
-
Ndless now supports the Touchpad : is it possible to build a version supporting the Touchpad ?
gbc4nspire cannot just be "built", as the source code has been lost. The only way to adapt it to work on newer versions of Ndless would be to hex-edit it, which is a very tedious task.
-
And there is no other GB emulator for the Nspire ?
-
And there is no other GB emulator for the Nspire ?
Nope, gbc4nspire is the only one.
-
Speaking of emulators who was the creator of the NESpire? I was thinking to continue the work and work onto getting a true NES emulator on top of the GBC emulator, since NESpire hasnt been worked on for a while...
-
Goplat was the author of NESpire, but I don't know his future plans for it. You would need to PM or e-mail him to ask.
-
This is awesome. It's a shame that the touchpad version doesn't have the controls to save/load state to file :\
-
Heya and welcome on the forums. As for TOuchpad controls I think a version was uploaded somewhere but I forgot the link. I'm not sure if it had touchpad controls, though.
-
Mrakoplaz re-did the controls so they work with the touchpad layout. They replace the arrow key controls with numpad keys for the directions and such... I'll find a link
EDIT: http://ourl.ca/3840/166688
-
Actually this project is by Calc84maniac and Goplat ported it to Ndless 1.7. Do you mean Mraklopaz actually ported it to the Touchpad?
-
Yeah, he did some assembly work and changed the layout to work with the touchpad.
BTW, his name is spelled Mrakoplaz :P I have seen you spell it wrong before and just wanted to tell you ;D
-
Ah ok :D. And yeah his nick is a bit hard to spell to be fair XD. It reminds me Kllrnohj nickname on Cemetech, it took me 2 years to get it right. XD
-
No worries, bro, just telling you :P
-
Thank you for the link momrocker :P
-
Since I don't have a Clickpad, I've hacked around a bit in assembly to make this great program work with the Touchpad - it's a really really ugly hack, and the ROM selection screen is still broken (always selects the first ROM in the list), but hey, it's better than nothing!
Why is the ROM selection screen broken on the gbc4nspire TouchPad hack?
-
This is a bit of a necropost, but I had to tell calc84maniac that gbc4nspire is freaking amazing! It just rocks so much.
Thanks a lot, thanks thanks thanks, AWESOME program, nice job!!!!! ;D
-
so the nspire touchpad works like half as you can play only 1 game?
-
Yes, but you can make a directory for each game and put a copy of the emulator in each one.
-
Yes, but you can make a directory for each game and put a copy of the emulator in each one.
This is one of the reasons why I'm always shouting "GBCFOURNSPIRE" at calc84maniac.
-
Yes, but you can make a directory for each game and put a copy of the emulator in each one.
woudlt that take up ver ymuch space anf be full very soon?
They should make a micro sd expansion slot lol
btw how do i go out of it after turning gbc4nspire on?
-
If you don't mind me asking, is English your first language? We have several subforums in more familiar languages if you wish. You exit gbc4nspire with the ON key, if I recall correctly.
It would take up more space, but that's something you have to live with. It doesn't even compare to the space taken up by the ROMs themselves, anyway.
-
If you don't mind me asking, is English your first language? We have several subforums in more familiar languages if you wish. You exit gbc4nspire with the ON key, if I recall correctly.
It would take up more space, but that's something you have to live with. It doesn't even compare to the space taken up by the ROMs themselves, anyway.
yeah true,
sorry that was typing like 3 seconds, as high as possible wpm with a lot of errors..
english isnt no its my third, first is dutch.
-
That sucks, the dutch board got closed recently due to no one using it x.x
-
I suggest Google Translate (http://translate.google.com/) to make your posts more understandable and to avoid appearing immature.
-
I suggest Google Translate (http://translate.google.com/) to make your posts more understandable and to avoid appearing immature.
lol you got minus one from somebody, not me, no seriously.
Anyway I am better than google translate -.-
-
It's just fantastic, but i don't want to pay 130€ for a gameboy...
-
I suggest Google Translate (http://translate.google.com/) to make your posts more understandable and to avoid appearing immature.
lol you got minus one from somebody, not me, no seriously.
Anyway I am better than google translate -.-
@runeazn:
This is true, google translate is pretty poor. Your sentences are a bit odd sometimes, but for it being your third language, I'd say you don't do too badly. =)
@Eiyeron: True, I'd imagine most people own them because they were required to get it for a specific math course. The emulator is just a plus for those that do own one. ;)
-
http://www.ticalc.org/archives/files/fileinfo/426/42630.html
when i play mario it looks different than that,
my screen get white/vague every time i move very fast so it is unplayable why does the screenshot not do the same?
-
Thanks to the emulator.
As we said : the problem is the screen, not the program.
-
i know the the screen is the problem btu why is the screenshot so good i wondered
-
i know the the screen is the problem btu why is the screenshot so good i wondered
Animated screenshoots are always made with an emulator. You can't make the same by clicking "unit screen shoot" 10 times a second :p
-
oh yeah lol XD
-
Because computer screens (at least the ones that everybody uses nowadays) have very fast response times, usually less than a hundredth of a second. The exact same thing is being sent to the screen on both the calc and the emulator, it is the physical characteristics of the nspire's screen that causes the blurriness. There's nothing we can do about it short of opening up the calc and replacing the screen with a better one.
-
i know the the screen is the problem btu why is the screenshot so good i wondered
It was played on the computer. The blur is not emulated, it's just played frame for frame.
-
Hey guys, I just did some hex editing on top of Mrakoplaz's touchpad hack, and I got all the controls to function properly again! :D
ROM select menu:
ESC is quit
8,5 are up,down
ENTER is start rom
Game controls:
4,5,6,8 are arrows
TAB is A
CTRL is B
MENU is START
DEL is SELECT
Emulator controls are the same as clickpad:
ON is exit
+/- is change contrast
Hold x (multiplication) to speed up emulation
ex is save state
10x is load state
-
Well done :)
-
Okay, I redact that last version. I started a hex edit from scratch (meaning the clickpad version), and I successfully got full touchpad support! I remapped the keys accordingly:
ROM select menu:
up/down: select rom
click/enter: start rom
Game controls:
touchpad: arrows
doc: A
menu: B
var: START
del: SELECT
Emulator controls:
esc: quit
+/-: change contrast
x (multiplication): hold to remove speed limit
ex: save state
10x: load state
-
Nice work! I saw about this in the IRC logs. Surely you are a wizard of some sort, with all this magical codification and whatnot. ;D
-
Great job, calc84. ;D How hard was it to hex edit the mess?
-
Great!
Could you edit the first post of the topic (or create a new topic) so that any new user can find this version easily?
-
Great!
Could you edit the first post of the topic (or create a new topic) so that any new user can find this version easily?
Actually, I've found that the way I currently handle the touchpad->dpad conversion is unsatisfactory, so I'll try to improve it (and also add numpad support back in for those who prefer that)
-
Hey, sorry to bump this, but has anyone had any luck getting either Mario's Picross or Mario's Picross 2 (Japan only)? I get to the menu but as soon as I try to start a puzzle the whole calculator freezes and I have to pull a battery.
Thanks!
-
I hex edited a TI-Nspire CX version, check it out! :D
(http://otbp.tifreakware.net/images/HNI_0032.JPG)
(http://otbp.tifreakware.net/images/HNI_0033.JPG)
(http://otbp.tifreakware.net/images/HNI_0034.JPG)
(http://otbp.tifreakware.net/images/HNI_0035.JPG)
(http://otbp.tifreakware.net/images/HNI_0036.JPG)
(http://otbp.tifreakware.net/images/HNI_0037.JPG)
(http://otbp.tifreakware.net/images/HNI_0038.JPG)
-
omfg!
It looks awesome! XD
-
Oh my god !!!!
nonono, let me rephrase it.
Oh my calc84maniac !!!!
:P jk
This is <no word to explain it>
-
HOLY CRAP I cant wait to play that!
-
now all we need is sound! XD
-
This is for CX ndless?
-
Oh wow O.O Now I want to get one of these things O.O I prefer emulators on hand held devices and this will mean I get to play my Pokémon Yellow version again :3
-
This is for CX ndless?
Yep, though it's still internal alpha so it's not extremely stable.
Also, the Nspire CX screen makes even the black-and-white games look great since it doesn't blur! Because of that, the CX version of gbc4nspire updates the screen at ~60Hz instead of ~12Hz, so it's a lot smoother too.
-
:O
Now I want the official release of ndless 3. Now.
-
Very nice !
-
I hex edited a TI-Nspire CX version, check it out! :D
Well done! This mustn't have been easy.
-
Awesome, congratulations :)
-
Congratulations :)
How about a brand-new 84+ emulator - or even greater, a 89T emulator ? ;)
-
Beautiful! :)
-
Congratulations :)
How about a brand-new 84+ emulator - or even greater, a 89T emulator ? ;)
That would also be great!
-
Here's a Youtube Video :
-
You just made me a torticollis in less than 3 minutes, congratz... joking
Anyways it seems to be working quite nicely!
I wish I had a CX instead of my touchpad... Colours is the future!
-
This is some really amazing stuff! Great job, calc84maniac! :D
By the way, we should really hold off on the requests for emulators here... calc84maniac, although he hacked this thing really, really fast, is likely busy with plenty of stuff, and may or may not have the motivation/time to pick up another project. ;) These things are hard to write, so give him some space and time, and don't pester him. :P
-
Sure, alberthro ;)
-
So amazing !
Congrats :)
-
Here's a Youtube Video :
O.O
I would post what I think about this but I would get banned for flooding in all caps with psychedelic smileys.
Anyway question: Will the CX version of the emulator use a higher framerate? I remember the framerate on the old version was lowered only because the old Nspire screen was so blurry that any higher framerate made games unplayable, but the CX barely has any blur at all (I only ever saw it in CubeField and even then it's barely even noticeable). The lack of blur on the CX means you could use the full framerate, right?
-
guys, i'm new here, and i don't know much about calc programming, can some1 explain to me if this works on the ti-nspire CX (colors) , and what do i need to do to make it work there?
Cuz ndless was made for an os lower than the one on this one, and i thinks it is impossible to downgrade.
Guys, awesome work, making us really like math classes. Thx, really.
-
Hi Pedreda, welcome here!
You should read this (http://ourl.ca/143390), ndless for the CX was not yet released.
-
are there any plans to release it?
i thought it was for the CX, cuz i saw colors in the screenshots...
-
It s for the cx but just not released yet :D
-
oh, i get it, and that alpha release i think on page 9 or 10, it is for...
-
what?? everything goes like suuuuper fast now, i'm quite shocked, but positive xp really nice everyone, keep on going this way! it's amazing, when will it be realeased? or isn't it stable yet (i know you had that question over a billion time but i wanna know :) )
-
I know I want this :P
-
Holy moly :o
This is amazing... :crazy:
My head just exploded :banghead:
How long do you estimate before this comes out?
Is it going to be months like I was told about the older Ndlesses...
-
Wow, calc84, this is incredible. Excellent work!
-
I hex edited a TI-Nspire CX version, check it out! :D
(http://otbp.tifreakware.net/images/HNI_0032.JPG)
(http://otbp.tifreakware.net/images/HNI_0033.JPG)
(http://otbp.tifreakware.net/images/HNI_0034.JPG)
(http://otbp.tifreakware.net/images/HNI_0035.JPG)
(http://otbp.tifreakware.net/images/HNI_0036.JPG)
(http://otbp.tifreakware.net/images/HNI_0037.JPG)
(http://otbp.tifreakware.net/images/HNI_0038.JPG)
O.O
Quoting myself:
Nice work! Surely you are a wizard of some sort, with all this magical codification and whatnot. ;D
O.O
I would post what I think about this but I would get banned for flooding in all caps with psychedelic smileys.
Anyway question: Will the CX version of the emulator use a higher framerate? I remember the framerate on the old version was lowered only because the old Nspire screen was so blurry that any higher framerate made games unplayable, but the CX barely has any blur at all (I only ever saw it in CubeField and even then it's barely even noticeable). The lack of blur on the CX means you could use the full framerate, right?
This is for CX ndless?
Yep, though it's still internal alpha so it's not extremely stable.
Also, the Nspire CX screen makes even the black-and-white games look great since it doesn't blur! Because of that, the CX version of gbc4nspire updates the screen at ~60Hz instead of ~12Hz, so it's a lot smoother too.
This almost makes me want to get a Nspire CX.
-
You should! It's only $194.99 in Canada :D
Seriously though, try checking for cheap ones on Ebay or something. X.x
-
You should! It's only $194.99 in Canada :D
Seriously though, try checking for cheap ones on Ebay or something. X.x
Do you want me to put a site where I got mine for 127$? They ship too.
I don't know if it's allowed to be "advertising" (i guess you could call it that)
-
It depends. Is that site legit? If so, then I guess it's fine, since many people might want one too.
I know I got my Nspire Clickpad for $90 on ebay plus $40 shipping fees brand new, while in stores over here it was like $169.99 without taxes, but sometimes on Ebay you gotta be careful with damaged screens and stuff.
-
For the normal CX $124.50:
http://www.bachcompany.com/product.aspx?ProductID=476
For the CX CAS $127:
http://www.bachcompany.com/product.aspx?ProductID=479
For Terms and Conditions (that has shipping details):
http://www.bachcompany.com/TermsAndConditions.aspx
The site also has other TI and brand calcs as well as overhead projectors, teacher bundles, etc.
I'm only putting this up to help, not to advertise (though it kinda is advertising...)
edit: And for DJ_O: YES it does have Voyage 200s under $200:
http://www.bachcompany.com/product.aspx?ProductID=104 ($166.49)
edit: I got mine here! I'm a satisfied customer :D
-
Ok, and you really got no issues with your item, right? Just asking, since I tend to not trust online stores very easily.
-
Ok, and you really got no issues with your item, right? Just asking, since I tend to not trust online stores very easily.
Nope, none.
-
I just tried limiting the GBC's speed to the Nspire CX's screen refresh rate, which seemed to fix all tearing problems. The only issue is that it reduces the gameplay to about 97% speed since the GBC and the CX have slightly differing refresh rates. I think this difference is really quite unnoticeable unless you put the calculator next to another GBC or emulator. Does anybody have objections to this?
-
Not me! Anyways 97% O.O AMAZING
-
(http://images4.wikia.nocookie.net/__cb20110729174159/marvelvscapcom/images/9/98/Phoenix-wright-objection.jpg)
I believe that a frameskip would be better. The game would run at 100% speed, but every 30th frame or so would be skipped. I believe this is a better solution for a few reasons:
- Accurately emulating the game itself is more important than accurately emulating the graphics.
- Skipping every 30th frame would be virtually unnoticeable, except maybe if you pay very close attention to graphical effects in which the game is trying to murder people with a history of seizures.
- If you were to implement a variable game speed limit (e.g. 50%, 200%, unlimited), you would need such a frameskipping method anyways.
-
Yeah, pretty much every good emulator out there have configurable frameskipping.
-
Yeah, pretty much every good emulator out there have configurable frameskipping.
Most emulators are designed to run on multiple PC platforms, which all have different specs. Considering gbc4nspire runs at full speed on the TI-Nspire CX, frameskip settings should not be necessary.
-
don't let this post die, i wanna hear the news!
-
Hey guys, do gbc roms take up alot of space on your nspire?
-
Game Boy games usually range from 32KB to 1MB, while Game Boy Color games are usually in the 1MB to 4MB range (with some exceptions, of course). The Nspire CX has 100MB of storage space, so you'll be able to fit quite a lot of ROMs on it.
-
Game Boy games usually range from 32KB to 1MB, while Game Boy Color games are usually in the 1MB to 4MB range (with some exceptions, of course). The Nspire CX has 100MB of storage space, so you'll be able to fit quite a lot of ROMs on it.
Ohhhhh yesss.... I expect for myself to be taking up all that space >:D
-
I have no objection to the GBCnspire speed management as it currently is. If you need all sorts of fanciful frameskipping and slowdown features, a PC would be a much better option. Also, I feel a slight slowdown is favorable on the nspire, due to its blurry screen. My only complaints are due to the nspire hardware, aside from the extremely minimalistic GUI and not having buttons vs touchpad as an internal option, rather than a recompile.
-
I have no objection to the GBCnspire speed management as it currently is. If you need all sorts of fanciful frameskipping and slowdown features, a PC would be a much better option. Also, I feel a slight slowdown is favorable on the nspire, due to its blurry screen. My only complaints are due to the nspire hardware, aside from the extremely minimalistic GUI and not having buttons vs touchpad as an internal option, rather than a recompile.
Oh yeah, I could definitely make two button arrangements active at the same time, since there are so many buttons. Therefore, no option needed :D
Also, the Nspire CX screen is not blurry, which is why the new gbc4nspire has no frameskip and I have to worry about tearing. The black-and-white version still has frameskip of 4 to combat the blurriness.
-
it does? I never noticed! (although I can see it now in retrospect :P) Is the frameskip just on rendering or does it also cause input lag?
-
it does? I never noticed! (although I can see it now in retrospect :P) Is the frameskip just on rendering or does it also cause input lag?
Just rendering. It processes everything internal to the gameboy normally, but only displays every 5th frame.
-
So I can't blame you for my suckage at Link's Awakening then? :( j/k
-
Is there a specific build for CX? If not are you using Ndless's hwtype() or a custom detection method?
-
It's a specific build. There are already different builds for clickpad and touchpad, and I'm making a separate one for CX, too. It's kind of necessary since I overwrote the GBC rendering code.
-
I just made a video of my own, featuring Oracle of Ages. :)
-
Very nice !
Indeed in my video, I didn't about its orientation(portrait)... >.>
(the screen brightness and contrast are so good in the video we can think it's fake lol)
-
OMG GREAT ! Colors are amazing ! :D
You can even play with the touchpad ! :)
-
hoohoohooh I see the future!
-
Nice :) The CX's screen looks great.
-
/me dies of awe
-
/me dies of awe
/me dies from annoyingcalc's annoyingness and from the GB emulator... And CaptainSparklez's skyblock survival vids...
-
Not sure if this would be too hard to hex edit, but could we have a keymap that uses BHIJ to move, M as B, and N as A? I feel like it'd be easier to play while holding the calculator in my hand.
-
/me dies of awe
/me CaptainSparklez's skyblock survival vids...
Hey, I sometimes watch his vids, and I Cant wait calc84
-
Gogogo Calc84! If you slow... WE WILL NINJA LOBSTER YOU IN YOUR SLEEP :ninja:
-
Oh, and for those who didn't see earlier on IRC, I finally fixed the glitch that caused Link's Awakening DX to crash. It turns out that it was disabling the LCD during scanline rendering, which I thought was utter taboo, but apparently that applies only to the original gameboy. It's perfectly legal on the Game Boy Color. So, when the LCD was enabled again, it would draw the entire gameboy screen starting at the line where the LCD was disabled, overflowing the buffer. So, now I make sure to reset the line pointer to the top of the buffer when the LCD is disabled.
-
Great!
-
Good ;)
-
Guys, has ndless 3.0 been released yet, or is this a dumb question that will get me laughed at?
-
Ndless 3 hasn't been released yet, and nobody, not even the programmers and testers, knows when it will be released :)
-
actually, I kinda want memory viewer/editor in gbc4nspire for "some" reason. :P
-
what's new calcul84?
-
Color? How... O.O (Yeah, this is late.)
-
I really can't wait to try this on my calc lol, especially Zelda Oracle of Ages. I'm glad you could edit the file despite having lost the source code. Is there any blur by the way? I noticed in CubeField there is (although it isn't as bad as on the old grayscale Nspire models).
-
The LCD response time is very good. There is a small amount of ghosting when tilemaps are scrolling quickly, but it's not too noticeable unless you're looking for it. I didn't notice it until I checked after your post :P
-
Lol ok. I personally only noticed it in Chockosta's Cubefield, for some reasons.
-
Well, I seem to have solved the framerate issue in the best way possible. I increased the framerate of the TI-Nspire CX LCD to approximately the same speed as the GBC framerate :D
How I went about this was by changing the horizontal update timings. Displaying a scanline consists of back porch, active data, and front porch. TI set the back porch to 38 cycles, and I didn't mess with that because I assume the LCD controller needs time to read in pixels before entering active data. On the other hand, TI set the front porch to 50 cycles, and that period is just waiting around. So I set the front porch to 27 cycles and then the screen updates at about the same rate as the GBC :)
-
Nice job! There really isn't a better solution than running at exactly the right speed, now is there? :P
-
Good job calc84maniac. :)
By the way will old Nspire models support be maintained? (such as the lower framerate requirement due to blurry screen?)
-
Good job calc84maniac. :)
By the way will old Nspire models support be maintained? (such as the lower framerate requirement due to blurry screen?)
Yes, any emulation fixes I applied to the CX version, I also applied to the clickpad and touchpad versions. The monochrome versions also now use the smoother scaling, as well.
-
That's good. :) Also will it be possible to use 2, 4, 6 and 8 for moving around as option? Otherwise it would be great if you could fix the abomination from TI that is touchpad controls, so we are not forced to stop touching the touchpad prior changing directions, making it impossible to play games that requires very quick U-turns and such things like Snake.
-
That's good. :) Also will it be possible to use 2, 4, 6 and 8 for moving around as option? Otherwise it would be great if you could fix the abomination from TI that is touchpad controls, so we are not forced to stop touching the touchpad prior changing directions, making it impossible to play games that requires very quick U-turns and such things like Snake.
Actually, I have it as 4, 5, 6, and 8 (since those are positioned more like arrow keys). Also 7 and 9 are diagonal-up, to make it easier to play with just a thumb. As for the touchpad, I directly translate the current position of your finger to a d-pad direction, which works as long as you aren't touching it with multiple fingers. It's still kind of tough to use due to the odd rectangular shape of it, though.
-
It's the resistive pad that's really the problem. Is there even a separate button for the section in the middle?
I've been thinking that it really looks like it would do well with a hex dpad using the buttons on the sides, and using the middle as a giant button. Not for gbcnspire, since it's emulating a 4-direction system, but for other games I think that would work well. The clickpads could approximate it since they have diagonals.
-
It's the resistive pad that's really the problem. Is there even a separate button for the section in the middle?
I've been thinking that it really looks like it would do well with a hex dpad using the buttons on the sides, and using the middle as a giant button. Not for gbcnspire, since it's emulating a 4-direction system, but for other games I think that would work well. The clickpads could approximate it since they have diagonals.
The whole thing is one big button, which is really stupid. You get no feedback whatsoever on what direction you're actually pressing (which makes it easy to slip between directions accidentally)
-
Yeah. The clickpad was much better, and the alpha keys were better placed too. Typing on the touchpad is much harder, since the alpha keys on the clickpad were raised and a decent distance apart.
-
Yeah. The clickpad was much better, and the alpha keys were better placed too. Typing on the touchpad is much harder, since the alpha keys on the clickpad were raised and a decent distance apart.
The alpha keys on the clickpad kind of get in the way of everything else, in my opinion.
-
not for me. They felt just the right size. I have narrow fingers tho.
-
I personally dislike how both the click and touchpads are in the middle too. it makes it so hard to play games since we're used to having directional controls to the left or the right x.x
-
I think we can all agree that all of them are inferior to the 83+ keypad. Luckily for us they made that for the nspire too!
-
Yes, in the community, most of the people used to the TI-Z80 and TI-68k keyboards find them superior to either Clickpad or Touchpad keyboards, which both suck for typing a mix of text and numbers :)
-
92's keyboard is far away the best one, IMO. Perfect dpad placement, extremely roomy, qwerty keyboard, etc.
It was begging for games.
-
Indeed, it was begging for games. But the 92 / 92 II / 92+ never got as much success in the marketplace as the 89, due to at least the large form factor, and the QWERTY keyboard which forbade its usage in a number of standardized tests around the world.
-
I agree, the 92's formfactor and keylayout was (and still is) perfect.
I would wish for a Nspire with that formfactor, but I know it will not come :P
-
Actually, with some hackery I was thinking about making that happen. The way I count it, the clickpad has 79 keys, not including the dpad. The 92 has 76. I can live with 3 keys being missing, considering that one of them is log( and another is x^2, both of which are easily replaced, by either typing log or doing the ^ manually.
This will require either some intense soldering or some awesome cross-calc-communication.
-
That would be really sweet to see something like that come together, but I'd imagine it would be a ton of work. O.O
-
It would, in either circumstance :P One requires hours of soldering, while the other requires complicated assembly programming on two separate platforms, neither of which I have programmed on. Plus, I lost my silverlink, so programming the 92 is kind of a lost cause.
-
BUG: Mortal Kombat 4 crashes after about 30 seconds
-
Btw in future versions of gbc4nspire I wonder if you will add color support for old gb games like maybe the GameBoy Player on the Game Cube, or even the Super Game Boy? For example when I load my 1991 cartridge of Metroid II in my Gamecube's GB Player, samus is yellow, walls are blue, etc. I think that device had colors for every game pre-programmed into it, though, because it seemed weird that it could assign colors so well for that game considering the game didn't support colors.
Also bug report: When entering gbc4nspire ROM selection screen for the second time, it selects my ROM automatically without letting me choose. ???
-
Btw in future versions of gbc4nspire I wonder if you will add color support for old gb games like maybe the GameBoy Player on the Game Cube, or even the Super Game Boy? For example when I load my 1991 cartridge of Metroid II in my Gamecube's GB Player, samus is yellow, walls are blue, etc. I think that device had colors for every game pre-programmed into it, though, because it seemed weird that it could assign colors so well for that game considering the game didn't support colors.
the gameboy color interpreted the grayscale
-
Btw in future versions of gbc4nspire I wonder if you will add color support for old gb games like maybe the GameBoy Player on the Game Cube, or even the Super Game Boy? For example when I load my 1991 cartridge of Metroid II in my Gamecube's GB Player, samus is yellow, walls are blue, etc. I think that device had colors for every game pre-programmed into it, though, because it seemed weird that it could assign colors so well for that game considering the game didn't support colors.
Also bug report: When entering gbc4nspire ROM selection screen for the second time, it selects my ROM automatically without letting me choose. ???
Color support for those games won't be very easy because I don't differentiate between sprites and tilemaps when outputting my 4-bit grayscale values. Also, the smooth scaling wouldn't work if I don't map the color values from 0-15 to the corresponding grayscale.
As for the ROM starting glitch, that's because Ndless doesn't make sure you let go of ENTER when starting a program (I suggested this to ExtendeD but he hasn't done so yet). For now, just hit the click button to start gbc4snpire instead of pressing ENTER.
-
couldn't that be avoided by putting such a check in gbc4nspire? in some circumstances it may not be desirable to have such a check in ndless's own loader. Example: I could do a keypad check by checking the activated keycode, since the click and enter buttons are unique on the clickpad and the touchpad.
-
couldn't that be avoided by putting such a check in gbc4nspire? in some circumstances it may not be desirable to have such a check in ndless's own loader. Example: I could do a keypad check by checking the activated keycode, since the click and enter buttons are unique on the clickpad and the touchpad.
The OS already waits until you let go of the click key to open a document (which is why using it prevents this issue in the first place)
Edit: Also, that's an awful way to do keypad detection.
-
Weird, I thought there could have been a way like in TI-83+ BASIC, where you just do 0getkey prior the main loop. And I see about the color addition. D:
-
Weird, I thought there could have been a way like in TI-83+ BASIC, where you just do 0getkey prior the main loop. And I see about the color addition. D:
It is certainly possible, but I really don't want to try hex editing that mess again :P
-
Suggestion for controls of the new CX version, because the current setup is a bit problematic for people used to TI-84+ gaming:
To exit gbc4nspire, I think you should need to hold down Esc for at least half a second instead of just pressing it to exit instantly. If that is problematic for people who don't read readmes properly, then have it as an option that is saved in the Nspire memory.
This is because on the TI-84 Plus, in most games, shooting, confirm and the main action key is 2nd. On the TI-Nspire keypad, the Esc key is placed exactly where 2nd is on the 84+, if we base ourselves on the d-pad. As a result, when I try shooting in nDoom or confirming in gbc4nspire, I always have the reflex to press the Esc key, accidentally exiting the software by mistake and losing progress.
-
I do that way to much because I get confused with nespire's controls
-
Suggestion for controls of the new CX version, because the current setup is a bit problematic for people used to TI-84+ gaming:
To exit gbc4nspire, I think you should need to hold down Esc for at least half a second instead of just pressing it to exit instantly. If that is problematic for people who don't read readmes properly, then have it as an option that is saved in the Nspire memory.
This is because on the TI-84 Plus, in most games, shooting, confirm and the main action key is 2nd. On the TI-Nspire keypad, the Esc key is placed exactly where 2nd is on the 84+, if we base ourselves on the d-pad. As a result, when I try shooting in nDoom or confirming in gbc4nspire, I always have the reflex to press the Esc key, accidentally exiting the software by mistake and losing progress.
That happens to me quite a lot, too. D:
Also, maybe can you change that easter egg color little bit darker?
-
Hi, everyone reading this.
I'm here to report a supposed bug of gbc4nspire.
I had a problem while playing "Zelda - Link' awakening". After finishing level 1, you have to save "Bow-wow" from the Moblins. I could do it once and even continue up to half of the level 2. But then, the save seems to have failed since I had to restart from the last save and from now on, each time I try to get to the Moblins lair, the game and the calc freeze just after I beat the first Moblin. Grey and white stripes appear on all screen and only a reset can save you.
Don't know if it is known or even if Gbc4nspire is the cause... but I think it was to be said.
Apart from that, great job from calc84maniac.
-
It might be the rom's problem. I have already have had two problems with roms. One was a mario tennis freeze where the screen botched up and the other is a Super Mario Deluxe where (as i know of so far) world 1-1 when racing boo and world 8-1 (normal world), at the end, random sprites like blocks, goombas, springs, flags, appear littering the screen and you can't get past so it is impossible to beat the level.
Either way, it is possibly a rom issue. Try finding another rom.
Sorry if this is against rules, I'm not sure.
Try getting Link's Awakening by searching on Google and search "dope" (i guess)
If this is a violation of rules in any kind, tell me and I'll edit the post or you can edit it.
edit: Is this still a violation?
-
Indeed, posting links to Rom sites is against the rules. What you can do, though, is Google ;)
(edited btw)
-
Sorry, I'll edit it too.
I edited the where to find. tell me if it is still a violation
-
Yeah avoid posting ROM links directly or sites exclusively related to console roms or stuff like that. But yeah it's probably a ROM issue. Does the ROM need an header in particular by the way to run in gbc4nspire? I remember some emulators did that.
-
It might be the rom's problem. I have already have had two problems with roms. One was a mario tennis freeze where the screen botched up and the other is a Super Mario Deluxe where (as i know of so far) world 1-1 when racing boo and world 8-1 (normal world), at the end, random sprites like blocks, goombas, springs, flags, appear littering the screen and you can't get past so it is impossible to beat the level.
Either way, it is possibly a rom issue. Try finding another rom.
Sorry if this is against rules, I'm not sure.
Try getting Link's Awakening by searching on Google and search "dope" (i guess)
If this is a violation of rules in any kind, tell me and I'll edit the post or you can edit it.
edit: Is this still a violation?
like my links awakening has unlimited health >_>
-
speaking of ROM issue, Megaman 5 freezes. D:
-
Hey, sorry to bump this, but has anyone had any luck getting either Mario's Picross or Mario's Picross 2 (Japan only)? I get to the menu but as soon as I try to start a puzzle the whole calculator freezes and I have to pull a battery.
Thanks!
The new version works with Mario's Picross! I can see my math grade falling now <3
-
Have a new version with file associations! http://www.ticalc.org/archives/files/fileinfo/426/42630.html (http://www.ticalc.org/archives/files/fileinfo/426/42630.html)
-
Great!
-
Great update calc84! ;)
-
awesome calc84maniac. Is it in sync with the Omnimaga upload? (I think it links to ticalc.org but I forgot)
-
Yay :D
Great job on hex editing this again !
Just at the time I was going to get Celebi :P
(D: no longer 768 posts)
-
Hello,
I'm playing Pokemon Crystal with the emulator but the game time doesn't move : even when I'm playing the time is stuck to 8:44AM.
Is that normal ? Is there a way to change the time, because I can't catch night Pokemons ?
Thank you in advance !
-
Yay necropost :P
I have had the same problem and after some searcing I think I found the cause:
"The energy left in the battery - the time you set in the game when you start= the time in your game, but since this is a rom, it doesn't have the battery, so no subtraction." So unless you can patch the ROM in some way, I don't think you can get time to work.
-
I played Pokémon Gold and occasionally, the time actually went backwards. I found that if I corrupted the file a little (exiting in the middle of a save), the data would be fine, but there would be an option to reset the time (so I set it to 6:01 PM and that is how I figured out that time travels backwards). As well, opening certain menus or doing some other events appears to change the day. For example, opening the Pokégear and using left or right to go to the other options will move the day forward by 2 days (it is actually more like 9 days or more, but the net effect is two days and the week changes so you can do the lotto thing). It feels kind of like cheating to do this, but since there is no other way to actually change the time, it is needed for some parts of the game.
-
Does this happen in every emulator too by the way or are there some that have exceptions that emulates cartridge battery features as well?
-
@Torio: The pokemon game lets you manually change the time IIRC. I think there is a button sequence you use at the title screen. Since the emulator doesn't support the battery, you'd have to change it manually every time you want a different time of day. *edit* it's hold the down arrow, b button, and select for pokemon gold and silver. It appears to have changed or been removed for Crystal. I don't remember. You can try looking it up.
-
A lot of emulators have battery emulation. I guess it's just a limitation if this one.
-
It could be added, but I think the source was lost on this project. That makes it a pretty big PITA to edit it unfortunately. :/