Lillapojkenpåön
-
Content Count
486 -
Joined
Posts posted by Lillapojkenpåön
-
-
Thanks for the info!
3 hours ago, mksmith said:With incgraphic you only include the indexes (0-3 for 160A or 0-15 for 160B
If you use plotmapfile you also have to include palette_# after 0-3
that was the problem, guess you have to use plotmap instead if you want more colors, that worked.
Do you have to create your tiled maps differently when using 160B instead of 160A?
My tiles are now half overlapping eachother so the map only covers half the screen.
-
On 2/8/2020 at 11:43 AM, mksmith said:Hey guys,
I thought creating a video might make explaining the sprites and colors in 7800basic (from the Sprite Editor) a little easier! (wow don't you hate hearing yourself!)
I've also attached the source code if that makes the examples a bit clearer. It's also very possible I may have got something not quite right so if you have any questions please don't hesitate to ask 👍
When you are using 12+1 colors, it still says displaymode 160A, is that just a typo?
And I can't see where in the incgraphic command you are telling it to start with palette 0, the first 0?
I just added a fourth color and when I try the same thing and everything else I can think of I just get an error
plotmapfile didn't find a palette for testsprite
-
Btw, this works starting with player1 and _NUSIZ1 to, and _NUSIZ1 - NUSIZ9 is allready a ram array so you don't have to use the a-g variables in this example, and trick can be a temp variable, that makes this code even more powerful, here's an example of how I used it.
-
1
-
-
Is that nusiz copies you're shooting?
when I did that in a test, I only checked the hitboxes of the enemy that was in the same vertical region as the missile, so max one check per frame, maybe you're allready doing that but otherwise this is how I did it, some is batari basic but I'm sure you can read it.
player0 was my missile and the player1 array the enemies
asm ldx #number of enemies - 1 .verticalCheckLoop LDA player0y clc adc player0height CMP player1y,x BCC .noOverlap LDA player1y,x CLC ADC player1height,x CMP player0y BCC .noOverlap ;EXIT LOOP WHEN A MATCH IS FOUND STX trick ; store x to temporary trick variable before exiting jmp .exitLoop .noOverlap dex bpl .verticalCheckLoop jmp .skipCollisionCheck ;if no match was found during the loop .exitLoop end ;assembly end ;prepack some calculations temp4=player1x[trick]+8 ;RIGHT EDGE OF FIRST COPY temp5=player1x[trick]+32 ;LEFT EDGE OF SECOND COPY (RIGHT = 40) temp6=player1x[trick]+64 ;LEFT EDGE OF THIRD COPY (RIGHT = 72) temp2=_NUSIZ1[trick] ; go to the correct horizontal hitbox checking based on how many nusiz copies if temp2= $06 then goto which7w3 ;$06 if temp2= $02 then goto which7w2l ;02 if temp2= $04 then goto which7w2w ;04 if temp2= $00 then goto which7w1 ;00 which7w3 ;``````````````````````````````````````````````````````````````` ; If sprite on the left was hit, switches to 2 medium copies ; and moves copies to the right side. ; if temp3 >= player1x[trick] && player0x <= temp4 then _NUSIZ1[trick]=$02: player1x[trick]=temp5 : goto done ;``````````````````````````````````````````````````````````````` ; If sprite on the right was hit, switches to 2 medium copies ; if temp3 >= temp6 && player0x <= player1x[trick]+72 then _NUSIZ1[trick]=$02 : goto done ;``````````````````````````````````````````````````````````````` ; If sprite in the middle was hit, switches to 2 wide copies. ; if temp3 >= temp5 && player0x <= player1x[trick]+40 then _NUSIZ1[trick]=$04 : goto done goto skipCollisionCheck ;if no copy was hit which7w1 ;``````````````````````````````````````````````````````````````` ; Last copy on current row is removed off screen and nusiz copies is reset to three. ; if temp3 >= player1x[trick] && player0x <= temp4 then player1y[trick]=189 : _NUSIZ1[trick]=$06 : goto done goto skipCollisionCheck ;if no copy was hit which7w2w if temp3 >= player1x[trick] && player0x <= temp4 then player1x[trick]=temp6 : goto lastCopy if temp3 >= temp6 && player0x <= player1x[trick]+72 then goto lastCopy goto skipCollisionCheck ;if no copy was hit which7w2l if temp3 >= player1x[trick] && player0x <= temp4 then player1x[trick]=temp5 : goto lastCopy if temp3 >= temp5 && player0x <= player1x[trick]+40 then goto lastCopy goto skipCollisionCheck ;if no copy was hit lastCopy _NUSIZ1[trick]=$00 done ; code for what happens when you hit an enemy goes here skipCollisionCheck ; if no copy was hit you land here
-
Awesome!! Thanks!
-
Ok thanks! It compiles now but still just a black screen
do you see anything else wrong?
Spoilerset tv ntsc
set zoneheight 16
set tallsprite off
set doublewide on
set basepath graphics
displaymode 160A
incgraphic testsprite.png 160A 0 1 2 3 0
incmapfile testmapfile.tmx
P0C1=$26 ; P0 is for Palette 0, C1 is for Color 1.
P0C2=$24
P0C3=$04
clearscreen
plotmapfile testmapfile.tmx testmapfile 0 0 20 12
savescreen
drawscreen
mainloop
BACKGRND=$0E
restorescreen
drawscreen
goto mainloop
-
3 hours ago, RevEng said:For any tiles that are used in a mapfile, the incgraphic statement for those tiles needs a palette parameter. Otherwise 7800basic doesn't know which tiles in that map should, for example, use the palette set aside for water colors, and which should use the palette set aside for ground colors.
See the incgraphic docs for more info.
I have read that many times and other threads about the same error, but I'm obviously missing something
incgraphic testsprite.png 160A 1 2 3 0
123 being the different colors and 0 the "palette parameter"?
but rt seems to use 0-2 for colors instead of 1-3? and in other examples it seems like the first number is the palette followed by the colors?
I'm confused.
-
I had forgotten to incgraphic.. but now I get this error?
ERROR, plotmapfile didn't find a palette for testsprite
set tv ntsc
set zoneheight 16
set tallsprite off
set doublewide on
set basepath graphics
displaymode 160A
incgraphic testsprite.png 160A 1 2 3 0
incmapfile testmapfile.tmx
; Set Palette 0 Colors – as I commented, it sets Palette 0.
;P0C1=$26 ; P0 is for Palette 0, C1 is for Color 1.
;P0C2=$24
;P0C3=$04
P0C1 = testsprite_color1
P0C2 = testsprite_color2
P0C3 = testsprite_color3
rem ** setup Palette 1
P1C1=$12
P1C2=$F6
P1C3=$Fc
clearscreen
plotmapfile testmapfile.tmx testmapfile 0 0 20 12
savescreen
drawscreen
mainloop
;BACKGRND=$00
restorescreen
drawscreen
goto mainloop
-
Hello, I'm trying to use tiled to make a plotmap, I first used the sprite editor in atari dev studio to make an 8x16 tile, then followed this tutorial, but I get these errors
User-defined 7800.asm found in current directory
--- Unresolved Symbol List
TWOPADDLESUPPORT 0000 ???? (R )
TRAKTIME 0000 ???? (R )
MOUSEXONLY 0000 ???? (R )
MOUSE0SUPPORT 0000 ???? (R )
testsprite 0000 ???? (R )
MOUSE1SUPPORT 0000 ???? (R )
PADDLESUPPORT 0000 ???? (R )
PADDLERANGE 0000 ???? (R )
PADDLE0SUPPORT 0000 ???? (R )
PADDLE1SUPPORT 0000 ???? (R )
MOUSETIME 0000 ???? (R )
CANARYOFF 0000 ???? (R )
DRIVINGBOOST 0000 ???? (R )
TRAKBALL0SUPPORT 0000 ???? (R )
TRAKBALLSUPPORT 0000 ???? (R )
DEBUGWAITCOLOR 0000 ???? (R )
TRAKBALL1SUPPORT 0000 ???? (R )
CANARRYOFF 0000 ???? (R )
PADDLESCALEX2 0000 ???? (R )
TRAKXONLY 0000 ???? (R )
PADDLESMOOTHINGOFF 0000 ???? (R )
PRECISIONMOUSING 0000 ???? (R )
and
Fatal assembly error: Source is not resolvable.
Cartridge size not a multiple of 4K bytes!
it has testsprite as unresolved symbol, thats the tile I made in the sprite editor, but it's also the name of the tileset in tiled, and that seems to be what it's refering to, what could be wrong?
And what does the .spe file do?
-
So the sprite editor can export those weirdo 7800 png's?
How do I open the sprite editor btw?
-
30 minutes ago, TIX said:That's really cool, but it became to complicated for several reasons not just hitboxes, I would need seven or fourteen variations of all those frames for going on and off screen, unless masking player0 can be added to the arm code, also with the previous attempt I really tried to keep it simple but it escalated real quick
for example if your going right you set it to that walking sprite, but now if youre also jumping you overwrite that and start jump animation, but not if there's roof above you, well yes actually but not if it's emediately above you, well actually yes that to since that will happen if you jump up and hit your head, those two scenarios will look exactly the same but one requires that you don't begin jump animation and one that you end it and start fall animation,
you would also have to have some mix of an animation frame counter and then holding the last fall frame while falling, and last jump frame while still moving up, that's just the start, you have to make sure while this is happening pressing left or right in the air doesn't change to the going left and right sprites, and the combinations and possibilities just continues on and on and on.
-
2
-
-
9 minutes ago, TIX said:What's the dimensions of the hero/enemies ?
hero 8x8 pixels, I will probably change it to just 5 pixels wide
enemies, 6 wide, 8 high
-
On 9/2/2020 at 5:52 PM, SpiceWare said:I was wondering how your project was progressing, that turned out really well!
Thanks! It wouldn't have existed at all without your help my friend.
15 hours ago, ZeroPage Homebrew said:wow WOW WOW! What an incredible platformer @Lillapojkenpåön, such smooth and natural feeling jumping and movement. Great first level! The fact that the enemies transition between screens is also awesome, reminds me of the enemies in the amazing puzzle shooter Caverns.
PLEASE continue making this game, more levels please!
Also, it plays perfectly on real hardware, below is a video of me beating the first level (both ways) on my RGB Light-Sixer:
Thank you!
I don't know what direction to take it tho?
I tried adding an animated human sprite with different animations for jumping and ducking and stuff but it became way to complicated, changing hitboxes, and not getting stuck when the sprite changed size, and moving on and off the screen smoothly, so the player sprite has to be really simple.
I tried making moving platforms out of the missiles but you can't get them to move on and off the screen smoothly, unless they are only four pixels wide and move four or two pixels every time, maybe I can try that again..
And the biggest thing I wanted to do was having all of the enemies x positions in zero page variables, and if it was in the visible window copy it and draw it with an unused virtual sprite, that way you could have 4 enemies on one screen, 5 one the next, 4, 5, 4... so that when you scroll between them there's never more than 9 visible, but alot more enemies than that in each level, I'm sure that's possible but something prevented me from doing it?
So this game attempt was just one big fail/time waste reminder that I wanted to be alot more, and had given up on trying to make it into an actual game, but if you say it's good I'll try to make it a little better.
-
3
-
-
Sounds interesting, one tutorial video coming up! I'll make one of how to keep track of enemies offscreen in bB to, I thought that was pretty cool.
-
2
-
-
I started by downloading every bas file I could find to an example folder, and I remembr looking at them and wondering why some people read the joystick before the drawscreen and some after, it took a worrisome long time before I got that it's a loop, and that they both where before or after the drawscreen depending on how you look at it, there's a thread of beginner examples at the top of this bB section, it took me about two weeks to copy code from those and make a spaceship fly around and shoot a missile, and I've been hooked on programming ever since then, also you will start by making code that's incredibly over complicated, it start's to get really fun when you get how to make things simple, actually it's fun all the way.
One advice I would give myself both then and know is to not worry if you don't get exactly how something works, just continue and and you will get it eventually.
-
2
-
-
I saw in the latest zph stream that someone was making a multisprite kernel hack with scrolling, well I made a dpc+ hack a a while ago, that allows horisontal scrolling, I followed sprybugs way of doing it, I would have no idea where to start without that, it's really easy to use and allows different pf resolution, I can make a short tutorial video if anyones interested?
Thanks to Darrell Spice Jr. for allways going out of his way to help!!
Here's a little rough demo I made to try it out, would be nice to know if it works on real hardware?
You don't have to this metroid style scrolling if you don't want, I just wasn't happy with anything below one column per frame so I did this, Thomas Jentzsch style.
-
8
-
-
That has happened a couple times to me, when vs code tries to update and I don't have enough memory left, then I have to re-install it.
-
2
-
-
Don't know, stopped following it a long time ago
but it would be really cool
can someone call them and tell them to make sure it works with the 8bitdo on the original vcs

nomnomnom
-
if the bg and pf is a single color in the horisontal region where it goes of screen, you can use the ball and the other players missile (if you're using player6 use missile0)
and make them 8 pixels wide and 3 close copies, and color of bg
# # #
# # #
put one of them 8ish pixels away from the others xposition
######
now you can put it on the opposite screen side
if the player doesn't move behind one of them,
you can do the same thing with player0
or just use player0 with the same width as your other sprite,
you might have to swap player6 and player0 for the correct priority
-
1
-
-
On 7/6/2020 at 11:22 PM, Karl G said:For bonus points, does anyone know of an Atari-like bluetooth joystick controller that might work with this? E.g. a speciality stick designed for one of the consoles that use bluetooth controllers or somesuch.
Mind you, I do fine with gamepads, but not everyone in my household does. 🙂
-
2
-
-
I'll take your word for it 🙂
-
What if you used a com port splitter with the receiver?
https://www.amazon.com/Your-Cable-Store-DB9-Serial/dp/B002IA3B06
Wouldn't you be able to read both sticks?
-
13 minutes ago, RevEng said:in case anybody has ideas about using two adapters for games that use two sticks.
Stupid technology...
-
28 minutes ago, RevEng said:not aware of any controllers that would allow this.
It says here that you can pair multiple controllers that have been modded with the 8bitdo mod kits to one receiver
Is that normal, or does it indicate you could also pair one with many receivers?


7800basic and png images
in Atari 7800 Programming
Posted · Edited by Lillapojkenpåön
So how do you load your background if you don't use plotmap and plotmapfile doesn't work with more than 3 colors?
I have doublewide on allready, how would I draw the map otherwise to reduce render time?
I drew a new map and to clarify
this works but my fourth color missing ofcourse
incgraphic testsprite.png 160A 0 2 3 1
switching to this now only gives me a black screen
incgraphic testsprite.png 160B 0 2 3 1 5
both with this
plotmap tiledMap4colors 0 0 0 20 12