Log In  
Follow
gamax92

Cart #37156 | 2017-02-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
24

Hello there, I've been working on this piece of software called midi2pico
It does what it implies, converts midis into music for pico-8

I've recently just added proper drum support, so in celebration of that I want to release this little demo.

Come checkout midi2pico at github: https://github.com/gamax92/midi2pico

It's a very configurable midi conversion program, with the ability to mute channels, change volumes, and to shift pitches to fit into pico-8's audio range. midi2pico attempts to arrange midi data in a logical way, storing the beginning of a song at sfx 0 and the end of the song near the end of available sfx.

MIDI Format 0, pitch bends, sfx deduplication, silence removal, and now drums are supported. A midi instrument and drum to pico-8 translation table is supported, though not very populated and most instruments use a default conversion. Look for 'Instrument to PICO-8 Map' and 'Drums to PICO-8 Map' inside midi2pico.lua

A separate utility is also included for debugging midi files called midi2note. midi2note shows the end result after midi2opus, opus2score, and score2note conversions that midi2pico also uses.

[b]Installation

[ Continue Reading.. ]

24
18 comments



Cart #34978 | 2017-01-05 | Code ▽ | Embed ▽ | No License
4

4
0 comments



I did a small patch to SDL2 that should fix using the custom glyphs in 0.1.9, so until 0.1.9b is released this should suffice

This also fixes getting a ding/beep sound when trying to use the custom glyphs, the version of SDL2 that ships with PICO-8 is too old

Changed:

--- a/src/video/windows/SDL_windowsevents.c	2016-01-02 13:56:31 -0700
+++ b/src/video/windows/SDL_windowsevents.c	2016-09-29 21:02:54 -0600
@@ -619,6 +619,7 @@
             break;
         }
         /* otherwise fall through to below */
+    case WM_SYSCHAR:
     case WM_CHAR:
         {
             char text[5];

The change here involves adding in WM_SYSCHAR support since, normally pressing a key produces a WM_CHAR event, but Alt + Key generates WM_SYSCHAR which SDL2 doesn't handle.


https://gamax92.keybase.pub/CustomSDL2.zip

No idea if this change adds in any issues but I've not been able to see any.

3
7 comments



However, not in Android.

Got bored, set up Arch Linux ARM.
Got angry at freedreno Segmentation faulting.
Wasted several days compiling debugging versions of programs and trying to fix the crash.
Fixed freedreno (libdrm needs --enable-freedreno-kgsl)
Ran PICO-8:

Keyboard is the linux 'onboard' program, set to run on top of all other windows.
(Screenshot is resized, otherwise it would be absurdly huge due to my DPI)

(Renamed title to hopefully remove some confusion)

4
13 comments



Cart #22286 | 2016-06-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
92

poke(0x5F2D, 1)

stat(32) -> X coord
stat(33) -> Y coord
stat(34) -> button bitmask (1=primary, 2=secondary, 4=middle)

You should probably limit yourself to using the primary button, not everyone has a middle mouse button and dunno how secondary button would work on a touch device. You should also be using the mouse to enhance a program, not for it to be the only control, or else you make it so anyone lacking a mouse on whatever device they're playing PICO-8 on is unable to use your cart.

EDIT: apparently it doesn't work that well on a touch device, atleast PocketCHIP:
"I tested the mouse support on PocketCHIP. It didn't work well. It seems to cannot detect mouse release (touch up)." ~ oinariman

[ Continue Reading.. ]

92
64 comments



Cart #21625 | 2016-05-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
10

Mostin's having a Meltdown, can you help him locate his car keys?
He told me he lost them down out back near the barn gate, but that's a long long hike.
Over massive mountains and deep valleys, but it's all right, because he'll give you a pay of 60 Noblus!

Worth it, ... right? ... right? ...

EDIT: Alright, final p8jam2 version, I think I've gotten down what I wanted to accomplish.

10
7 comments



Cart #badapp12-0 | 2019-11-29 | Code ▽ | Embed ▽ | No License
18

Old versions:


Cart #20057 | 2016-04-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
18

Cart #20069 | 2016-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
18


Decided to write an encoder for 128x128, 2 color, 1 pixel scrolling, and one rectangle per frame

[ Continue Reading.. ]

18
8 comments



Cart #19319 | 2016-03-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Old versions:

Cart #19303 | 2016-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21


Cart #19297 | 2016-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21


Cart #19295 | 2016-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

[ Continue Reading.. ]

21
9 comments



Cart #17561 | 2015-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7


Got bored and wrote a textured wall renderer.
If you really wanted to you could simply replace sspr with line and have a colored wall renderer.

7
6 comments



Cart #17544 | 2015-12-06 | Code ▽ | Embed ▽ | No License
5


Still working on it, but it's gotten to the point where all major features have been implemented and it's winnable.

Instructions:
[hidden]You're solving a bomb with a certain number of digits (depending on how many you choose), by rewiring and replacing modules. How hard could that be?

Panel overview:
You'll view a grid of 4x5 panels, each corresponding to an element in the number, as you solve circuits, the panels will change to green and represent a part of the number. When you're confident in what the number is, press X and select the number. You can only do this when you've solved two circuits. Each panel must be guessed correctly to win the game, and if you guess incorrectly ... well ...

The circuit:
Pay attention to what flashes briefly, as it won't be said again until you complete a module. Go from 1st to 2nd to 3rd, cutting each side of the module, removing the old one, and soldering the new one on. When you're "cutting out" the modules, you replace the module you're working on with a wire (the grey rectangle), and if you're "replacing" them, you replace it with one of either same shape or same color. It won't be both, and you might have to try either to figure out what the circuit wants. Once you figure it out, every other module will follow the same rule.

No you can't just cut off a side of the circuit and then resolder it, that won't work.

[ Continue Reading.. ]

5
6 comments



Cart #21201 | 2016-05-23 | Code ▽ | Embed ▽ | No License
16


AIR RAIDERS
The object of the game is to blast enemy aircraft out of the sky... and dodge ground missiles!!! Zero in on enemy planes! Bank left, bank right, dive, climb out! Watch your elevation! Keep track of the fuel! Run out of ammo...land and refuel...take off again!

For Your PICO-8 Video Game System
You should download and play it though, the web player seems to break some minor things.

Changelog:


Update 1.0.2b:
Fixed bug with reset causing the cartridge saving icon to appear.
b: Restore btn on reset

Update 1.0.1a:
Enemy won't fly so low to the ground
Changed rain effect to lines
Smoothed out rotation
Fixed rain effect when rotating and takeoff
Reduced ground strike effect
Added safe zone
Markers are brightened at night

Update 1.0.0:
The original version.

[ Continue Reading.. ]

16
18 comments