Introduction to Atari Player Missile Graphics Programming in BASIC

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ธ.ค. 2024

ความคิดเห็น • 118

  • @aceebb0
    @aceebb0 4 ปีที่แล้ว +11

    Awesome vid! I've been poking around (pun intended) with my 800XL for 30+ years and always wanted to use player missile graphics but found most tutorials too... headachey. After watching this I finally "get it". The way you explain each piece of code and then run the program to see the effects really makes this click for me. Strong work my friend. Can't wait to watch the rest of the series and start hacking away!

    • @b213videoz
      @b213videoz ปีที่แล้ว

      ...and I've been PEEKing around for about the same time 😁
      By the way 2 days ago I build my first Atari 800 game, a version of XONIX. I used Pascal compiler.

  • @Lukem_Gaming
    @Lukem_Gaming 2 ปีที่แล้ว +1

    The 10-year-old me would like to thank you for explaining this stuff clearer than any of the handbook I had available at the time (early 1990s or so). There was so much magic behind the PEEK / POKE / DATA commands and I never managed to wrap my head around them except a few common memory locations (710 for teh win). And I had no idea it was possible to write machine code directly in BASIC.
    Took me decades to realize my Atari 65 XE was in fact quite a powerful beast but I didn't have enough resources to exploit its potential.

  • @GavinHaubeltMedia
    @GavinHaubeltMedia 5 ปีที่แล้ว +17

    Totally impressed! Love your videos! I have had an Atari 800 for almost 40 years now and active in the Atari community making SDrive-MAX's for others. Just stumbled on your channel and love it! Thanks so much!

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว +3

      Gavin Haubelt much appreciated! I have been an Atari enthusiast since the early 80’s and still love working with them. Thanks for watching.

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว +3

      Thank you! Atari lives on!

  • @spidericemidasiosmusicprod1309
    @spidericemidasiosmusicprod1309 7 หลายเดือนก่อน +1

    Man, I knew and used all this stuff as a 14/15 year old in the 80s. Display list interupts, player missile graphics, collision detection, joystick movement, sound, animation, character sets etc.
    I was self taught by combining and experimenting with the mini programs for each aspect of programming found in books and magazines.
    Can't believe I knew all that back then. Can't remember much of it now. But I'm interested in learning it all over again as I've just bought a 400 mini which is programmable.
    I still have the original 400, modded with 48k and a proper keyboard, but the dedicated cassette loader is broken, and who has a TV these days that can accept the old RF signal and connection?
    Great series here, thanks. Will be watching them all with great interest.

  • @ralphyrocket5770
    @ralphyrocket5770 5 ปีที่แล้ว +14

    Your videos have been needed for years!!! Excellent style and format!!

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว +4

      Thanks! Just doing what I love but I appreciate the support...

    • @danzarz
      @danzarz 5 ปีที่แล้ว +2

      Agree in 100%

    • @acht_bits
      @acht_bits 3 ปีที่แล้ว

      Indeed, I really like the style of the videos too. Hands-on, without assuming that the viewers know everything already. Thanks :)

  • @Foebane72
    @Foebane72 4 ปีที่แล้ว +7

    I have programmed on an Atari 800XL for YEARS, and didn't even know you could insert spaces for new lines like that!

  • @jeffhutchinson71
    @jeffhutchinson71 4 ปีที่แล้ว +4

    Found your channel today and have watch a couple of videos already. I'm really enjoying it. I wish I had found this channel 35 years ago. :)
    I've been doing Java for the past 22 years. I look forward to relearning basic and learning assembly from your channel. Great work and thanks!

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว +1

      Thanks and welcome

  • @krzysztofkazmierczak7666
    @krzysztofkazmierczak7666 3 ปีที่แล้ว +3

    Great tutorial! I started to write my another game for Atari after 30+ years thanks to your tutorial. Keep it up and thanks galore!!

  • @adamv242
    @adamv242 3 ปีที่แล้ว +8

    Wish I had TH-cam back in the early 80s when I was learning this stuff on my 600XL... Yes, I realize the irony.

  • @BekBrace
    @BekBrace 3 ปีที่แล้ว +1

    Atari 800XL was my first computer that my father presented me in 1992; Basic was my first language and Missile Command was my first game ! Thanks man for the video, and I’m lucky to find your channel - peace out ✌️

  • @pauledwards2817
    @pauledwards2817 4 ปีที่แล้ว +2

    I did see code in basic which used string functions to implement vertical movement. 30+ years ago so can’t remember the exact details but imagine it was dim a string and the fudge it’s pointers to storage in memory to where the players were. Fast vertical movement without assembly. Just use string manipulation.

  • @dannygreefhorst
    @dannygreefhorst 4 ปีที่แล้ว +3

    I love how you explain things, making it easy to understand

  • @thomasmyid
    @thomasmyid 3 ปีที่แล้ว +3

    Hi! At 23:52 where you change the 255 to a 256 you were right the first time - it should be 255. Great vids on the Atari 8-bit, I am enjoying them very much!

  • @3mscotchbrite
    @3mscotchbrite 3 ปีที่แล้ว +1

    when you changed the delay, on the second part you just changed the value for min x axis position (still outside the screen so it doesnt seems an mistake), but the delay ramains the same, you can notice that the spaceship goes faster to the right, but not to the left. Its a really interesting video, i love it and you got a new follower! greetings from Chile!!

  • @kraftwerk974
    @kraftwerk974 2 ปีที่แล้ว +1

    Thank you for the clarity in your exposition. Awesome tutorial 👌

    • @8bitandmore
      @8bitandmore  2 ปีที่แล้ว

      Glad it was helpful!

  • @TrockeyTrockey
    @TrockeyTrockey 3 ปีที่แล้ว +1

    I knew these pm graphics facts at 80., but it is nice to look at it once again.
    Yes, moving players up/down it was pain.

  • @brianwild4640
    @brianwild4640 4 ปีที่แล้ว +3

    good work. I always used to clear the player before I turned it on then you dont see it happen

  • @eugenetswong
    @eugenetswong 5 ปีที่แล้ว +4

    Hi! Thank you for this.
    I'm 46, and you are helping me to live out my dream.
    I'd love to make a 4p-5p game for the Atari 400/800/whatever to male use of all the joystick ports and the keyboard.

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว

      Thank you. I encourage you to proceed with learning and writing your game. Thanks for watching!

    • @nickfifteen
      @nickfifteen 3 ปีที่แล้ว

      I'm with you! I'm 39... and I didn't exactly grow up with all this tech, so when I jumped head-first into C++ as part of my Computer Science major, I couldn't understand anything about it! Pointers? Machine code?? But I know that if I had access to BASIC back in the day (along with a teacher like 8-bit and more!!), I would've had a much easier time with C++. I know this because I've been teaching myself BASIC on my 800XL and I'm finding it SO EASY to understand the C++ I had tried to learn earlier in my life. Videos like this help just the same!
      Programming on these old systems is not just living out a dream, but it's also connecting me to a childhood which I've always wanted... sitting in front of my TV set, poking away at my Atari computer. :D

    • @eugenetswong
      @eugenetswong 3 ปีที่แล้ว +1

      @@nickfifteen hi! Thanks for commenting. You've reminded me to start coding again, and inspired to really go for it.
      On an interesting note, I thought of a couple of uses for that feature that allows us to shrink the width of the player images.
      If we are creating a flying game with a top down view with vertical scrolling, and if we want to show the plane flying under a large object, then we can do that by setting our widths smaller maybe.
      Perhaps another idea is if we do a martial arts game, we could narrow the width of the player image as he turns and dodges enemies.

    • @nickfifteen
      @nickfifteen 3 ปีที่แล้ว +1

      @@eugenetswong Your ideas like those really make me appreciate the last 30-plus years of game design and all the quality of life changes that have come. I've also noticed how these old 8-bit machines are somewhat equivalent in power and performance as, say, a Nintendo Game Boy from 1989. It therefore inspires me to think about what kind of modern games are possible on these old machines, seeing as the Game Boy itself was able to pull off a lot of great classic games... along with what programming features of the Atari 8-bit system which were initially considered pointless or useless back then but are absolutely integral to adding those quality of life upgrades from modern gaming into a game made for these systems. I can't wait to see what you can make with it just as much as I can't wait to see what I can do as well! 😁

  • @rastislavzima
    @rastislavzima 3 ปีที่แล้ว +2

    You haven't mentioned if the top of the memory is returned to the default location and pmg is disabled automatically when basic program ends or you are doing that explicitly in basic program before it ends.

  • @billkendrick1
    @billkendrick1 5 ปีที่แล้ว +3

    I THINK the barrels in Donkey Kong are so-called "soft sprites" -- bitmapped graphics that is drawn and removed from the rest of the playfield. For speed, they're being XOR'd, so they can be XOR'd again to remove them (no masking or backbuffers needed). That's why they look kinda funny when they go down ladders, or cross paths

    • @billkendrick1
      @billkendrick1 5 ปีที่แล้ว

      And this, of course, is the ONLY way a hardware-sprite-less system, like the Apple II, does its moving objects. Lots of tricks involved, for speed. Not as flexible as HW sprites, but also not as limited in resolution, and quantity, as Atari PMGs & Commodore 64 sprites. But we get the best of BOTH worlds. ;)

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว

      Bill Kendrick could be, would love to see the code to know for sure

    • @terramap2902
      @terramap2902 5 ปีที่แล้ว +2

      Yes and No. The Antic chip in the Ataris provided 2 character modes that were multicolor. (Antic mode 4 and 5 (Graphics 12 and 13 in basic) that were equivalent to Antic modes 6 and 7 (Graphics 1 and 2 in basic)). Most animations in these modes were done simply changing the "text" of the desired zone to be animated, using previously defined animations in the character set. The advantage was the memory used: For a full screen memory display of 4 colors, it only required 1KB of data, compared with the 8 KB of data required by graphics mode 15 (the bitmap equivalent mode) and far more less processing time and power, since changing a character was far easiest and cheapest.
      More advanced coders in the laste 80's used Display List interrupts to break that limit and allowed to use 2KB for these modes (top half screen would use a character set, bottom half screen uses another) allowing more advanced effects. But that's something for another time. :)

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว +1

      terramap thanks for sharing that.

    • @bjbell52
      @bjbell52 4 ปีที่แล้ว +1

      @@billkendrick1 I learned bit mapped graphics by reading a book about game programming for the Apple computer. Their hires mode is similar to the Atari's hires mode (graphics 8 in basic).

  • @AdeBamforth
    @AdeBamforth 4 ปีที่แล้ว +5

    I remember creating player missile graphics in the 80's creating my own games, though would soon hit its limitations - vertical movement was very restricted in Basic language because of the processing required, and the limited number of sprites. When I started to dabble with Assembly Language though I was amazed at its speed in comparison. However, what I never figured out was how, if games such as Space Invaders and Donkey Kong were using player-missile graphics, how did they achieve many more than four/five sprites? Space Invaders would be troublesome from the start. Also were coloured sprites made of sprites placed on top of each other (which would use up sprites even quicker)? Sadly, back then it wasn't so easy to access the information you needed when you came up against a problem and i took up other interests. Apologies if you answer any of these questions if your videos and I missed them.

    • @bjbell52
      @bjbell52 4 ปีที่แล้ว +2

      1) Go to Google and search for "Volleyball and softside magazine". Download the game and look at the source code. It moves the sprites vertically at close to machine language using Atari Basic's very fast string moving routines. BTW - I wrote it in 1982. It's a pity Softside put it on disk only. They wanted to use games you could type in to sell magazines and if people knew about this "trick" they could have written better games.
      2) The Atari 800 not only have sprites but bit-mapped graphics where you could draw "sprites" using the bit mapped graphics. That's my guess as what they did on Donkey Kong. For Space Invaders they didn't use sprites or bit mapped graphics. Atari had the ability to redefine its character set and that's what the invaders were - redefined characters moved by Atari's built in scrolling (with sprites used for the ship and possible missiles).

    • @SerBallister
      @SerBallister 3 ปีที่แล้ว

      @@bjbell52 Did the Atari have anything like a hblank interrupt or flag ?

    • @bjbell52
      @bjbell52 3 ปีที่แล้ว

      @@SerBallister Atari's graphics chip was like a microprocessor. It has it own instruction set telling it what graphic mode to use for each line and where the screen memory was located.
      It had two types of interrupts. One was called vertical blank interrupt. When the beam was at the bottom, it turned off and went to the top. One could create an interrupt during this time. Atari Basketball was written mostly during VBI.
      Each line command also had a "display list interrupt" flag that would run a short program to run before drawing the horizontal line. That could be used to change colors, split 1 sprite into many sprits, etc.

    • @SerBallister
      @SerBallister 3 ปีที่แล้ว

      @@bjbell52 Appreciate the breakdown, it sounds a little similar to the Amiga's display list (or "copper" list). I was too young to learn 8bit Atari hardware but we did own one (130xe).

    • @bjbell52
      @bjbell52 3 ปีที่แล้ว

      @@SerBallister I don't know if you know this but the person who designed the Amiga graphics chip is the same person who designed the Atari 800's graphics chip - Jay Miner.

  • @BolsaMB
    @BolsaMB 7 หลายเดือนก่อน +1

    i remember i was programming in basic as a 8 year old child and playing with graphics and was wondering how to make graphics fast so as in the games :) unfortunately i had no books or anyone who could show me this stuff back then

  • @andreyjardim2
    @andreyjardim2 2 ปีที่แล้ว +2

    You could test your logic in basic and later rewrite it to ASM.

  • @NotMuchHere
    @NotMuchHere 9 หลายเดือนก่อน +1

    cool, nice introduction .. i played with this in the 80's but never really did figure out collisions ... from looking at your code ... does that reserve the memory location every time you run it ... such that after so many runs you have sucked up all the memory ... :) I am guessing that because I would guess the garbage would be gone on successive runs ... unless you slide down the memory map with every run

  • @siener
    @siener 3 ปีที่แล้ว +1

    Awesome video!
    This is a great stepping stone to using PMG in assembler, but for those who aren't quite ready to make that jump I can recommend Basic XE. It has built in commands that makes using PMG a lot easier. Oh, and the performance is also way better than Atari Basic.

    • @8bitandmore
      @8bitandmore  3 ปีที่แล้ว +1

      Great point! Maybe I will do a video highlighting those extra commands in Basic XE

  • @uliseslay24
    @uliseslay24 2 ปีที่แล้ว

    Like the presentation! I am using it to learn. I had to pause several times so I could copy the program. Maybe listing the program in the description can help? Thanks!

  • @st1ckman67
    @st1ckman67 5 ปีที่แล้ว +5

    great video, will you cover animation too?

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว +3

      In the sense of animating players? thanks for watching!

    • @st1ckman67
      @st1ckman67 5 ปีที่แล้ว +2

      @@8bitandmore Yes, like walking, jumping etc.

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว +4

      Steve Hawkes yes that is planned for future episodes

  • @stephandusterhoft9131
    @stephandusterhoft9131 3 ปีที่แล้ว +1

    Fantastic Video !
    Benjy of Benjysoft
    Benjy of Blue Flame !!! :-)

  • @lunarmodule6419
    @lunarmodule6419 3 ปีที่แล้ว +2

    Super interesting thank you (but it's so good I would remove the music)

    • @8bitandmore
      @8bitandmore  3 ปีที่แล้ว +1

      Noted!

    • @lunarmodule6419
      @lunarmodule6419 3 ปีที่แล้ว

      @@8bitandmore You did in the other vids anyway. But the vids are truly GREAT! I'm so happy I found them - there's so little on youtube about ATARI Basic. I have a 800xl. I'm very grateful. Thx.

  • @tschak909
    @tschak909 4 ปีที่แล้ว +1

    nuh uh. Barrels are playfield. The only P/M usage is almost exclusively Mario. The other animated objects are XORed onto the playfield. Tell-tale sign is that barrels and ladders clash as their bits are inverted, making the ladder show through as a different color, as well as the occasional flickering you see on the barrels/enemies. :)

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว

      tschak909 good point, I was trying to speak in general terms as not to make the explanation too confusing 😁

    • @rastislavzima
      @rastislavzima 3 ปีที่แล้ว

      So suppose the Mario was composed of several sprites since it is multicoloured?

    • @rbrtck
      @rbrtck 2 ปีที่แล้ว

      @@rastislavzima Correct.

  • @bjbell52
    @bjbell52 3 ปีที่แล้ว +1

    Moving a sprite horizontally in Basic requires one poke, very fast. Moving a sprite vertically requires moving the shape in memory, usually very slow in Atari Basic. One can use assembly language but then someone has to know how to program assembly.
    There is another way - use the very fast string moving routines in Basic to move vertically. Go to Google and search for "volleyball and softside and bradley j bell"

  • @pixelcrunch300
    @pixelcrunch300 ปีที่แล้ว

    So, how many colors can a single Player Sprite have? And how many can a single Missile Sprite have? Is it like the NES, with 3 colors, with the 4th color being reserved for Transparency?

  • @EgonOlsen71
    @EgonOlsen71 4 ปีที่แล้ว

    Given that 10 is still and 220 is already outside the screen and the this 8bit wide player actually covers 2 characters on screen, I assume that they are on a 160*256 grid (which means they are half the resolution of the underlying text screen). Is that correct?

  • @puzzud
    @puzzud 2 ปีที่แล้ว

    Are you sure the Donkey Kong barrels are missile graphics? They seem to XOR over the ladder graphics, which suggests to me that they are bitmap background graphics.

    • @8bitandmore
      @8bitandmore  2 ปีที่แล้ว

      no lol, the more I thought about it they are probably just character maps not players or sprites. would be interesting to find out if anyone knows of any source or articles referencing the game design or coding

  • @FD-ze1xg
    @FD-ze1xg 2 ปีที่แล้ว

    Hello everyone!
    Great tutorial!!!
    is it possible to get the written code?
    Thank you all!

  • @digimikeh
    @digimikeh 4 ปีที่แล้ว +1

    two things...
    Do you know how atari games were made?.. C programming or some kind of Assembly?
    .. two... LOVE those keystrokes!!.. so many memories..

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว +1

      most of them where written in assembly for speed

    • @rastislavzima
      @rastislavzima 3 ปีที่แล้ว +1

      Although C was invented in early 70ies it wasn't used in 8-bits. There were mainly Fortran, Pascal and BCPL and they didn't compile in very efficient code so for games that requited to be optimised as much as possible the assembly language was the only option.

  • @gfabasic32
    @gfabasic32 9 หลายเดือนก่อน +1

    Great vids!

  • @superspit
    @superspit 3 ปีที่แล้ว +3

    Backing Music Track is ofcourse, too loud. Thanks for the vid.

  • @theannoyedmrfloyd3998
    @theannoyedmrfloyd3998 3 ปีที่แล้ว +1

    Couldn't PMBASE be located with a BASIC string?

  • @daxmas625
    @daxmas625 3 ปีที่แล้ว +1

    Fine horizontal text scrolling. Never understood. Please help.

    • @8bitandmore
      @8bitandmore  3 ปีที่แล้ว

      I may be making a video about that, stay tuned.

  • @Aleinikov65
    @Aleinikov65 4 ปีที่แล้ว

    Cool , I did that 2 .... Player Missile grfics..programmed a liitle game in ATARI Basic ....

  • @pjimmbojimmbo1990
    @pjimmbojimmbo1990 4 ปีที่แล้ว +4

    40 yrs later and this stuff still makes no sense to me

  • @troyscheffel7587
    @troyscheffel7587 3 ปีที่แล้ว +1

    (I thought I posted this question yesterday but I don't see it listed so I'm trying again.)
    I am an Apple II guy (still have my //e and ][GS) and have suddenly become interested in Atari 8-bit programming (primarily 6502 assembly, which I love), especially Player Missile Graphics which I've heard hyped about for decades but never delved into (it has to be easier/more logical than Apple II graphics programming!).
    Anyway, I typed in the sample code from this video, and added a line renumbering routine I found at www.atarimagazines.com/compute/issue10/042_1_ATARI_BASIC_A_LINE_RENUMBERING_UTILITY.php, but I have no clue how save the code to disk. I am currently using Xformer 10 emulator to play Star Raiders (which I played back in the 80's on a roommate's 800). I opened a BASIC VM in Xformer and typed in the BASIC code there. In trying to figure out how to save the code to disk, I typed DOS at the prompt and my code vanished, replaced by DOS v2.5. I didn't figure out how to get back to my code, unfortunately. Thus my question: how do I save code I type into the BASIC VM? Or, what others Windows 10 setup should I be using to enter/run code in (I have no Atari hardware, unfortunately)? I'd prefer using Notepad++, Visual Studio Code or VS2019 Pro (I program C# by day). Thanks for any info!

    • @troyscheffel7587
      @troyscheffel7587 3 ปีที่แล้ว +1

      Someone was kind enough to point me to the "Atari Basic Tutorial" book (PDF) at www.atarimania.com/documents/Atari-BASIC-Tutorial.pdf which shows me how to save & load programs that I type in (SAVE/LOAD "D:FILENAME") as well as how to get back to BASIC after using the DOS command (press B at the DOS menu). Works well in the Xformer 10 Atari emulator (www.emulators.com/xformer.htm).
      On a side note, I found the wonderfully-commented Star Raiders source code (6502 assembly) at raw.githubusercontent.com/lwiest/StarRaiders/master/StarRaiders.source.asm.txt. This is a true treasure. Can't wait to step through that code in the Atari assembler/debugger! I just wish I could run it on my Ben Eater 6502 breadboard computer (or even my Western Design Center W65C02SXB single-board computer).

  • @AllGamingStarred
    @AllGamingStarred 4 ปีที่แล้ว +1

    are you running NTSC or PAL? It's not working for PAL

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว

      NTSC, what is not working?

    • @AllGamingStarred
      @AllGamingStarred 4 ปีที่แล้ว

      @@8bitandmore figured it out, i was running basic XL, not altirra lol

  • @maximuzmusic1261
    @maximuzmusic1261 5 ปีที่แล้ว

    for some reason, the pink line (player 0) is not a solid band on my machine, it is a more fragmented or glitched rectangle, I cannot figure out what i have done wrong, (I am on an 800xl)

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว

      Maxter Hunter which program are you running, did you type it out or download it

    • @maximuzmusic1261
      @maximuzmusic1261 5 ปีที่แล้ว

      @@8bitandmore typed it, a few different times, very cleanly

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว

      Maxter Hunter email me a photo from ur phone of what it looks like, I have an 800 xl and will try to see what it is doing

    • @maximuzmusic1261
      @maximuzmusic1261 5 ปีที่แล้ว

      @@8bitandmore thanks man, what is your email?

    • @8bitandmore
      @8bitandmore  5 ปีที่แล้ว

      Maxter Hunter 8bitsandmore@gmail.com

  • @DocMacLovin
    @DocMacLovin 4 ปีที่แล้ว +2

    interesting but the background music is much to loud - it gives me headache

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว

      Will keep that in mind, thanks for letting me know.

  • @saganandroid4175
    @saganandroid4175 ปีที่แล้ว

    Why does the PM memory keep getting re-crapped? You already zero'd it. Where does the crap data keep coming from?

  • @ropersonline
    @ropersonline ปีที่แล้ว +1

    The background muzak is really obnoxious and distracting.

  • @JaimeVeraSobino
    @JaimeVeraSobino ปีที่แล้ว

    good video, thanx

  • @colwarsstudiobrickfilmandm8580
    @colwarsstudiobrickfilmandm8580 3 ปีที่แล้ว

    What computer is that?

  • @fragalot
    @fragalot 4 ปีที่แล้ว +1

    only took me 30 years to figure that out.

    • @Fractal_CZ
      @Fractal_CZ 3 ปีที่แล้ว

      Same here :)

  • @colwarsstudiobrickfilmandm8580
    @colwarsstudiobrickfilmandm8580 3 ปีที่แล้ว

    where can I get one?

  • @bjbell52
    @bjbell52 4 ปีที่แล้ว +1

    No offence but the barrels and the fireball are done using bit-mapped graphics. Just look what happens when a barrel goes down a ladder, the bits merge and you get a different color.

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว +1

      you probably right, I think I said "probably" in the video lol.. thanks for the feedback

    • @bjbell52
      @bjbell52 4 ปีที่แล้ว +1

      @@8bitandmore Your video said you're going to show how to move a player vertically in Basic using asm() calls. Did you know you can move a player vertically at very good speeds in Basic without asm() calls? I wrote a volleyball game back in the early 80's that uses Atari Basic's high speed string moving routines. You can download it here www.atarimania.com/game-atari-400-800-xl-xe-volleyball_26.html .

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว

      @@bjbell52 That must have used Atari BASICXE or BASICXL, the stock Atari BASIC does not have those routines

    • @bjbell52
      @bjbell52 4 ปีที่แล้ว

      @@8bitandmore My bad, I meant USR not ASM. Is that the routine you're talking about?

    • @8bitandmore
      @8bitandmore  4 ปีที่แล้ว

      @@bjbell52 USR us a way to call a user defined machine code sequence of commands stored in memory. In Atari BASIC you can store a short sequence of machine code in a string and execute with USR function. This is how I implement the vertical sprite movement in BASIC using assembly

  • @schubutz
    @schubutz 3 ปีที่แล้ว +2

    that annoying background music.... why?

  • @mmille10
    @mmille10 4 ปีที่แล้ว +1

    Just clarifying for newbies. The term "page" refers to 256-byte segments in memory. That's why he's multiplying NEWTOP by 256 to find the beginning of player/missile memory. Location 106 contains the number of pages from the beginning of memory (location 0) to the top (end) of memory.
    There are no hard memory boundaries in 8-bit computers that separate these pages. It's a term used to conceptually divide up memory.
    The 6502 treats one page as special, Page 0, which is the lowest area of memory. The CPU has some opcodes that specifically use Page 0, for fast memory access. It's faster, because these instructions use the 8-bit addressing mode.
    Another special area of memory on the Atari is Page 6 (1536 decimal), since it's often guaranteed to be blank, so you can store data, or a small machine language routine in it. I often found that device drivers that were loaded off disk loaded into Page 6.

  • @wallacelang1374
    @wallacelang1374 3 ปีที่แล้ว +1

    I want to make a SPACE INVADERS for my Atari 800XL because the version that I have on a 400/800 cartridge stinks!!! A few months later I had bought Roklan Corporation's DELUXE INVADERS which looks like the original SPACE INVADERS, but it has Dividing Invaders levels that I have never cared for. Thus I still prefer to have a more faithful to SPACE INVADERS type video game on my Atari 800XL.

  • @tenminutetokyo2643
    @tenminutetokyo2643 3 ปีที่แล้ว +1

    DOOD!