Log In  
Follow
StinkerB06

Ignore StinkerB06, call me "The Beesh-Spweesh!"

PicoVisualizer
by

Cart #eas_test-0 | 2022-01-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

If you don't know: The Emergency Alert System (EAS) is a warning system in the United States that interrupts TV and radio programming in order to provide important information on events that pose danger to your life. This cartridge replicates the intimidating tones from the system using the secret PCM channel in PICO-8.

Note that the National Periodic Test here is completely fake. There's no voice announcement included for now, due to concerns about hitting the limited storage capacity of PICO-8 carts.

WARNING: Never broadcast the EAS header bursts on TV or radio! The FCC will have the right to fine anyone for such misuse of EAS/SAME tones.

6
1 comment



Cart #nes_triangle_wave-0 | 2021-12-30 | Code ▽ | Embed ▽ | No License
10

What is this cartridge?

This is an example of how the bitcrush/distortion flags (found at poke location 0x5F42) can be utilized. The triangle waveform in PICO-8 can be made to sound more like the NES's triangle wave channel, but not exactly the same as it.

Technical bits

Generally, all digital sound data is not accurate. They are limited by some factors. One of those factors is "amplitude".

The primary way to store audio digitally is with Pulse-Code Modulation (PCM), where an analog audio signal is repeatedly sampled at a certain time interval, and each analog sample is quantized to a limited range of digital values.

[ Continue Reading.. ]

10
2 comments



Cart #sw_and_hw_rng-1 | 2021-12-12 | Code ▽ | Embed ▽ | No License

This is a re-implementation of PICO-8's own pseudo-random number generator state algorithm.

Press any button to tick the software RNG, and the hardware RNG as well. The text will turn red if the software RNG state doesn't match the 64-bit RNG state within the base RAM layout.

1 comment



Did anybody ask to be annoyed by some beeps and boops in their PICO-8? If you did, here you go!

Cart #ice_cream_truck-0 | 2021-11-24 | Code ▽ | Embed ▽ | No License
7

The animation is inspired by old "learning computer" toys that sound like ice cream trucks.

7
3 comments



Officially, the 0x5F00 to 0x5F3F area is referred to as "Draw State" RAM, and 0x5F40 to 0x5F7F is referred to as "Hardware State" RAM.

However, I think this is quite misleading, considering Draw State RAM offers some non-related functionality like controlling Devkit Mode, muting audio, and suppressing the pause menu. Furthermore, there are some graphics-related addresses in Hardware State RAM, notably for: the default print() attributes, the bitplane read/write masks, the undocumented high-color stuff, and the "Palette 2" shared between the recent fill pattern functionality and high-color modes.

I'd suggest both 64-byte areas be merged into a single 128-byte "Hardware Variables" area.

1
0 comments



EDIT: This has been resolved by Zep.


As the title says, the "code snippet within a line" markdown on the BBS doesn't properly respond to the end marker, and instead runs down to the end of the whole line.

Assume the following raw text:

This is a `code snippet` within a line!

This should be expected (italics used to represent the text within the backticks):
This is a code snippet within a line!

But the observed result is:
This is a code snippet within a line!

2
1 comment



Hey @zep!

Can you please add a feature to PICO-8's WAV export function, so that each of the four channels have one WAV file each? I've been wanting to do oscilloscope views of PICO-8 chiptune music, but the "oscilloscope view" format requires one WAV file for each channel (so that each channel is seen as a separate waveform).

I've already mentioned you on Twitter about this, but you never replied:
https://twitter.com/StinkerB06/status/1182348172548399104
https://twitter.com/StinkerB06/status/1174923908128002048

1
9 comments



Cart #ls_and_bbs_stats-0 | 2019-06-05 | Code ▽ | Embed ▽ | No License
3

This thread is intended for the sake of researching particular (and most likely undocumented) parts of PICO-8's STAT(), that @zep didn't reference in the PICO-8 manual. The cartridge above also shows a new way for PICO-8 game devs to read the root-folder cartridge list with LS() (you must be on the desktop PICO-8 and your root directory must have at least 1 cartridge).

