[Tool]Pokitto Emulator

Or possibly addr2line -e file.elf < hotspots.log (I think).

2 Likes

As an experiment I built the emulator using emscripten and uploaded it here:
https://felipemanga.github.io/PokittoEmu

No way to change the bin yet, but it’s good to see Chrome not crash all the time.
Right now it’s using multi-threaded asmjs. When browsers allow for multi-threaded webassembly it should get a bit faster.

Edit: For this to work in the current version of Chrome, you must open “chrome://settings” and enable:

  • WebAssembly threads support.
  • Experimental enabled SharedArrayBuffer support in JavaScript.
3 Likes

My JoeBert game is running properly in the latest build, which is nice.
It seems a little fast compared to hardware though.

2 Likes

That’s item #2 in the to-do list in the first post. I’ll get to it soon, I got distracted with the loader. :stuck_out_tongue:

Sounds promising!

1 Like

There are even nice UI specs and picture of the graphical loader :slight_smile:

110

Very nice!

1 Like

Whoa, I hadn’t seen that yet. :open_mouth:

That is also using petscii graphics in the C64gfx font set for the UI elements :slight_smile:

Huh did I see a operation fox by Jonne? Where’s that?

Hopefully @Hanski’s racing game will eventually be used to help finish @jonne’s Afrokarts.

@FManga : I would like a special feature if possible. The emu is excellent for making gifs (which is very useful for me) but I need to edit out the beginning from every gif, which is time consuming. Could you make a shortcut key for turning on the gif recorder?

3 Likes

I probably understand this wrong, but F3 turns it on/off?

For cutting/scaling/etc. I use ffmpeg, it handles gifs as well. e.g.:

ffmpeg -i ./firmware.bin.1.gif -ss 0:02 -vf scale=220:-1:sws_dither=none,fps=20 -pix_fmt rgb8 out.gif

3 Likes

That’s right, you can start/stop recording with F3. You were using the command line flag?

yup… f3 … thx!

My request would be again pixel art scaling algorithms like with ProjectABE, but that’s probably better left for later now.

I had this in mind already, I should put it in the to-do list before I forget. We also need a way to take a PNG screenshot and shortcuts to pause/resume/restart emulation.

Any suggestions as to which algorithms would look good? Do you think you can do some tests?

1 Like

I’ve been thinking about it, I’ll let you know if I get to it. Put on the TODO for now :slight_smile:

1 Like

For anybody building from source: I’ve added a new dependency to the emulator, SDL2_Image.

Here's an updated script for getting/building the dependencies.
#!/bin/sh

mkdir TEMPSDL2
cd TEMPSDL2
curl -o SDL2.zip 'https://www.libsdl.org/release/SDL2-2.0.8.zip'
unzip SDL2.zip
curl -o SDL2_net.zip  'https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.0.1.zip'
unzip SDL2_net.zip
curl -o SDL2_image.zip 'https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.3.zip'
unzip SDL2_image.zip

cd SDL2-2.0.8
mkdir build
cd build
../configure
make
sudo make install

cd ../..

cd SDL2_net-2.0.1
mkdir build
cd build
../configure
make
sudo make install

cd ../..


cd SDL2_image-2.0.3
mkdir build
cd build
../configure
make
sudo make install

cd ../../..
rm -rf TEMPSDL2
Or this, if you already had SDL2 and SDL_net from previous builds.
#!/bin/sh

mkdir TEMPSDL2
cd TEMPSDL2

curl -o SDL2_image.zip 'https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.3.zip'
unzip SDL2_image.zip

cd SDL2_image-2.0.3
mkdir build
cd build
../configure
make
sudo make install

cd ../../..
rm -rf TEMPSDL2

Or, if you’re on ubuntu: sudo apt install libsdl2-image-dev

Other changes in the “Bleeding edge” section of the first post.

1 Like

Progress update:

  • SD card code ported from ProjectABE
  • Implemented ROM functions for writing to Flash

134
211

Now that that’s working, I can start my custom Loader.

5 Likes

I had to wait in a really long line today, so I used the time to get multi-threading to work on Windows and managed to release a new build.
List of new features:

  • Limit emulator speed to more closely match hardware
  • F7 to Pause/Resume and F5 to Restart emulation
  • F2 - PNG screenshot. Or -s X command line flag, saves an image after X frames.
  • Multithreaded-rendering that actually works. Even on Windows!
  • Optimize code
  • SPI + SD card emulation. Use with -I sdcard.img
  • ROM API Loader functions support.
  • printf prints to the console on Linux (and Mac?). Not ready on Windows, yet.
  • support for mon reset in GDB (still in testing)
6 Likes