Log In  

Just another mad coder.

We're all mad. I'm mad. You're mad, you must be - or you wouldn't have come here.

Find my books and biographical works HERE:

To see what's been done in Applecart so far, go HERE:


This was supposed to be posted Sunday but I get detained, so here it is Monday. Better late than never, right ? :)

Continuing the Applecart we were going to do five stages of the Apple puzzle game, PENSATE.

  1. Sprites and game appearance (due now, I finished mine all in just an hour)
  2. Movement of sprites and player (due 02-09-20)
  3. Menus and scoring (etc)
  4. Sound
  5. Cleanup and completion

For more information about this cart, go HERE:

You should have already completed numbers 1 and 2 over this 2-week period. Here is a video of my version of current PENSATE for Pico-8 based on the original game for the Apple ][.

As you can see like the original you get a chance to choose where to place the player at the bottom for your first move and after that, at least for the first few levels, you get one move for yourself and one move for your opponents.

Later levels will show more opponents and more moves you must make per level, up to 3 !

That's all for today. Your next step is to build the menus and scoring around it (and of course to move the opponents too).

With that, here's hoping you will join in and I will see you next week with your results !

P#72972 2020-02-10 19:25 ( Edited 2020-02-10 19:27)

As I'm working rather deeply in coding for the next Sorcery project, I am running into a nasty little thing that when the screen scrolls it jumps back when the cursor is able.

@zep: Suggest using CTRL [ and CTRL ] to shift the viewpoint of the source-code to center it if need be and reset to zero when ENTER is hit.

And before you think my tabs big they are not. I use 2-spaces per indentation so this can visually be a problem with complex and deep level nesting.

P#72891 2020-02-07 22:38 ( Edited 2020-02-07 22:38)

I have always had difficulty with hardware acceleration on my computer. Just last night my computer fritzed out as I was working in Pico-8. Fortunately I had saved my work.

What I would like to know is, is there a way to run Pico-8 IDE without using hardware acceleration ?

Now I tried this argument in running it:

-software_blit n         use software blitting mode off (0) or on (1)

Which is listed in the Pico-8 HELP file but it does not seem to make a difference one way or another that it is on.

I'm using SPEEDFAN to monitor my GPU and it's up to 70 when running Pico-8 which according to its reading is, "hot."

Now I don't have this problem with other applications I'm using as I've managed to configure them all for software acceleration.

Windows 10 Home.
OS Build 17763.805
AMD Ryzen 3 2300X Quad-Core Processor
3.50 GHz
64-bit operating system, X64-based processor

Any ideas on how to configure Pico-8 for software acceleration only ?

P#72667 2020-02-03 19:43 ( Edited 2020-02-03 20:05)

Good HOT afternoon ! It's a HOT day here at Applecart. Sure the carts are great but MAN is it hot outside for February ! They could open up that swimming pool today and I would so be there.

To see what's been done in Applecart so far, go HERE:


Alright we're going to slow things down a bit for this next cart. Instead of having everything all done in one week we're going to spread tasks out a bit. For this particular cart in this order.

  1. Sprites and game appearance (due now, I finished mine all in just an hour)
  2. Movement of sprites and player (due 02-09-20)
  3. Menus and scoring (etc)
  4. Sound
  5. Cleanup and completion

The game is called PENSATE and was not just for Apple but other early computers. And you can find more information about HERE:


Here are the sprites and images I have put together so far for my version of this Applecart. Yours may be quite different:

So with this complete, you've still got time to doodle your own sprites as well as work out the movement for them.

If you check the original you will see that they do not move smoothly but jump in grid amounts, so movement should not be that difficult to program as they just jump from one quadrant to the next. You can do smooth movement if you want, not saying you can't.

That's all for today. Not too much to work on. Feel free to look over the initial post stating the rules and where to how for of it.

With that, here's hoping you will join in and I will see you next week with your results !

P#72625 2020-02-02 21:45 ( Edited 2020-02-02 21:46)

Sunday is rapidly coming up. I had one of my applecartians ? Not sure how you would word that. Anyways I was approached by him and he stated that while I might be able to crank out an Applecart every Sunday, others like him may not be able to and instead would like to do it in easier stages.

So - okay. I understand. Maybe I've been going at it too fast.

First off the cart we are working on now is called, Pensate, it is a turn-based puzzle game originally for the Apple ][ and later ported to many other computer platforms including the Atari.

It is interesting in that in higher levels you are expected to make two moves at a time while your opponents also make two moves making the thinking a lot trickier to solve the puzzle.

And the puzzle is simply to move your piece from the bottom to the top which completes the level.

(Press CTRL + on the number keypad to zoom, CTRL 0 (zero) to return to normal view size)

(longer video)

As you can see the original game itself is quite complex with some opponents that move left every time you move up and right every time you move down.

Instead I thought it would be more interesting for each level to have a fixed number of opponents placed randomly, and they are simple ones, 4-arrows, each of which travel in the direction they are facing and wrap-around the other side of the screen.

If one collides into another then the one that collided immediately turns 180 degrees around and that is it for their single move. Of course if any opponent runs into the player, then the level ends and the player must try that level again with newly randomly placed enemies.

So to break this down into stages that are byte-size :) here are four sets.

  1. Sprites and game appearance (due tomorrow, I finished mine all in just an hour)
  2. Movement of sprites (due 02-09-20)
  3. Menus and scoring (etc)
  4. Sound
  5. Cleanup and completion

