Jump to content
IGNORED

Plim


atari2600land

Recommended Posts

OK, I typed in 64kSC instead of 64k and Visual bB is giving me a new complaint.

player1:
%00000000
%00001111
%00001111
%00001111
%00001111
%00001111
%00001110
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00001100
%00111100
%01111100
%11111100
%11111000
%11111000
%11111000
%11111000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11110000
%11111100
%11111110
%11111110
%11111110
%11110110
%11000110
%11000110
%11000110
%11000110
%11110110
%11110110
%11110110
%11000110
%10110111
%11110011
%11111011
%11111011
%11010000
%11010000
%11010000
%11010000
%11010000
%11110000
%11110000
%11110000
%11110000
%11110000
%10100000
end
player1color:
240
240

...

It doesn't like the first "240," claiming it's a syntax error.

plim44.bas

Link to comment
Share on other sites

64kSC support is new, you'll have to add it to the vbB dictionary.

Compiling from the command-line can sometimes give more information:

 

You have a double "end" after this block of code if e>40 then player1:

(990): Warning: size of subsequent pfcolor tables should match

(1037): Warning: size of subsequent pfcolor tables should match

(1070) Warning: long line

(1097) Warning: long line

(1339) Warning: long line

(3647): Error: Unknown keyword: 240 ->probably because of the long lines or the pfcolors having different counts vs. number of pixels.

 

-Jeff

Link to comment
Share on other sites

