Will the emulator be available for everyone for free? Is it browser-based or like a native executable? If so, both for Windows, Mac and Linux?
Thanks for answering the question rain
Will the emulator be available for everyone for free? Is it browser-based or like a native executable? If so, both for Windows, Mac and Linux?
Thanks for answering the question rain
Its an API level simulator. Emulator might come at later date. Yes free, yes Win/Mac/Linux. It is Code::Blocks + SDL2
Hi!
@FManga gets insta-badged. Congrats!
Edit: I may raise that up to Wizard King soon when I figure out what you have just done.
Hey, I got a wizard!
That’s a preview of the next version of ProjectABE. Still really buggy and intentionally throttled-down, for now. It emulates the Pokitto by translating ARM instructions into WebAssembly.
Buttons: Z=A, X=B, C=C, Up, Down, Left, Right
I hope you always be around here. Great work!
It probably would, since Atom’s based on Electron and the old ProjectABE used to run on that for its offline version. But wouldn’t it be better if it stays outside? Everyone has their favourite IDE.
Thanks!
@FManga could you explain to us mere mortals what ProjectABE actually is and what did you do with regards to Pokitto to make it work?
@FManga
I swear we get more Arduboy people joining by the day.
I bet you’ve already got the Gamebuino version planned.
Also shouldn’t this technically be ProjectPE? :P
Sorry, I was a bit succinct, wasn’t I? ProjectABE is a low-level emulator written in Javascript. It emulates the AT328P (Gamebuino Classic), AT32u4 (Arduboy), and now, thanks to the plentiful documentation in your wiki, I’m almost done implementing the LPC11U6 for the Pokitto.
Since it’s a low-level emulator, it translates blocks of ARM instructions into WebAssembly for execution, implements CPU features like the MMU, SysTick, EEPROM and GPIO. The screen and buttons are hooked up to the GPIO just like on hardware:
{
"CPU":{ "part": "CortexM0" },
"A":{ "part":"Button", "NO":"CPU.PIN1_9", "listen":["ControlLeft", "KeyZ"] },
"B":{ "part":"Button", "NO":"CPU.PIN1_4", "listen":["AltLeft", "KeyX"] },
"C":{ "part":"Button", "NO":"CPU.PIN1_10", "listen":["ShiftLeft", "KeyC"] },
"Up":{ "part":"Button", "NO":"CPU.PIN1_13" },
"Down":{ "part":"Button", "NO":"CPU.PIN1_3"},
"Left":{ "part":"Button", "NO":"CPU.PIN1_25" },
"Right":{ "part":"Button", "NO":"CPU.PIN1_7"},
"Screen":{
"part": "ST7775",
"CD": "CPU.PORT0_2",
"WR": "CPU.PORT1_12",
"RD": "CPU.PORT1_24",
"RES": "CPU.PORT1_0",
"D_0": "CPU.PORT2_3",
"D_1": "CPU.PORT2_4",
"D_2": "CPU.PORT2_5",
"D_3": "CPU.PORT2_6",
"D_4": "CPU.PORT2_7",
"D_5": "CPU.PORT2_8",
"D_6": "CPU.PORT2_9",
"D_7": "CPU.PORT2_10",
"D_8": "CPU.PORT2_11",
"D_9": "CPU.PORT2_12",
"D_A": "CPU.PORT2_13",
"D_B": "CPU.PORT2_14",
"D_C": "CPU.PORT2_15",
"D_D": "CPU.PORT2_16",
"D_E": "CPU.PORT2_17",
"D_F": "CPU.PORT2_18"
}
}
I intend to implement the PEX header at some point, and most of the ST7775 commands are still missing. Haven’t looked into sound yet, though I suspect I can use the speakers implementation from the Arduboy.
EDIT: Also, still have to do the SD card. I keep forgetting that. It’s going to be a pain.
Succint? With an entry like that, it was:
Haha, Gamebuino classic is pretty much done (Makerbuino repo tab).
Might do the META, dunno, they already have an emulator. Not sure what to call it anymore, since it emulates 4 different systems so far.
This is amazing! For one, emulator makes possible to play any Pokitto game on the web browser
Still haven’t figured out why some things are in the wrong position.
Some more progress, after hours of debugging softfloat code:
Fixed the problem with the lower part of the screen being cropped off due to a typo and got another game to work (has a bug rendering the score/hiscore):
If anybody wants to test one of their own games, just open the emulator and drag-and-drop a bin file into it.
You can also add your game to the emulator’s URL (https://felipemanga.github.io/ProjectABE/preview/?pokitto=https://your-game-here) but that won’t work with forum attachments. It would be nice if the Pokitto had a repo like @eried’s.
I noticed Sensitive supports rumble motors… if the pin used for that is considered standard, I’ll look into supporting joystick force feedback. Are there any plans for making and selling a rumble hat?
do you emulate the sd card?
Not yet, it’s in the to-do list… I need to get the processor running well first. Its easier to make the peripherals when I’m sure the CPU is doing what its supposed to.