Show Posts

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


Messages - Goplat

Pages: 1 [2] 3 4 ... 20
16
Humour and Jokes / Re: Pi day
« on: March 15, 2012, 06:49:04 pm »
Pi is wrong. We should really be celebrating Tau Day, on June 28.

17
News / Re: Secret Nspire OS popups!
« on: March 14, 2012, 04:52:54 pm »
Also EEPRO isn't linked with EEPROM, right?
Right, no relation. EEPROM means electrically-erasable programmable read-only memory; it's like Flash except that individual bytes can be erased instead of having to erase entire large blocks.

18
Other Calculators / Re: Monopoly Nespire
« on: February 11, 2012, 12:59:42 am »
Pretty sure it's against Omnimaga rules to upload ROMs.

19
TI-Nspire / Re: Would an NES emulator be possible on Nspire?
« on: February 07, 2012, 10:46:30 am »
The Japanese Super Mario Bros. 2 (aka "Lost Levels") was for the Famicom Disk System add-on, which was a lot more than just a mapper.

20
TI-Nspire / Re: Would an NES emulator be possible on Nspire?
« on: February 05, 2012, 06:24:56 pm »
Just added support for Ndless file associations. Also added a workaround for the Sonic the Hedgehog $2002 issue (turns out some other games have the problem too).

Would there be any chance of the American Video Entertainment's (79) mapper to be supported in a future release
I'd need to make it possible for mappers to hook reads/writes to 4000-7FFF addresses, right now the mapper is only called when writing to 8000-FFFF.


21
News / Re: Ndless 3.1 adds support for file associations
« on: February 05, 2012, 03:44:26 pm »
Aren't the other versions made by patching the original Clickpad version? Should be much smaller to just have the Clickpad version + patches + code to apply patches at startup.

22
TI-Nspire / Re: Would an NES emulator be possible on Nspire?
« on: February 03, 2012, 02:58:10 pm »
ERROR: unimplemented mapper
Guess I had better explain this. The NES hardware only provided 32kB of memory space for program ROM and 8kB for character ROM. This wasn't enough for most games, so to overcome these limits they would add hardware in the cartridge, called a "mapper", that the game could use to map different parts of ROM (and sometimes RAM) into memory. Some mappers would have other functions as well.

There are over 100 different kinds of mappers that have been used, and some are very complicated, so being able to emulate every one of them is a tall order. I've implemented only a few of the most common ones.

23
TI-Nspire / Re: nJava - Nspire JVM
« on: February 01, 2012, 03:04:00 pm »
Java would be nice on the Nspire since a bunch of people know this language and this might increase the Nspire programmer audience considerably, although of course it won't be even close to Ndless (and maybe Lua?) performance.
Running Java code is generally faster than running Lua code, because of the type information available to the JVM. Take object field accesses for example - in Java, if you have a variable "Rectangle r", the JVM knows at class-loading time that it points to a Rectangle object, and therefore can determine in advance what location within the object will be accessed in an expression like "r.width". In an untyped language like Lua, on the other hand, fields have to be looked up by name at run-time every time they're accessed, which is much slower.

The main problem with Java isn't its execution speed, it's its size. JamVM brags about its executable being only 200KB, but how much memory does it use, and how big is the required class library? Porting the class library could also be a lot of work. I was considering porting the CLDC reference implementation (a Java environment with a much smaller class library) a while ago, after I had found out about Jazelle, but never did anything substantial to that end.

24
TI-Nspire / Re: Would an NES emulator be possible on Nspire?
« on: January 28, 2012, 09:57:04 pm »
But I'm using your makefile, so it should be calling arm-none-eabi-gcc.
EDIT: I changed "%.o : %.S" to "%.o : %.s", and it's working better. However, it's still saying...
It has to be a capital S; gcc won't use the preprocessor if the input file is named with a lowercase s.

...and I just realized I screwed up and named the files with a lowercase s anyway, which doesn't matter on Windows (case insensitive) but would be a problem on Unix (case sensitive). If you're using a Unix-like OS, just rename the files to have a capital S and it should fix it.

25
TI-Nspire / Re: Would an NES emulator be possible on Nspire?
« on: January 28, 2012, 09:39:55 pm »
can you make sonic work for me it gives a blank screen

Sonic has anti-emulator protection (or possibly just bad programming), which is not so easy to fix. It's getting stuck in the following loop:

E4DC   AD 02 20   LDA $2002
E4DF   10 FB      BPL $E4DC


