I poked around, and found this emulator:
https://github.com/binji/smolnes/tree/main
Was wondering, as its size is smaller, if by changing rendering systems, if it would be possible to port this to the TI-84 Plus CE.
Any help would be greatly appreciated! Razz
With a glance at the code, that looks like it wouldn't be too hard to port. Whether performance would be okay is another question, but it could be worth investigating further.
I think you'd struggle with performance but you never know, also it looks to use SDL so additional code would be needed to get it working.

Still would be worth the exercise even as a learning experience I reckon.
I've decided to start work.
To Do (1st Test):
Project Setup - 50% - makefile and icon
Inputs - 75% - keypad collecting
Visuals - 100% - almost everything
Rom Loading - 50% - Convert file to 8xp
Edit: Have a nice night everyone, will work more tomorrow
Update:
Getting error when attempting build, searched site & Google for this error:

Code:
macro ? [1534]
Custom error: section .bss is 1075584 bytes, 1014894 bytes larger than the maximum size of 60690 bytes.
make: *** [bin/NESTEST.bin] Error 2

Can someone give me pointers to where it is going wrong?

Code:
uint8_t *rom, *chrrom,                // Points to the start of PRG/CHR ROM
    ...
    rombuf[1024 * 1024],               // Buffer to read ROM file into

rombuf statically allocates a megabyte to hold ROM contents read from a file, which is much larger than the maximum size that can be allocated on CEs. You could probably remove this completely since the ROM is memory-mapped anyway (you just need to get the address of an appvar or whatever that the ROM is in), though handling ROMs larger than 64k might be a little bit tricky.
Tari wrote:

Code:
uint8_t *rom, *chrrom,                // Points to the start of PRG/CHR ROM
    ...
    rombuf[1024 * 1024],               // Buffer to read ROM file into

rombuf statically allocates a megabyte to hold ROM contents read from a file, which is much larger than the maximum size that can be allocated on CEs. You could probably remove this completely since the ROM is memory-mapped anyway (you just need to get the address of an appvar or whatever that the ROM is in), though handling ROMs larger than 64k might be a little bit tricky.

Will change code to fix this. I have already made a ROM appvar, so I will look into ways to get an address to an appvar. Do you have any pointers and suggestions for me to consider? (Little bit worried about memory manipulation, do not want to mess something up.)
Use ti_GetDataPtr.
Got a build put together (~8000 bytes compiled,) although I made two mistakes related to the Rom appvar. Testing tomorrow.
CoolModder wrote:
Got a build put together (~8000 bytes compiled), although I made two mistakes related to the Rom appvar. Testing tomorrow.


Well done! I'm looking forward to seeing updates on this project. Also, don't forget to keep us posted on Rom Appvar development.
Finally, have something:

(It is super slow (0.01 Frame Per Sec...)
EDIT: CPU spammed CEmu's console and crashed it, looks like PPU is behind the slowness.
Looks neat! Are you using the display in 16 bpp mode or 8 bpp mode?
commandblockguy wrote:
Looks neat! Are you using the display in 16 bpp mode or 8 bpp mode?
Whatever one graphx uses by default. Don't know the difference. Palette is messed up, and I may post the graphics routine to see if anyone can help fix it.
Todo:
- Fix Palette
- Fix Graphical Lag
I'd personally start out with something that doesn't scroll like Donkey Kong or Balloon Fight to ensure you get your initial PPU setup working.
Wow! You are making a lot of progress. I agree with Tr1p1ea that you should start with a small game, maybe DuckHunt. But so far, job well done! Smile
Yes and I should have added that the screenshot is exciting!

I started a NES emulator a while ago but never made much progress outside of CPU emulation.

Good to see people having a crack at it, I think there are a few around at varying levels of progress, which means some people may be able to help out or provide advice.
Alvajoy123 wrote:
Wow! You are making a lot of progress. I agree with Tr1p1ea that you should start with a small game, maybe DuckHunt. But so far, job well done! Smile

Will not include zapper support Sad. Will test Donkey Kong though, as Tr1p1ea suggested.
Palette fixing is proving to be difficult, and I have no where to start with PPU optimization. Will post code tomorrow.
Here is some good information on the PPU: https://www.nesdev.org/wiki/PPU

I see you do have some graphics working at least, how are you handling the SDL stuff?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement