1

Nesquick is a Nintendo Entertainment System Emulator for TI-68k's, written in assembly. There is already a thread in the french part of the forum, now I hope that with this international topic everyone will be able to dicuss about the project smile
Here is the actual state of the project:
- CPU is entirely emulated, but is still buggy
- PPU i/o's are nearly finished
- display is not fully done yet, and being re-written
2 realeases have been done, you can find them here (source are included under GPL licence):
nesquick_v0.1.zip
nesquick_v0.2.zip
the third version is under developpment and here is a list of the new features:
- optimisations in the CPU core (thanks to Nyall a.k. Samuel Stearley and Pollux)
- background display/scrolling reviewed (not done yet)
- sprites masked (white is transparent) and vertical / horizontal flipping (done)
- more ROMs supported (official games)
Before the next release I would like to have a 100% working CPU (bug-free). Games such as Bomberman1, Arkanoid (Taito) and Donkey Kong 1 are supported by the version under developpment, but crashes after a few minutes because of some bugs in the CPU core.
Anyway in this topic all your suggestions and ideas of optimisations are welcome smile

2

I never had a NES, so I don't expect anything special. This looks great.
Although I did not try your program, I know that proper emulation of a complete system is difficult to achieve.
I did had a glance at the source code however. Well, it's lacking a more detailed documentation (though I think I'm not the one who should be doing this kind of comment cheeky ). Well, I suppose it's fine as long as you can find your way in it.

Good luck for the third release. happy

3

This project looks very interesting! I have seen the idea of an NES emulator come up before, but never any work done on the project.

I played Nibbles and had a few thoughts:

How are you planning on dealing with the screen-difference issues?

It seems that you have disabled the 2nd+Left+Down+Right+Up+On reset mechanism. I couldn't find any way to exit the game once I had started and had to pull out my calc's batteries to exit the game.

Overall, the concept of creating an emulator to play a bunch of different, pre-made games instead of making games from scratch is a great idea! Good luck with the project - I'll be following its development, and if you need a beta tester, I have a HW2 TI-89 (ROM 2.05).

4

./2 > You're right, I have the bad habbit of never commenting my source codes :/
./3 > the reset key-combinaison doesn't work because all interrupts are redirected (except auto-int 3).
I'll try to think about an escape key for the next version wink
The beta-test is public, if you find bugs on things that are already implemented and supposed to work, you can report them on this topic (bugs in the CPU or PPU for example). However, the v0.2 will surely crash with other games, but you can still make your own roms though (compatible nes roms, ie mapper 1 games such as Bomberman1, Donkey Kong 1, SMB1, Arkanoid for example) simply by applying ttbin2oth on the original .nes file.
For the screen issue, I really don't know yet. Maybe a real time scrolling system of the nes screen on the calc screen during the game, or a zoom of the nes screen that would fit on a 240x128/160x100 one.

5

hu stop, the ttbin2oth way won't work for a lot cartridge since they are bigger than 64KB
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

6

I said compatible roms:
Bomberman1, Donkey Kong 1, SMB1, Arkanoid are mapper 1 games and are smaller than 64kb.

7

mapper 1 ? you may want to say Mapper 0 (aka No mapper) ? because mapper 1 is MMC1 ^^
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

8

oups you're right i meant mapper 0 games happy
The games quoted above are mapper 0 roms.

9

Hey good luck; I have a lot of Nes Roms on my computer, so if you want me to test them, tell me so.
What about that <64Kb roms? Will you pass trough this limit soon?(update ttbin2oth?)

smilesmile
avatarL'homme qu'a vu l'homme qu'a vu l'ours, qu'a mangé l'facteur..

10

ttbin2oth can"t do nothing for nes files larger than 64KB (not Kb, it's not the same thing)
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

11

Ok.
(Kb=Kbits and KB=KBytes) yes sorry.
avatarL'homme qu'a vu l'homme qu'a vu l'ours, qu'a mangé l'facteur..

12

is nesquick still being worked on? would be a pity to have another unfinished project

13

I think this forum's a little dead... but I think this project definitely looked promising. Nerick, are you still working on the project?

14

Yes nesquick is still alive, but slowed down though (i have another project going on)...
there are still a few bugs remaining in the CPU emulation part, and it is very hard to trace them by hand only with a basic debugger like vti. In fact, some games crash only after a few minutes, and it seems that the badly emulated opcodes write data in the wrong place in emulated nes RAM, screwing up the memory (this is easy to establish, by dumping the emulator's RAM while the game is runing, and comparing the data at the same moment with the RAM of a working emulator such as fceu). The difficulty is to find out when does this memory corruption happen, and it is a very long and boring task when you only have vti. I'm planing to make a set of tools which should simplify the debugging work, I'll have to think about that.
Anyway, I would like to have a bug-free CPU core before implanting the missing PPU features.