ProjectABE (ArduBoy Emulator) released!


(Scott R) #285

Stealthy it’s like watching a spy movie.


#286

Can we get a “real scale” mode, where the Arduboy is scaled down so one pixel on the Arduboy screen equals one pixel on the screen? It can be hard to visually do stuff if the pixels are all upscaled and distorted.


(Felipe Manga) #287

I know what you mean, but I’m not sure a 1:1 scale would help much, considering the pixels on a computer are so much smaller and are hard to see. When I want to see things accurately, I do the opposite and use fullscreen mode (press F).
Does that work for you?


(Erwin) #288

Maybe he means the ratio of the screen is not correct?

image

It seems to be 1:1.8 instead of 1:2


#289

Fullscreen mode doesnt work either, I tried. The pixels always seem distorted in some way or another. I am aware that the pixels will be much smaller on the screen than on the Arduboy but if I compare a recorded GIF to the actual screen, the GIF looks so much better and “true” to the arduboy screen in my opinion.


(Felipe Manga) #290

Hmm… the ratio might be the cause. It’s like that because I didn’t want to change the background image much at the time, I just fit the screen to the background. Added an issue and will create another if it doesn’t fix the distortion.


#291

I guess I just like the look of the “pixel perfect” GIF output too much and would like a way to develop my games in that aesthetic :angel:


(Pharap) #292

One potential fix would be to allow the screen size to snap to a multiple of the pixel resolution so each virtual pixel corresponds with a given number of actual pixels. I.e. every virtual pixel fills a real 2x2, 3x3, 4x4, 5x5 etc grid of pixels - no ‘fractions of a pixel’.
Having fractions of a pixel means the values have to be interpolated by the scaling algorithm (which I’m guessing is the source of the ‘distortion’) instead of corresponding to a fixed amount of tangible pixels.


(Felipe Manga) #293

Yeah, that should do it. I’d have to fix the ratio first, though, otherwise it would still look weird.


(Felipe Manga) #294

A quick A/B test (unrelated to the ratio issue):
ArduboyRecordingArduboyRecording

Scaled up:
ArduboyRecordingArduboyRecording

What looks better to you?

  • Left
  • Right

0 voters


(Erwin) #295

Imagine having an optional delay effect… like “crt” delay phospor decay time :stuck_out_tongue: just wondering


(Felipe Manga) #296

With scanlines? And green-on-black? So many skinning possibilities! :smiley:


(Felipe Manga) #297

New web build is online (haven’t done the offline builds yet).

I got rid of the old GIF encoder and wrote my own. The speed should be closer to what’s expected, less frames are skipped (smoother animation) and file sizes have decreased. Frameskip is necessary because GIFs have a maximum framerate of 30fps.

To fix the ratio and non-even-resize problem, I had to refactor the skinning code first. Adding new skins is pretty easy now.

While I haven’t had a chance to fix the resizing yet (that’s going to be a pain), I’ve fixed the ratio and added a few new skins (press F3 to cycle through skins). Distortions are still present, but they should be less severe.

@PureSpider: I added 3 “bare” skins. No UI/buttons, but the screen is 1:1, 2:2, or 4:4. This should also be useful for embedding the emulator in an iframe.

The Pipboy skins have the “CRT fading” feature @eried mentioned.

Also, there’s this:


(Erwin) #298

Hahaha this release looks epic :smile:


(Felipe Manga) #299

BTW, here’s a new feature that might come in handy when adding games to your repo:
press P for a 4x upscaled PNG screenshot:
ArduboyCapture%20(1)


(Simon) #300

Can you summarise all of the keyboard commands somewhere?


(Felipe Manga) #301

Except for the new ones (F3 and P), they’re in the README.md. Which reminds me, I need to update that.

EDIT: Readme updated.


(Felipe Manga) #302

To fix an existing issue, I’m considering adding support for OpenGL shaders. This is crazy overkill, but it enables future features like fancy effects or HQ4X. Anybody have opinions?
image
image


(Simon) #303

I tried burning the bootloader today using an Arduino but no luck !\

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
Error while burning bootloader.

(Felipe Manga) #304

Looks like an error talking to the programmer itself, not the arduboy. Just to be sure:

  • Does the arduino have the programmer sketch?
  • Are you sure the wiring is right?