I got around the limitation of using all the sprite / playfield data area, in DPC+, in my (5 playfields) Jumpman Donkey Kong (which i started way before Joe M.'s excellent assembly DK2600) in my blog, by using data statements in the banks and then using Bogax's code loops to pfpixel on / off the entire playfield. (Sorry no example code for DKbB2600.)

To use data statements for sprites, you would have to use the player pointers and math to point to additional sprite data.

I don't know how to do this, but it can be done.

So when you've used up all the sprite / pf data area, you figure out a way to add more.

Sorry I haven't really helped, but I hope I gave you some ideas!

Link to comment
Share on other sites

Finally!

I think I have gotten it back to pre-64k status and it's 64k.

It took a lot of testing, typing, screaming and yelling, but 4 hours later, it's finally done. Let me know if you see any bugs.

Question: The only reason I used 64kSC is because I thought I had to. But I got it to compile just using set romsize 64k (with no SC at the end.) So would it be easier to make carts now that I'm not using a Superchip?

plim47.bas.bin

plim47.bas

Link to comment
Share on other sites

I found a bug. If I set the level at the beginning to the beginning, upon reaching level 6, I get garbage for the second digit of the right score. I don't know why this happens. The section for the line where this happens begins at line 3,750 if you want to take a look. If I set the level to 5 and play through level 5, it displays the correct number instead of garbage for level 6, which is really odd.

plim50.bas

post-9475-0-01298600-1377264485_thumb.png

Edited by atari2600land
Link to comment
Share on other sites

  • 2 months later...

OK, so I'm back working on this again. Level 7 is a watermelon-collecting stage, and level 8 you throw the watermelons at the alien. If you get to 0 watermelons, you repeat level 7 over again until level 8 is completed. Right now, hitting the alien with the watermelon does nothing and if you run out of watermelons, level 7 repeats. In this version, you start with 2 watermelons and 2 seconds, so it would be easier for me to test level 8. I noticed a bug, though, and it has to do with the playerscores. Someone told me to enter the following code, and it works ok, except when you have more than 9. If you have, say, 10 and want to subtract, it goes from 10 to 1[garbage] instead of 09. How would I fix this?

subtract_player1score

  asm

  sed ; set decimal mode

end



 player1score=player1score-$01



  asm

  cld ;clear decimal mode

end

 return

plim51.bas

plim51.bas.bin

Link to comment
Share on other sites

If you have, say, 10 and want to subtract, it goes from 10 to 1[garbage] instead of 09. How would I fix this?

The numbers you use have to be BCD compliant.

 

So instead of subtracting 10, you need to subtract $10.

 

I just tested CurtisP's playerscores with adding and subtracting $10, and it works fine.

 

Also worth mentioning that with my updated bB release you can issue "dec player1score=player1score-$10" to subtract in decimal mode without assembly wrappers.

  • Like 1
Link to comment
Share on other sites

Ah, I see the problem. bB optimizes "player1score = player1score - 1" into "DEC player1score", which is an assembly command that doesn't work in decimal mode.

 

If you change your line to "player1score = player1score - $1", bB won't optimize it and it will work with decimal mode.

 

(or you can use a later bB and the "dec" command, which doesn't do that optimization for this very reason)

Link to comment
Share on other sites

Aha! I slimmed it down to 32k! Now you (or I) can use it on Harmony again! There is a slight graphical change I had to make regarding level 4's background. It now looks like this.

post-9475-0-00299000-1383263797_thumb.png

And I think the change to 32k is for the better because the storyline I had planned is almost going to wrap up. There is a final fight between the aliens and Frank and it happens in level 8 in bank 7. Bank 8 has 393 bytes left even though there's hardly anything written in it.

plim52.bas

plim52.bas.bin

Edited by atari2600land
  • Like 1
Link to comment
Share on other sites

The problem came up again in bank 6. Luckily I had enough space to put in the following solution:

y=player0score

 

 if player0score=$8f then player0score=$89 : y=89
 if player0score=$7f then player0score=$79 : y=79
 if player0score=$6f then player0score=$69 : y=69
 if player0score=$5f then player0score=$59 : y=59
 if player0score=$4f then player0score=$49 : y=49
 if player0score=$3f then player0score=$39 : y=39
 if player0score=$2f then player0score=$29 : y=29
 if player0score=$1f then player0score=$19 : y=19
 if player0score=$0f then player0score=$09 : y=9

NOTHING ELSE WORKED.

Link to comment
Share on other sites

This version starts at the watermelon fight. You get 30 watermelons for this special testing version. The final game and number of watermelons depends on how many you collect in the forest.

I want your input on two things.

#1 - How hard/easy is it to hit the alien? I'd like a certain number of times you need to hit him, but I don't know what that number is.

#2 - After you hit the alien once, he beams you up into the spaceship for the final fight with the alien king. For the alien spaceship, I imagined a big fighting arena with a window that looks out over space. How good did I draw the spaceship's inside?

plim55.bas.bin

Link to comment
Share on other sites

OK, this version starts at the final fight. I've begun work on the final fight against the alien king. When you jump on his head, he flashes, mumbles some alien swearing then disappears. What he says, though, is the same thing every time even though I'm using rand.

 rem : d{0}= alien king's head jumped on, start alien talk
 if d{0} then e=e+1 : AUDC0=1 : AUDV0=5 : AUDF0=g

 if e>0 then g=rand/8

That's the code. Why is it that I'm using rand, yet it does the same "talk" every time?

If you want to help, the final fight code begins at line 4,875.

 

(BTW: The reason he disappears is because he's about to throw watermelons at you and then he'll reappear in a random spot, but I haven't got that far yet.)

plim56.bas.bin

plim56.bas

Link to comment
Share on other sites

Goodie, I found a new bug. If you die in level 2 and restart the game, level 1's player1score is all messed up (see picture.) Odd thing is, it ISN'T messed up if you start the game the first time. I'm still having trouble with the alien bug in the last level.

 

post-9475-0-08045900-1383615633_thumb.png

plim57.bas.bin

plim57.bas

Link to comment
Share on other sites

  • 1 month later...

Question. What is the "coin" in Mario Bros. and how do I make it be in my Plim game? I'd like to include stars in the background to simulate zooming through space on the last level, and I thought flickering stars would do that best. Looking at a Mario Bros. screenshot, it looks like it is a missile of the player that Mario Bros. is. And looking at this screenshot, the missile takes the colors of Mario. So why can't I be able to take missile 1 and have its colors be the hair of Frank and have that be flickering stars going by?

 

post-9475-0-70666200-1387844477_thumb.png

Link to comment
Share on other sites

  • 5 months later...

I've just decided to have Plim be 32k. For some reason I decided to work on it again. I found a bug though in level 1 involving the end of it. There are two versions I've uploaded here. plim60.bas.bin is at the end of the game. The final fight. I need some feedback as to its difficulty. Too hard? Too easy? Also, plim60begin.bas.bin starts you at the very beginning of the game so you can have the full plim experience before you get to the final fight. Right now if you beat the alien king on the final fight, it just loops back, but I plan on programming in a final cut scene to end the story. I will not make that version public. You'll have to get Plim and beat it yourself to see the final ending. But first I have to think one up, or I could just say "to be continued" and make a Plim 2?

plim60.bas.bin

plim60begin.bas.bin

Link to comment
Share on other sites

OK, I fixed the bug in level 1, but then I went a few bytes over bank 1's limit. So then I had to fix that. So I did. I now will have 6 bytes left if I use the goto command to get to the part I'm working on, 24 bytes if I don't use it (which I ultimately will be doing. After all, you don't want a game where you start at the end!)

Link to comment
Share on other sites

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...