If you, Zep, know anything about the STAT() numbers not seen in the manual, can you tell me what they are for? People have figured out these for the BBS 101~104:

  • STAT(101) -> BBS ID (nil for local carts)
  • STAT(102) -> Site name (blank string in exported HTML's, nil in desktop PICO-8 builds and exported binaries)

[ Continue Reading.. ]

3
0 comments



Cart #sspr_tester-0 | 2019-05-19 | Code ▽ | Embed ▽ | No License
2


This cartridge is intended for PICO-8 newcomers to learn how SSPR() works.

Controls:


Up and down arrows: Selects the parameter to change.
Left and right arrows: Modifies number-parameter values (the two sets of X, Y, W, and H values).
Z/C/N (or the right face-button on mobile touchscreens): Changes number-parameter values by 8 instead of 1. This also modifies the flip settings.

Parameters:


Src. X: The X-coordinate of the spritesheet to draw from, relative to the left. Pixels outside of the 0..127 range will be treated as black.
Src. Y: The Y-coordinate of the spritesheet to draw from, relative to the top. Pixels outside of the 0..127 range will be treated as black.
Src. W: The width of the sprite's image, in pixels. Negative values are treated as 0, of which results in no sprite drawn. The image is stretched to the 'Draw W' width.
Src. H: The height of the sprite's image, in pixels. Negative values are treated as 0, of which results in no sprite drawn. The image is stretched to the 'Draw H' height.
Draw X: The X-coordinate of the screen to draw to, relative to the left. Pixels outside of the 0..127 range are invisible, so that the sprite can be pushed into the left or right edge of the screen.
Draw Y: The Y-coordinate of the screen to draw to, relative to the top. Pixels outside of the 0..127 range are invisible, so that the sprite can be pushed into the top or bottom edge of the screen.
Draw W: The width of the sprite itself, in pixels. Negative values allow a horizontally-flipped image, with the 'Draw X' coordinate representing the right side of the sprite instead of the left.
Draw H: The height of the sprite itself, in pixels. Negative values allow a vertically-flipped image, with the 'Draw Y' coordinate representing the bottom of the sprite instead of the top.
H-Flip: If TRUE, the sprite's image is flipped horizontally. Combining this with a negative 'Draw W' value results in a cancel-out, drawing the image without flipping it.
V-Flip: If TRUE, the sprite's image is flipped vertically. Combining this with a negative 'Draw H' value results in a cancel-out, drawing the image without flipping it.

[ Continue Reading.. ]

2
1 comment



Cart #video_mode_tester-0 | 2019-05-02 | Code ▽ | Embed ▽ | No License
4


This cartridge is intended for PICO-8 newcomers to learn how each mode works.

Use the arrows to change the video mode. Valid modes are 0~7.

It writes to the address 0x5F2C in Draw State RAM to set the video mode (display resolution or reflection).

The sprites used here are Jelpi sprites!

4
0 comments



Cart #picovisualizer-11 | 2024-11-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

WARNING: Depending on what you watch and listen to with this visualizer, the bars can produce flickering effects on your screen, which may be a problem for those diagnosed with epilepsy. Better use with caution.

About

This is a heavily-modded variant of Music Visualizer Bars by iaoth. Credits go to him for his visualizer code base!

I can load() this cart. Is there anything special about doing that?

Yes! By a cart passing a load parameter string to PicoVisualizer, that cart can serve as a custom menu that allows users to view the visualization of any of its tracks, but this has the cost of relying on an internet connection.

[ Continue Reading.. ]

21
17 comments



Cart #stinkerb06rmg-1 | 2019-05-10 | Code ▽ | Embed ▽ | No License
3

The sound and music editor data that's generated is 100% randomized! Music starts at a random position from 0 to 63.

Update May 10th, 2019:

  • Improved corruption speed by using POKE4(). This pokes four memory locations simultaneously without having to use four sequential POKE()s.
  • Renamed the cartridge to prevent confusion.
3
1 comment



Cart #55422 | 2018-08-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Update August 20th, 2018: Slight change to show 15 color rectangles instead of only 7. This is not a song-related change.

Credit to Zep for the code base.

2
3 comments