So instead of 1-week I'll break this cart down to 5-weeks. Tomorrow I will show stage one completion on my part and you can compare with me what you've done, and then prepare next week for stage 2, movement of sprites. If you fall behind that's fine. Let me know what you need help with, I'll see if I can assist.

Hope to see you there !

P#72575 2020-02-01 19:54 ( Edited 2020-02-01 23:30)

Cart #sejiyudiyu-0 | 2020-01-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Interesting. Apparently if you import a P8 cart as a .PNG for Lex it accepts 24-bit information.

PROOF: This cart.

And yes at least the way I see it you must unpack the actual cart data in the PNG to a separate array, erase the cart data from the PNG, insert the new 24-bit picture, then insert the cart data array back into the PNG picture. I wrote a tool in blitzmax to do this now.

[1] Input P8.PNG
[2] Input 128x128 24/32-bit PNG picture.

Output, P8.PNG with 24-bit image for cover art. I wonder what it looks like in SPLORE however.

P#72489 2020-01-31 04:04 ( Edited 2020-01-31 19:48)

Good Afternoon ! It's a great day here at Applecart and let's see what the results are for this week.

I'm thinking it may have been the screen that turned away several programmers this week as we only have one entry for the "3D Space Dock" program. Despite there being only 2-moving objects at a time, it apparently was too much for other coders to wrap their heads around, and that's fine.