This loop waits for the high bit of address $2002 to become set. The NES sets this bit at the beginning of the vertical blanking interval of each video frame. However, the NES *also* invokes an interrupt handler at the same time, and this game's interrupt handler takes so long that by the time it returns, the vertical blanking interval is already over, so $2002's high bit is clear again - the loop can never exit. The only reason it works on real NES hardware is because eventually the vertical blanking interval will happen to start in the middle of reading the LDA instruction, so the instruction reads a value with the high bit as set, because the interrupt won't be called until the instruction is finished. I can't emulate things happening in the middle of instructions; having to check for that would be extremely slow.

It seems to work if you just patch out that offending routine - hex-edit a copy of the ROM and change the byte at 3E4EC from AD to 60 (a return instruction).

Reo: Those errors imply you're trying to use an x86 assembler, rather than the ARM assembler required.

26
TI-Nspire / Re: Would an NES emulator be possible on Nspire?
« on: January 27, 2012, 03:30:33 am »
Version 0.30:
  • Battletoads graphical problems fixed
  • ROMs are now loaded from external files, like gbc4nspire does - no more "copy /B" necessary
  • Implemented saving save memory to a file. (Only applicable to games that actually had save memory - savestates are still not yet implemented)

27
News / Re: Fill your CX with Doom!
« on: January 26, 2012, 01:57:07 pm »
Reading from the screen can't be a problem specific to Ndoom - Both boot2 and the OS do it during initialization, and so does Ndless ploaderhook (line 65: "memcpy(savedscr, SCREEN_BASE_ADDRESS, SCREEN_BYTES_SIZE);"), but Ndoom doesn't do it.

I think the problem is related to the memory access size. I've seen the bug happen in my own programs when using byte-sized accesses, but never when using word-sized accesses.

28
TI-Nspire / Re: Would an NES emulator be possible on Nspire?
« on: January 21, 2012, 07:24:45 pm »
If a filename has spaces in it, you need to put quotes around it.

Code: [Select]
C:\nspire\nespire>copy /b nes.bin+Mega Man 2.nes megaman2.tns
The syntax of the command is incorrect.

C:\nspire\nespire>copy /b nes.bin+"Mega Man 2.nes" megaman2.tns
nes.bin
Mega Man 2.nes
        1 file(s) copied.

29
Trapped for the TI-Nspire and TI-89 / Re: Block Dude Nspire
« on: January 21, 2012, 02:22:56 pm »
Any reason not to just use the Lua port?

30
TI-Nspire / Re: TI-Nspire emulator
« on: January 20, 2012, 02:19:36 pm »
Code: [Select]
nspire_emu.exe /MC /N /F=emu.bin /PO=c:\nspire.tnc
I got rid of /N because it just adds an extra unnecessary step to the goal of creating a flash image with the OS installed. Here's a quick guide to getting set up without it.

TI-Nspire or TI-Nspire CAS, starting at boot2: (this will work with boot2 version 1.4 only; boot2 version 3.0 requires that you start at boot1. The newest OSes require boot2 version 3.0 unless you TNOC them.)
First run (non-CAS): nspire_emu /B=boot2.raw /PO=os.tno
First run (CAS): nspire_emu /B=boot2.raw /MC /PO=os.tnc
After installation is complete, go to "File -> Save As..." to save flash image
Subsequent runs: nspire_emu /B=boot2.raw /F=flashimage

TI-Nspire or TI-Nspire CAS, starting at boot1: (note that you must use the original boot2.img; don't decompress it)
First run (non-CAS): nspire_emu /1=boot1.raw /PB=boot2.img /PO=os.tno
First run (CAS): nspire_emu /1=boot1.raw /MC /PB=boot2.img /PO=os.tnc
After installation is complete, go to "File -> Save As..." to save flash image
Subsequent runs: nspire_emu /1=boot1.raw /F=flashimage

TI-Nspire CX or TI-Nspire CX CAS, starting at boot1: (this is the only way to run a CX OS - all versions of the CX boot2 require that you start at boot1. Again, you must use the original boot2.img; don't decompress it)
First run (non-CAS): nspire_emu /1=boot1cx.raw /MX /PB=boot2cx.img /PO=os.tco
First run (CAS): nspire_emu /1=boot1cx.raw /MXC /PB=boot2cx.img  /PO=os.tcc
After installation is complete, go to "File -> Save As..." to save flash image
Subsequent runs: nspire_emu /1=boot1cx.raw /F=flashimage

Pages: 1 [2] 3 4 ... 20