Space Engineers

Space Engineers

116 ratings
Gameboy Emulator for Space Engineers
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
19.961 KB
20 Mar, 2016 @ 1:45pm
29 Sep, 2018 @ 1:54pm
8 Change Notes ( view )

Subscribe to download
Gameboy Emulator for Space Engineers

Description
EDIT: DUE TO SPACE ENGINEERS UPDATES SINCE THIS WAS RELEASED, A TIMER BLOCK IS NO LONGER REQUIRED FOR THIS SCRIPT TO WORK

A fully functional, full speed gameboy emulator writtin in the vanilla in-game API with no mods. Roms are loaded as base64 encoded strings along side the code in the Programmable block. Many games are now fully playable.

The script comes with a homebrew rom called GameBoyFlappyBird by Skillah (https://github.com/Skillath/GameBoyFlappyBird).

If you are interested in how it works, you can find the entire non-minified source code on github here: https://github.com/rockyjvec/SpaceGameboy

Here is a demo blueprint with the homebrew rom Adustris: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=651566840

Due to space limitations, only 32kb (or smaller?) gameboy roms currenly fit. (I hope to work around this problem in the future by implementing compression)

There are multiple input types described below. Just put one of the arguments below as the argument for the programmable block to use it. You can map the buttons to your cockpit actions.

Tap: These controls stay on after pressing the button for a short time then (these probably work best in most cases) There is a setting at the top of the script to control the length of the tap if you have problems with it double pressing
up
down
right
left
a
b
start
select

On: Turn the button on permanently
upOn
downOn
rightOn
leftOn
aOn
bOn
startOn
selectOn

Off: Turn a permanent on button off
upOff
downOff
rightOff
leftOff
aOff
bOff
startOff
selectOff

Toggle: toggle a button on and off each time it is pressed
upToggle
downToggle
leftToggle
rightToggle
aToggle
bToggle
startToggle
stopToggle

Arrow Toggle: pressing an arrow button turns off all other arrow buttons and the pressed button stays on until it is pressed again or another arrow is pressed
upArrow
downArrow
leftArrow
rightArrow


reset - reset the emulator

Instructions


DONT CLICK ON EITHER THE ROM LINE OR THE MINIFIED LINE AT THE BOTTOM IN GAME. IT WILL FREEZE THE GAME.

To swap out the rom, I recommend copying the entire code with Ctrl+A/Ctrl+C and pasting it in a text editor like Notepad++. Then, just overwride the base64 string with the new rom and paste it back into the game. You can convert a rom to base64 here: http://jpillora.com/base64-encoder/

There are settings in the script to tune it to run better. The defautls work well on my computer.

You can change which lcd to use at the top of the script. I recommend setting the lcd to the smallest font size.

To set it up you will just need the Programmable block, an LCD, and a timer that is set to trigger itself and the Programmable block. See video above. I also recommend placing a flight cockpit about two blocks away facing the lcd. Then you can control the game from that cockpit. For the included rom, I recommend setting the "2" action to be the "start" argument and "1" to be "a" to flap the flappy bird.

Credits to this project: https://github.com/Two9A/jsGB I basically ported that emulator over to c# and the in-game API, then optimized it for Space Engineers :-).

54 Comments
Rusted Droid 28 Apr, 2022 @ 3:47pm 
Game inside a game... Any Chiptune base64 encoder?
[STOR]Jamiemsm 26 Jan, 2021 @ 8:56am 
I put down a flight seat. how do i connect the flight seat to the game?
Celestite 25 Sep, 2020 @ 10:06pm 
i hate to ask this but @rockyjvec does this still work?
Crdguy 7 Jun, 2020 @ 11:56am 
Hey, the "reset" function seems to be broken.
dskpnk 27 Apr, 2020 @ 10:57am 
Will it save the game ? I mean the emulated one ? Like i can start zelda and save my progression ?
Crdguy 23 Jul, 2019 @ 6:31am 
Edit to my previous comment - the script still works, you have to manually set monospace font and such. The resolution appears to be broken with a minesweeper ROM I tried (a third of the content isn't shown on the screen)
Crdguy 23 Jul, 2019 @ 6:26am 
@rockyjvec Hey, the script is broken in the newest version. Would you mind fixing it? Also, it would be very nifty to have cockpit LCD support. Thanks again
canaryinacoalmine 25 May, 2019 @ 7:49pm 
Will this mod lag dedicated servers?
rockyjvec  [author] 31 Dec, 2018 @ 7:56pm 
Yes, it still works.
Celestite 31 Dec, 2018 @ 7:46am 
does it still work?