This idea was perhaps one of the first as a way of tackling the complexity of how to handle drawing something 3-dimensional on the Apple ][ computer for its day.

Fortunately I understood it. And I dutifully wrote a cart trying to keep the original spirit of the game with the only exception it checks to ensure that if you are hit from the front view either by the rogue asteroid or collision with the still ones, that it must also occur in the side view.

So you can't have a situation that cries collision when the front view hits the moving asteroid and the side view hits the stable asteroid. In the original game that was considered a collision, but not in the cart I wrote. You must be hit by the same object on both screens.

Here is the video for that cart:

And the Pico-8 cart to meet this challenge can be found HERE:


So what have we covered so far ? Quite a bit !

[Destructoid] by chizel9000.

[Saucer Attack] by dw817.

[Saucer Invasion] by Nosnibor

[Saucer Invasion] by dw817

[Bomber (WIP)] by Nosnibor

[Bomber] by dw817

[Star Wars] by Yesyoor

[Star Wars WIP] by Nosnibor28

[Star Wars] by dw817

This next week's challenge is going to be a bit more difficult. Easier in some ways, more difficult in others.

Easier in the fact that it will be a turn-based puzzle, more difficult in that ultimately you will be moving more than just 2-objects at a time.

The name of this Apple ][ game is called, "PENSATE" and operates a little like chess. A little.

The object of the game is to take your piece from one side of the board, the bottom, and move it up to the top. You can move U D L R per move. To stop you will be other pieces on the board going from left to right, right to left, up to down, down to up, or more intelligent than this !

You're in luck ! I uploaded my Apple screen to video HERE:

As you can see the player makes 1-move to start with, but later levels 2 or more, and then the enemies make as many moves themselves to compensate.

What I propose is this, make this game, use the original images if you like, but only have enemies that are relatively easy to code. Perhaps three enemies for the first level, four for the second, five for the third, etc.

Maybe grant the player 3-lives and they gain a level every 2-levels.

Game could be concluded after level 8, for then there would be 10 opponents all bip-bopping around on the board.

Enemies could consist of single arrows facing a direction, moving randomly in a cross, moving randomly diagonally. They travel in that direction after the player makes their move. If for instance the arrow was LEFT and it moved LEFT off of the board, have them reappear to the far right to move left again when it's their turn.

The ones that wander randomly could also wrap around the screen, but not the player.

Any collision with the player counts as a hit and takes away one of the player's men. Lose all men, game over. Could score according to points. 10 for first level, 20 for second level, 30 for third, etc. so on the fourth level the player would have 60 points.

You can find more information on this Apple ][ cart as well as instructions HERE:


That's it ! Feel free to ask questions on how to proceed if need be. I will also be working on my tribute and version to return next week.

Hope to see you there !

P#72256 2020-01-26 18:08 ( Edited 2020-01-27 03:16)

Cart #t3dsd-0 | 2020-01-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

TO LOAD THIS Pico-8 cart in immediate mode type,

load #t3dsd

The current Applecart of 3D Space Dock is due tomorrow.


Thought I would write out my version NOW so it will be ready then.

As in the description it does follow the original 1978 version pretty closely with only one real difference.

In the original game you could collide on one screen with a stationary asteroid and collide into a meteor on the 2nd screen. Which in truth does not constitute a collision, but in the original game it did.

I fixed it so if you run into a 3-dimensional object, it confirms that it is the CORRECT object you are running into on both view screens.

To control your ship is very simple. Use the U D L R arrow keys and the (X) key to swap between side-view controls (default) and normal controls.

When normal controls are set the vertical for the 2nd screen will no longer be controlled but the vertical for the 1st screen will be. And vice-versa if you press (X).

You are scored according to how little fuel you expend and how quickly you can successfully dock to the space station. Score = FuelRemaining * 100 - TimeElapsed

As always the sourcecode to this game or any Applecart I put together is chock full of helpful remarks and information on every programming section. Be looking for them to help you in your own coding.

Questions, comments, or kerosene, please let me know in the comments. :)

Enjoy !

P#72243 2020-01-25 22:55 ( Edited 2020-01-26 03:23)

Cart #gf-0 | 2020-01-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

TO LOAD THIS Pico-8 cart in immediate mode type:

load #gf

You know how you see something somewhere and you tell yourself, that's pretty neat. I wonder if I can do that.

Well this is an actual classic example of that. I was looking at @LoveDan's interesting frame which appears and disappears:


Well I thought it might be interesting the way I do it, with a kind of sizzle sparkling line that moves over it like a mirror's light. Like a Star Trek transporter or Phaser disintegration.

The demo is a bunch of bouncing balls to show it really does run in the background and uses standard _DRAW() and _UPDATE() functions. Does not write to sprite area so you can animate sprites and stuff while it's running.

  • Press (O) to make the first text appear.
  • Press (X) to make the second text appear.
  • Press UP to clear the frame instantly.
  • Press RIGHT to start the frame's animation over.
  • Press LEFT to make it sparkle and disappear.
P#72133 2020-01-20 21:29 ( Edited 2020-01-20 23:27)

HELLO and welcome back to another exciting week of Applecart.

