Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting A Head Start #1

Open
danhans42 opened this issue Feb 8, 2018 · 20 comments
Open

Getting A Head Start #1

danhans42 opened this issue Feb 8, 2018 · 20 comments

Comments

@danhans42
Copy link

Hi There,

Is there any way we can get something up and running either with emulation or a basic breadboard using an ESP32 module? It would be great to get on with coding before the actual units are released.

Thanks

@Spritetm
Copy link
Contributor

Spritetm commented Feb 18, 2018

Ah, sorry, didn't see this issue earlier. I've been thinking about this, indeed. I can probably provide some files to essentially re-target the PocketSprite HAL to SDL, but as the PocketSprite SDK itself is dependent on the ESP-IDF SDK and you can essentially use any of the functionality of that, that would not provide an extensive emulation option. The other alternative is to port an ESP32 emulator to have the PocketSprite peripherals; unfortunately as far as I know there's no version of that that supports all the peripherals we need. The third option is, indeed, to see if I can re-target the HAL to some more commonly available hardware (for instance, the ESP-Wrover-Kit has a very common ILIsomething LCD on it).

For now, I think I'll make a port to the ESP-Wrover-Kit board. Essentially, I'll only be actively using the ESP32 module and the LCD on it, so if you happen to have a LCD with the ILI9341 or ST7789V controller on it and some kind of ESP32 module, you can probably breadboard it.

@danhans42
Copy link
Author

No problem at all.

To be honest I was thinking more around using existing hardware like the Wrover or Wroom if possible as I would have thought that would be much easier than emulation, plus the hardware is so cheap..

I have a few ILI9341's kicking around from other projects and have one rigged up using the smsemu already so if you need anything testing let me know and am mor than happy to do some debugging.

Thanks for the reply!

Dan

@danhans42
Copy link
Author

Just to add, can see you have been busy on the SDK and will attempt to test some work this week.

Thanks again

@Spritetm
Copy link
Contributor

Spritetm commented Feb 26, 2018

Yes :) was actually going to poke this issue again when the work wrt the SDK is complete and I've also finished my demo game; at the moment there are still some bugs in the tile rendering engine in the former and the latter is not finished yet. Also, I've not been able to test the ILI9341 code yet; that specific display controller may still render weird (specifically: wrong rotation so subpixel rendering things look weird.)

@danhans42
Copy link
Author

Thanks for the update.

My not so pocket sprite clone has an ILI9341 so can do some testing on that, as I dont have a 7775V to hand so will see what results it yields. If you need anything testing on it I will give that a try.

@kyaroru
Copy link

kyaroru commented Mar 2, 2018

hi @Spritetm i am mobile app developer from Malaysia & I am really interested in the PocketSprite.. is there any resources for a complete beginner (on hardware related stuff) to get started building application for the tiny device? or is a must to have all the hardwares? >__< You have truly inspired me! (Sorry for flooding the thread here 😨)

@Spritetm
Copy link
Contributor

Spritetm commented Mar 2, 2018

Sorry, at the moment the SDK assumes you have either a PocketSprite or can hack together something from an ESP32 devboard plus a supported display. There's no software-only emulator or anything yet I'm afraid.

@kyaroru
Copy link

kyaroru commented Mar 2, 2018

ic, once I got the PocketSprite then I will be able to test and build app for it ? Will there be any guideline for that? (in the future when it is shipped on May) 👀

@Spritetm
Copy link
Contributor

Spritetm commented Mar 2, 2018

Somewhat, yes. There already is somewhat of an howto on how to get the SDK installed (http://pocketsprite-sdk.readthedocs.io/en/latest/gettingstarted/index.html) and I will be providing docs for the SDK as well as some examples. All of these do assume you're fluent in C as well as at least somewhat aware of the restrictions of embedded systems. I'm also thinking of an easier way to develop apps in e.g. Javascript, but I'm not sure if I'm able to implement that any time soon.

@kyaroru
Copy link

kyaroru commented Mar 2, 2018

wow.. thanks for the link.. i have roughly scan through it. Can’t wait to start 😄 It would be great if Javascript is possible because I saw html in your repo (8bkc-chooser) 😮 Is that something like app interface? (menu or etc)

@Spritetm
Copy link
Contributor

Spritetm commented Mar 2, 2018

That is the way you upload new programs and ROMs. If you're in the main menu, the PocketSprite starts an access point and a webserver. Connect to the access point, surf to the webserver, you get a webpage where you can upload and delete apps and ROMs.

@kyaroru
Copy link

kyaroru commented Mar 2, 2018

hmm..i see that in the introduction video! so it is not in the PocketSprite itself.

btw.. i just bought 1 unit of PocketSprite on CrowdSupply! Wish to get it earlier >__< anyways, thanks for all the info!

@Spritetm
Copy link
Contributor

Spritetm commented Mar 2, 2018

How do you mean 'it is not the pocketsprite itself'? The uploading needs to happen on a laptop. In theory, it is possible to make a sort-of 'app store' that allows the PocketSprite itself to connect to WiFi and download new apps, but we haven't written any software for that.

@kyaroru
Copy link

kyaroru commented Mar 2, 2018

what i meant is.. i thought the chooser (the html files) are rendered in the PocketSprite device.. haha.. but it was on browser.. i got what you mean :p

@kyaroru
Copy link

kyaroru commented Mar 2, 2018

if you are going to implement the "appstore" thing in future and need help (front end coding) please find me! I am interested in contributing :D

@Spritetm
Copy link
Contributor

Spritetm commented Mar 2, 2018

We'll keep it in mind, thanks!

@Spritetm
Copy link
Contributor

Spritetm commented Mar 8, 2018

Fwiw, if anyone wants to test their hardware, I've just pushed a native game: https://github.com/PocketSprite/8bkc-fluppy

@Jan-Timon
Copy link

On tweakers you said something about looking into a way to use javascript to create games. Is there any update about that?

While I did some fiddling with C, I am not quite confident I can build a game with it. Js is a whole different story for me and I think this goes for more people.

@Spritetm
Copy link
Contributor

To be honest, I'm still thinking on how to approach this. While taking an engine like Ductape or Jerryscript and copy-pasting it into the SDK I have right now is a possibility, that would mean the dev process would be the same as C: you'd modify your javascript and use Tiled and Photoshop/Gimp/Paint to tweak your GFX, then 'compile' the bunch and upload it. While this is a possibility, I feel that the JS community may be used to more interactive solutions... modifying code on the fly without re-uploading, maybe also modifying graphics on the fly, etc. Issue with that is that it requires a lot to be written for the Pocketsprite, coming with its own complicated problems.

@Jan-Timon
Copy link

Thanks for the update.

I think you are right about the JS community. It normally just takes a browser reload to see immediate results ( if used in front-end html ).

I will take a look at the mentioned engines. Maybe it is just time for me to get more familiar with C.

For me it would be ideal if we could run an emulator with a runtime (JS) compiler.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants