gosia by SIMurai
@@@@@@@ @@@@@@ @@@@@ @@@ @@@@@@ !@@ @@! @@@ !@@ @@! @@! @@@ !@! @!@!@ @!@ !@! !@@!! !!@ @!@!@!@! :!! !!: !!: !!! !:! !!: !!: !!! :: :: : : :. : ::.::: : : : : SIMurai Presents (A Farewell Demo For) Gosia Size ... : .................. 462377 B Date ... : ................ 2024-08-30 Party .. : ............... Xenium 2024 Compo .. : ...................... Wild Platform : ..... 2x sysmoISIM-SJA5-S17 GFX .... : ................... fefinha MSX .... : ........ eightbm & Tomarkus CODE ... : ................... 1935711 This is a SIM card demo! This means that all the computation and storage needed to produce the visuals and audio, came directly out of SIM cards in real-time. We are actually using 1 card for graphics, and 1 card for audio, all working together in parallel to produce 3:3:2 (8 bit) video and 11025 Hz unsigned 8 bit audio. XXX: The total size can vary +/- 10 B. This is caused by the compiler used for the Java Card applets. The calculated total size consists of all files installed on the cards, this means the host app size was excluded. The host does not contribute to the audio or video of the demo (it only streams the video/audio from the cards), therefore we believe this to be a fair choice. Each frame of video is generated by 1 SIM card, half a frame at a time due to packet size limitations (we can only send 256 byte of data at a time). When we recorded the presentation/ video, we actually mentioned needing 4 cards, but with some optimization done after the party, we did get it comfortably down to just 1 card. There are many effects that are merely a glorified animation, as we do some mirroring to save on flash space (we know, boooo!), but others, like the hourglass, are created by layering multiple sprites, with simple transparency, motion, and mirroring. All the sprites were designed in Aseprite. Developing for the SIM card comes with certain challenges: The card OS wants you to behave nicely, the cards have little RAM and flash, flash memory has a limited number of write-cycles, you need to use Java Card (a restricted version of Java), installing apps on cards takes a long time, etc... The card often decides what it will and will not allow, and so very often the card returns an internal error (2 byte status word), with no further explanation. Since the SIM card is a secure element, debugging and data extraction are quite tricky, as the OS tries to ensure that the app does not attack the card OS itself. In fact, we never found a good way to debug code running on the card, therefore we opted to using a self-made SIM card emulator to test the Java code while it runs on a PC. This demo has been the collaborative effort of Tomarkus, fefinha, eightbm, and 1935711, a.k.a., SIMurai. It was a "wild ride" getting this demo ready for your viewing pleasure. Unfortunately, during the development of some early tests, tooling, and experiments, Gosia, my (1935711) aunt, passed away. An endlessly cheerful and pleasant person, with a distinctly contagious laughter and wonderful cooking skills (seriously delicious!). This demo does not have a single clear theme, but we combined different elements to create something interesting and colorful---something we hope Gosia would have enjoyed. ============ Instructions ============ Please read the instructions at `/install/README.md` (inside the src release). They explain how to build tools and the demo, how to install the demo on SIM cards, and how to run the demo.
[ back to the prod ]