When we first started, we wanted you programmers out there to give us your own rendition of Apple ]['s own Saucer Attack, an old 6502-assembly Apple ][ game that was originally read in the computer by audiocassette. I could not find a video so I could only describe how it looked - and of course write my own version of what I saw.

There were two entries total, found HERE and HERE.

The week after that we had a new competition, to make a game called Saucer Invasion, slightly different from the above. In this case we had a bonus, a video to look at so we could indeed see the original game, its instructions, presentation, and operation.

Youtube video of Saucer Invasion.

So there were two entries on this one, and you can find those HERE and HERE.

LAST WEEK your challenge was to make the game BOMBER. We also had a video to look at so we could see the original game and the mechanics involved.

Youtube video of Bomber.

There were two entries also on this one, and you can find those HERE and HERE.

The cart request for this past week was a nice tribute to Star Wars, complete with sound bites if possible. We had =3= entries this time, good job guys !

Youtube video of Star Wars.


STAR WARS written by nosnibor28 (01-19-20)

STAR WARS written by dw817 (01-19-20)

STAR WARS AppleCart II by yesyoor (01-16-20)

This week's challenge is most definitely an interesting one. A 3-dimensional docking game. But before you turn in your chips realize it's very pseudo-3D, that is it shows two horizontal strips representing a top view of where you are and a side-view. You must control your ship not just Up, Down, Left, And Right, but To and Fro as well to navigate around the treacherous asteroids.

There will always be one rogue asteroid that is hurtling in the opposite direction. Your mission is to circumnavigate the asteroids including the rogue one and dock safely at the space station on the right-hand side of the screen. Your score will be based on how quickly you can do this.

As for programming you only need to move two different objects, the player and the single rogue asteroid. Other than that flag a collision if BOTH screens have the player touching an asteroid. You could even use PGET() if you like.

Here is the video:

As always you have one week to post your best rendering of this cart. May I recommend you use one button like (O) to do normal movements of UDLR and (X) for To and Fro as well as left and right. While there does not appear to be sound you are certainly more than welcome to add some as well as your own creative and graphic ideas.

Good luck out there !

P#72108 2020-01-19 23:46 ( Edited 2020-01-20 04:34)

Cart #applecart_starwars_dw817-0 | 2020-01-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Hello and welcome to APPLECART's 4th week running ! The challenge for this week was to make a Star Wars game based on an old Apple ][ game. You can find it and other entries HERE.

I suppose I went a little overboard when I wrote this cart. While it does indeed follow a good portion of the original 1970 game, there's a bit of an Easter Egg in there that can only be found by the most diligent game player AND programmer.

That's right, you might need to look at the source code itself to see how to - for instance - what button to press to change names of the pilot, critical to winning the game. And yes there is a big gala ending if you have the right pilot and shoot down enough enemies.

Find any secrets ? If you want to post them, please use the HIDDEN blocks in typing so you don't spoil it for others.

Now Scrubsandwich said he would be interested in beefing up my paltry music attempts and update this cart. At this time he is more than welcome to do so.

Commands. Use arrow keys to select items and move your ship. Use the (O) button for laser and (X) for a photon torpedo. The torpedo counts 2 energy from your total but has a larger hitbox. There are severals secrets in the game that can help you breeze through the levels quite rapidly. It's up to you to find them.

And enjoy the game ! And feel free to write your own type of this game including any previous Applecart submissions that of Alien Attack, Alien Invasion, and Bomber. All found HERE.

P#72112 2020-01-19 23:22 ( Edited 2020-01-20 19:01)

Hello !

THIS map is from the JELPI demo written by ZEP

I recently wrote this rather nifty utility which will take a .p8 file, calculate all the sprites and the map, and then give you an option to save either as a .JPG or .PNG the entire visual map for reference. It is for WINDOWS and was requested HERE:


I am currently using MEDIAFIRE to host this file. If you can think of a better more reliable site to host it that would be fine.

You can find this utility HERE:


You can speed it up and skip the logo animations by hitting ESC once it first comes up.

It actually has a few debug stuff running which is nice to see.

Choosing a P8 file it shows:

  1. The sprite set, hit a key.
  2. A quick scan of all sprites, hit a key.
  3. The map image ready to save, hit a key.
  4. Filebox, save as PNG or JPG
  5. Done !

If you have any questions or suggestions for further Pico-8 tools, please let me know.


P#71984 2020-01-16 03:01 ( Edited 2020-01-16 03:09)

HELLO and welcome back to another exciting week of Applecart.

When we first started, we wanted you programmers out there to give us your own rendition of Apple ]['s own Saucer Attack, an old 6502-assembly Apple ][ game that was originally read in the computer by audiocassette.

There were two entries total, found HERE and HERE.

The week after that we had a new competition, to make a game called Saucer Invasion, slightly different from the above. In this case we had a bonus, a video to look at so we could indeed see the original game, its instructions, presentation, and operation.

Youtube video of Saucer Invasion

So there were two entries on this one, and you can find those HERE and HERE.

LAST WEEK your challenge was to make the game BOMBER based on THIS video.

This cart request was different from the others in that when the tank is hit by the bomb it blows up in a brilliant explosion where every pixel that made up the tank explodes outward. Quite lovely.

This week there were two entries. One of course by myself.

Bomber Revisited written by dw817 (01-12-20)

Bomber written by Nosnibor28 (01-11-20)

THIS WEEK's challenge (01-12-20) in lieu of the new movie out, "STAR WARS: The Rise Of Skywalker," is in fact STAR WARS. An interesting Apple ][ game in that you are given a choice of 2-different kinds of Ammo to fire at Empire Tie-Fighters in a pseudo 3-dimensional game which is straight out of the popular science fiction series.

Now before you say WAIT A MINUTE I CAN'T DO THAT ! Think about Pico-8 for a second. It has a mapper. What if ... just what if you drew that fancy target background in THERE from some well-placed 8x8 pixel sprites and then just just called MAP() to update the whole background of the screen ? That would do it.

Also as this game uses a regular Apple joystick, we are leaving the mouse behind for this one and you can code it using the arrow keys and (O) to fire a regular laser shot or (X) to fire a ball torpedo. The difference between the two the laser must be precise and counts as one energy while the torpedo doesn't need to be so precise yet counts two energy.

It is also possible for the enemy Empire ships to escape if you don't shoot them in time.

So good luck Squadron Leader ! The Resistance is counting on you !

P#71884 2020-01-12 22:40

Cart #bo-0 | 2020-01-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
TO LOAD THIS CART in Pico-8, in immediate mode type:

load #bo

BOMBER for the Apple ][ computer has always been one of my favorite quick-shot 6502-assembly machine-language games, and at 32k it was a marvel for what it did.

Using no BASIC code at all, neither Floating Point nor Integer and purely in machine-language it had a jet come from the right-hand side of the screen to soar to the left while a tank below plodded from left to right.

Your mission: to bomb the tank. But it wouldn't be easy. While the initial tank that appeared followed a fairly steady course, the ones to follow were tricky to hit as they sometimes even went in reverse.

To make it more difficult the bomb you dropped followed a slow but steady curve. It was up to you to determine the best way to hit the tank by dropping your bombs on it.

And while you were granted an unlimited number of bombs to drop, you only had 60-seconds in which to do so.

Bomber is my entry in this week's Applecart. You can find more information about this weekly event HERE.

Please enjoy BOMBER, one of the great games from the history of the Apple ][ computer - and especially feel free to read the source-code which is chock full of helpful remarks including how the particle explosion is done. Thanks !

P#71883 2020-01-12 22:02 ( Edited 2020-01-12 22:03)

HELLO and welcome back to another exciting week of Applecart.

When we first started, we wanted you programmers out there to give us your own rendition of Apple ]['s own Saucer Attack, an old 6502-assembly Apple ][ game that was originally read in the computer by audiocassette.

There were two entries total, and you can find those HERE:

Saucer Attack written by dw817 (12-29-19)

Destructoid written by chizel9000 (12-29-19)

The week after that we had a new competition, to make a game called Saucer Invasion, slightly different from the above. In this case we had a bonus, a video to look at so we could indeed see the original game, its instructions, presentation, and operation.

Youtube video of Saucer Invasion

So there were two entries on this one, and you can find those HERE:

Saucer Invasion 2020 by nosnibor28 (01-05-20)

Saucer Invasion by dw817 (01-05-20)

Your challenge for THIS week is to make this game. BOMBER.

And this just might introduce you to particle effects to handle the explosion.

Now those of you who have been in Pico-8 for some years may recognize me writing this game many years ago. And that's fine, this next Sunday I will release a new version of this cart chock full of helpful remarks. But THIS SUNDAY until then you are encouraged to write your own version.

And it doesn't have to be exact. If you want to add some new items, perhaps new sound effects and graphic eye candy in much the same that nosnibor28 and chizel9000 did with their carts, you are more than welcome to.

Here are some things to consider.

  1. Future versions of this game had the tank initially start out at one speed, but once bombed it would take off in a new speed and possibly in reverse making it that much harder to hit.

  2. You are encouraged to NOT have your sprites flicker. Tribute not clone.

  3. Your game does not need to be B&W, you can make it color if you like.

  4. Experiment with Pico-8's sound and you just might get a jet engine or a tank's motor.

  5. Instead of having the tank or jet blink from one side of the screen to the next when they reach the end of it, have them smoothly glide so it appears they are arriving on one side of the screen as they are leaving the next. You can see this in my Saucer Invasion game.

  6. Notice the bomb from the jet follows an interesting curve. It is this that makes the game challenging.

  7. Game should end if you run out of bombs or time.

  8. Jet of course cannot fire if bomb is already in air or tank is exploding.

Hope these ideas help, and see you then !

P#71777 2020-01-05 22:52 ( Edited 2020-01-05 23:29)

Cart #si-1 | 2020-01-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
TO LOAD THIS CART into pico-8, type in immediate mode:

load #si

See source-code full of remarks detailing what is happening.

This is my entry into this week's 🍎Applecart series.

The premise is simple but the gameplay is challenging.

You are given 15-missiles to shoot into the UFO in the sky. But your missiles do not just shoot straight out. They take a moment for the rockets to really get going so you'll need to predict where the UFO will be when your missile hits.

And the UFO does not take a straight course either and can change direction in a moment's notice. However the UFO does not take into account the missile's location.

It's up to you to rid our skies of these out-of-this-world visitors, and you only have 90-seconds in which to do it !

Classic start simulates a real Apple ][ computer complete with floppy-drive booting sounds.

Get 50-points for each UFO shot and lose 10-points for each time you miss.

Get through the game and see your final results.

Controls are MOUSE to simulate Apple's Paddle Zero and LEFT button to simulate Apple's button on the paddle.

P#71780 2020-01-05 18:15 ( Edited 2020-01-05 18:23)

Cart #up-1 | 2020-01-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

(01-02-20) If you just want to see it in action, try out the cart above and examine the source-code. For a more detailed demonstration including compression, try out the cart below this.

Cart #sccm-4 | 2020-01-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
TO LOAD THIS CART in Pico-8, in immediate mode type:

load #sccm

UPDATE (01-01-20) Removed all loose global variables.
UPDATE (12-31-19) Tightened code slightly.

The mapper for Pico-8 is a good idea, isn't it ? But maybe it doesn't cover all the space you need for all the levels you want in your game. Thus I have made (especially for Scrubsandwich) two useful functions.

One compresses map data to a 6-bit string.
The other decompresses map data from that 6-bit string.

And why would you use a string do you ask ? Quite simply so you can include it directly in your code.

To make use of the first function, STR=COMPRESMAP(H,V,X,Y)

Understand the 5-arguments used for this function:

  1. Where H and V are the top-left hand coordinates of the map you wish to compress.
  2. Where X and Y are the number of tiles across and down for the map you wish to compress.
  3. Where STR is the string that is recorded to.

For instance if you wanted to compress mapper data starting from coordinates 0,0 to 15,15 and wanted to save it in the string called "ROOM" that would be:


Room would then be a 6-bit string of about 214-chars. Less if there were less tiles in that area.

. . .

The 2nd function is DECOMPRESMAP(H,V,STR)

Understand the 3-arguments used for this function:

  1. Where H and V are the top-left hand coordinates of where you will overwrite existing mapper data.
  2. Where STR is the 6-bit string that contains the mapper data you wish to overwrite at this position.

For instance if you wanted to decompress mapper data starting from coordinates 0,0 and wanted to use the 6-bit string called, "ROOM" that already contains the mapper data you want, that would be:


Understanding that the SIZE of this map is already encoded in the 6-bit string and does not need to be entered later for decompression.

Thanks big to @merwok for considering using a function within a function. Works great and frees up the need to have true exposed global variables remaining after you compress or decompress.

ALSO important, forgot to mention. I am using the number 255 as a reference to compression so you CANNOT use sprite #255 in here if you want to maintain the compression. Nothing else is needed. You're still welcome to use all the sprites #0-254.

. . .

If you want to save the newly compressed 6-bit map string to your cart, in immediate mode type:


Which will save it to your clipboard.

Then in your new cart, type out:


(or whatever variable you want to create) with an opening quote. Press CTRL+V, then an ending quote "

Include the CHAR6 routine above and the DECOMPRES() function below and it's all you need !

And that's it. Feel free to try out this demo and examine the source-code to see how it was done. I hope you find these two functions useful and instrumental in your code.

Comments, Questions, Kerosene :) Let me know.

P#71599 2019-12-31 19:59 ( Edited 2020-01-02 17:47)

SOLVED: See @samhocevar's solution. Thanks everyone who contributed answers !

It's a pretty simple question that may not have so simple an answer.

Is there a way I can declare locally global variables inside a function.

By this I mean I define variables inside a function that meet two states.

  1. The variable is seen for the first time and is therefore initialized with a new value.

  2. The variable has been seen before and is NOT initialized but in re-entering this function it retains the same values it had before this same function was exited earlier.

I know I can simply declare global variables but what I wanted was to be able to retain values of simply named variables that might be just a single letter. Yet can only be seen and globally recognized by that local function.

Here is an example:

function _init()


for i=1,#word do


function count(a)
localglobal n=0
  print(n.." "..a)

The results would be:

1 one
2 two
3 three

Understanding that the variable N inside the function of count() will have an entirely different value or no definition at all outside the function where it was not called or initialized.

Can this be done - or is there a kludge ?

P#71597 2019-12-31 18:53 ( Edited 2020-01-02 17:06)

Cart #mgst-1 | 2019-12-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

TO LOAD THIS CART in Pico-8, from immediate mode type:

load #mgst

UPDATE (12-30-19): web address

Metal Gear Solid was an incredible and groundbreaking 3-dimensional stealth game for the Sony Playstation released in the states back in 1998. Not only was it an incredible and challenging game the graphics for its time were nothing short of miraculous if you didn't count Final Fantasy 7.

This then is my tribute to the opening story, where Snake has infiltrated the lower levels, made it to the elevator, reaches the top and is at a secret base in Alaska where he is contacted by CODEC which stimulates the small bones in his ear of his mission and target.

Metal Gear is a copyrighted product of KONAMI.

For more information on this company and this superb game, go here.

Please enjoy my Metal Gear Solid tribute, for the Pico-8 Fantasy Console system.

P#71552 2019-12-30 21:04 ( Edited 2019-12-30 23:12)

Years ago there were only a handful of personal computers out there. The Apple ][ computer is the one I especially remember fondly.

In this I have created the "Applecart." A series of programming events that take old Apple ][ games and refurbish them written in Pico-8. And it's not just by one person.

Every Sunday I have given my team a challenge to write a particular Apple ][ game as well as they can in Pico-8. The only stipulation is it must follow the flow of the original game and try to keep the original sound effects if at all possible. Although creativity is definitely encouraged.

For instance I had remembered one game that I played by reading it off of audiocassette that had a UFO that played a sound that got lower in pitch the lower to the screen it was and higher, the higher it was. It would randomly shoot out a laser and try to hit the player. So the challenge was to hit the UFO fast and hard before the timer gave out, and there were a few ways you could play.

Either wait until the UFO was at the top of the screen where it rarely fired and then just peg it constantly, or wait until it comes low and dangerous and then try to sneak a shot in for higher points knowing that each time you were hit you lost 5-seconds of time.

You also could not fire your laser if you missed hitting your target until the UFO fires again. So it was definitely a strategy game.

And also if you did hit the UFO, you had to get out of there in a hurry as there was always retribution with him firing back. Thus like the original game it has the same controls. A paddle joystick or in this case, your mouse.

. . .

This week (12-29-19) we have the entries. While I couldn't find an exact Youtube video of it there was still one member who wanted to take a crack at it. Please enjoy:

(Destructoid) by Chizel9000

P#71515 2019-12-30 01:39 ( Edited 2020-01-05 23:27)

View Older Posts
Follow Lexaloffle:        
Generated 2020-02-18 22:41 | 0.187s | 2097k | Q:158