Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Everything posted by eugenetswong

  1. I can't seem to stop thinking about this. If you all could look over the following thoughts and notes to confirm my learning, then I would appreciate it. He uses Delta Delta Z, Delta Z, & Z, to represent acceleration, speed, and position. He is using layman's terms to briefly talk about Calculus. To calculate Y on the screen, we can let our eyeballs be a distance of 1 from the bottom of the screen, and Z_Dist from the object. We can divide the Y in world by the Z in the world, and then add half of our screen resolution to get the Y pixel. I'm still having a difficult time understanding how he calculates 640 or 639, when he puts an object at the right side of his field of view on his 640×480 screen. He said this. I should be able to do this, because his formula is hardware independent, and doesn't require movement to use the math. I did this. 20/34.64=0.5773672055 Tan(30)=0.5773502692 Is he rounding off to the 4th decimal place?
  2. Somebody [not me] on reddit asked about camera angles for driving games. I want to copy and paste the link here for my future reference, and for anybody else in the future.
  3. Yes, that is what I was thinking about. I'll be happy with a first step of just drawing 2 lines for a side of the road.
  4. Guys, thanks for your info. I appreciate the input. I am confident that most uses of DEG and RAD would be used for real time calculations, such as in 2 programs in the older magazines, since we could use arrays and loops to draw the shape. This info makes me excited.
  5. Wraithchild, thank you for the links. I think that I am too new to understand any of this. I don't know where to begin. I'll focus on making a simple straight road, unless somebody suggests otherwise. Any "hello world" type suggestions would be helpful. Just for the record, I haven't even used PM graphics yet.
  6. emkay, I don't understand what you are asking. I assume that you are asking rhetorical questions of other people? Wrathchild, thanks for the links. I'm so new to this. I never looked at the JavaScript stuff, because the first link seemed to be a prerequisit, and it seemed too hard. I'll check the JavaScript page and the other stuff now.
  7. I realize that we can use sprites for other players, but I don't see how a sprite or PM graphic can be used in constructing part of a road. Maybe assembly must be used to draw during the horizontal refreshing.
  8. Okay, so I've read through it, and had such difficulty understanding the terminology, that I started skimming at about 3/4 of the way down. There is so much terminology, that I don't think that programmers, who are new to game programming can understand it. ### Atari sprites are narrow. How would they be used in road rendering/construction?
  9. Also, Rybags's comment really explains a lot of what I never fully appreciated about in old vs. new games. In other words, I knew that it looked better, but never understood why it was better; for example, being able to deviate from the track, or being forced to turn our car around after a spin out.
  10. Thanks, guys! I'm amazed at how much you guys know. I don't understand where you get it from. Maybe you read the same books.
  11. Do you have any suggestions on what needs to be done for driving games like "Enduro"? 1) The curves in the road seem reasonably accurate to real life, and I expected that I would need trigonometry. I don't know, though. I read somewhere that it is good to use tables, instead of math. Since I plan on doing that, should I just go all the way, and eyeball the shape of each bend in the road? That doesn't seem right, according to my intuition. 2) I see that there is a great book on how develop an adventure game, but what about a driving game? Perhaps there is a magazine article? Even if you don't remember the name of the article, perhaps the article was in "Compute"? 3) I think that Enduro on the Atari 400 would be wise to use mixed graphics modes and horizontal scrolling; graphics 9 for the background mountains.
  12. If you could ever get your hands on "Intruder", then that might be fun. It was included in a free cassette that came with the system, which we bought in Vancouver, BC, if I recall correctly. It's a game. Where you move about in an open room pushing blocks to keep robots in place.
  13. Great! Thanks for the info, guys. I expect that most of my Atari trigonometry will be for games, so I think that I'll stick to DEG, unless somebody says otherwise. I assume that we use can X on the screen to calculate Y, and vice versa, so DEG should make it easier. Feel free to let me know otherwise.
  14. You did it! Thank you so much. :) Unfortunately, :( I can't load a saved state in NTSC mode. The error is "double free or corruption". [email protected]:~$ atari800 -state .atari/Sessions/Blank Using Atari800 config file: /home/eugene/.atari800.cfg Created by Atari 800 Emulator, Version 4.2.0 Video Mode: 588x448x32 windowed without vsync Video Mode: 336x240x32 windowed without vsync *** Error in `atari800': double free or corruption (!prev): 0x09b31bd0 *** ======= Backtrace: ========= /lib/i386-linux-gnu/libc.so.6(+0x67377)[0xb7ca0377] /lib/i386-linux-gnu/libc.so.6(+0x6d2f7)[0xb7ca62f7] /lib/i386-linux-gnu/libc.so.6(+0x6dc31)[0xb7ca6c31] /usr/lib/i386-linux-gnu/libX11.so.6(XkbFreeClientMap+0xd1)[0xb7a0a411] /usr/lib/i386-linux-gnu/libX11.so.6(XkbFreeKeyboard+0xf9)[0xb7a0cd29] /usr/lib/i386-linux-gnu/libX11.so.6(+0x8cef2)[0xb79feef2] /usr/lib/i386-linux-gnu/libX11.so.6(_XFreeDisplayStructure+0x1e3)[0xb7998193] /usr/lib/i386-linux-gnu/libX11.so.6(XCloseDisplay+0xd8)[0xb79852e8] /usr/lib/i386-linux-gnu/libSDL-1.2.so.0(+0x3eab7)[0xb7e2dab7] /usr/lib/i386-linux-gnu/libSDL-1.2.so.0(SDL_VideoQuit+0x59)[0xb7e1f579] /usr/lib/i386-linux-gnu/libSDL-1.2.so.0(SDL_QuitSubSystem+0x6d)[0xb7df639d] /usr/lib/i386-linux-gnu/libSDL-1.2.so.0(SDL_Quit+0x19)[0xb7df6459] /usr/lib/i386-linux-gnu/libSDL-1.2.so.0(+0x7931)[0xb7df6931] [0xb7f50d00] atari800[0x807906a] atari800[0x8078587] atari800[0x80755d0] atari800[0x80552f5] atari800[0x8055341] atari800[0x80871ea] atari800[0x805453c] atari800(main+0x1a)[0x804b49a] /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf7)[0xb7c51637] atari800[0x804b512] ======= Memory map: ======== 08048000-080f4000 r-xp 00000000 08:01 265265 /usr/local/bin/atari800 080f4000-080f5000 r--p 000ab000 08:01 265265 /usr/local/bin/atari800 080f5000-080ff000 rw-p 000ac000 08:01 265265 /usr/local/bin/atari800 080ff000-082b1000 rw-p 00000000 00:00 0 09aee000-09b87000 rw-p 00000000 00:00 0 [heap] b6b00000-b6b21000 rw-p 00000000 00:00 0 b6b21000-b6c00000 ---p 00000000 00:00 0 b6ce7000-b6cf9000 r-xp 00000000 08:01 2752707 /usr/lib/i386-linux-gnu/libdrm.so.2.4.0 b6cf9000-b6cfa000 ---p 00012000 08:01 2752707 /usr/lib/i386-linux-gnu/libdrm.so.2.4.0 b6cfa000-b6cfb000 r--p 00012000 08:01 2752707 /usr/lib/i386-linux-gnu/libdrm.so.2.4.0 b6cfb000-b6cfc000 rw-p 00013000 08:01 2752707 /usr/lib/i386-linux-gnu/libdrm.so.2.4.0 b6cfc000-b6d01000 r-xp 00000000 08:01 2757816 /usr/lib/i386-linux-gnu/libXxf86vm.so.1.0.0 b6d01000-b6d02000 r--p 00004000 08:01 2757816 /usr/lib/i386-linux-gnu/libXxf86vm.so.1.0.0 b6d02000-b6d03000 rw-p 00005000 08:01 2757816 /usr/lib/i386-linux-gnu/libXxf86vm.so.1.0.0 b6d03000-b6d1b000 r-xp 00000000 08:01 2759149 /usr/lib/i386-linux-gnu/libxcb-glx.so.0.0.0 b6d1b000-b6d1c000 ---p 00018000 08:01 2759149 /usr/lib/i386-linux-gnu/libxcb-glx.so.0.0.0 b6d1c000-b6d1d000 r--p 00018000 08:01 2759149 /usr/lib/i386-linux-gnu/libxcb-glx.so.0.0.0 b6d1d000-b6d1e000 rw-p 00019000 08:01 2759149 /usr/lib/i386-linux-gnu/libxcb-glx.so.0.0.0 b6d1e000-b6d88000 r-xp 00000000 08:01 2753070 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0 b6d88000-b6d8a000 r--p 00069000 08:01 2753070 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0 b6d8a000-b6d8f000 rwxp 0006b000 08:01 2753070 /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0 b6dea000-b6dee000 r-xp 00000000 08:01 2759145 /usr/lib/i386-linux-gnu/libxcb-dri2.so.0.0.0 b6dee000-b6def000 r--p 00003000 08:01 2759145 /usr/lib/i386-linux-gnu/libxcb-dri2.so.0.0.0 b6def000-b6df0000 rw-p 00004000 08:01 2759145 /usr/lib/i386-linux-gnu/libxcb-dri2.so.0.0.0 b6df0000-b6df1000 r-xp 00000000 08:01 2753953 /usr/lib/i386-linux-gnu/libX11-xcb.so.1.0.0 b6df1000-b6df2000 r--p 00000000 08:01 2753953 /usr/lib/i386-linux-gnu/libX11-xcb.so.1.0.0 b6df2000-b6df3000 rw-p 00001000 08:01 2753953 /usr/lib/i386-linux-gnu/libX11-xcb.so.1.0.0 b6df3000-b6e07000 r-xp 00000000 08:01 2755587 /usr/lib/i386-linux-gnu/libglapi.so.0.0.0 b6e07000-b6e08000 ---p 00014000 08:01 2755587 /usr/lib/i386-linux-gnu/libglapi.so.0.0.0 b6e08000-b6e0a000 r--p 00014000 08:01 2755587 /usr/lib/i386-linux-gnu/libglapi.so.0.0.0 b6e0a000-b6e10000 rwxp 00016000 08:01 2755587 /usr/lib/i386-linux-gnu/libglapi.so.0.0.0 b6e10000-b6e11000 rwxp 00000000 00:00 0 b6e11000-b6e37000 r-xp 00000000 08:01 2229703 /lib/i386-linux-gnu/libexpat.so.1.6.0 b6e37000-b6e38000 ---p 00026000 08:01 2229703 /lib/i386-linux-gnu/libexpat.so.1.6.0 b6e38000-b6e3a000 r--p 00026000 08:01 2229703 /lib/i386-linux-gnu/libexpat.so.1.6.0 b6e3a000-b6e3b000 rw-p 00028000 08:01 2229703 /lib/i386-linux-gnu/libexpat.so.1.6.0 b6e5b000-b6e60000 r-xp 00000000 08:01 2757782 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 b6e60000-b6e61000 r--p 00004000 08:01 2757782 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 b6e61000-b6e62000 rw-p 00005000 08:01 2757782 /usr/lib/i386-linux-gnu/libXfixes.so.3.1.0 b6e62000-b6e6c000 r-xp 00000000 08:01 2757800 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 b6e6c000-b6e6d000 r--p 00009000 08:01 2757800 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 b6e6d000-b6e6e000 rw-p 0000a000 08:01 2757800 /usr/lib/i386-linux-gnu/libXrender.so.1.3.0 b6e6e000-b6e78000 r-xp 00000000 08:01 2756324 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 b6e78000-b6e79000 r--p 00009000 08:01 2756324 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 b6e79000-b6e7a000 rw-p 0000a000 08:01 2756324 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2 b6e7a000-b6fac000 r--p 00199000 08:01 2752616 /usr/lib/locale/locale-archive b6fac000-b71ac000 r--p 00000000 08:01 2752616 /usr/lib/locale/locale-archive b71ac000-b71b0000 rw-p 00000000 00:00 0 b71b0000-b71da000 r-xp 00000000 08:01 2759049 /usr/lib/i386-linux-gnu/libvorbis.so.0.4.8 b71da000-b71db000 r--p 00029000 08:01 2759049 /usr/lib/i386-linux-gnu/libvorbis.so.0.4.8 b71db000-b71dc000 rw-p 0002a000 08:01 2759049 /usr/lib/i386-linux-gnu/libvorbis.so.0.4.8 b71dc000-b71e3000 r-xp 00000000 08:01 2758653 /usr/lib/i386-linux-gnu/libogg.so.0.8.2 b71e3000-b71e4000 r--p 00006000 08:01 2758653 /usr/lib/i386-linux-gnu/libogg.so.0.8.2 b71e4000-b71e5000 rw-p 00007000 08:01 2758653 /usr/lib/i386-linux-gnu/libogg.so.0.8.2 b71e5000-b71f9000 r-xp 00000000 08:01 2229746 /lib/i386-linux-gnu/libgpg-error.so.0.17.0 b71f9000-b71fa000 r--p 00013000 08:01 2229746 /lib/i386-linux-gnu/libgpg-error.so.0.17.0 b71fa000-b71fb000 rw-p 00014000 08:01 2229746 /lib/i386-linux-gnu/libgpg-error.so.0.17.0 b71fb000-b726e000 r-xp 00000000 08:01 2229827 /lib/i386-linux-gnu/libpcre.so.3.13.2 b726e000-b726f000 r--p 00072000 08:01 2229827 /lib/i386-linux-gnu/libpcre.so.3.13.2 b726f000-b7270000 rw-p 00073000 08:01 2229827 /lib/i386-linux-gnu/libpcre.so.3.13.2 b7270000-b7271000 rw-p 00000000 00:00 0 b7271000-b7285000 r-xp 00000000 08:01 2240091 /lib/i386-linux-gnu/libresolv-2.23.so b7285000-b7286000 ---p 00014000 08:01 2240091 /lib/i386-linux-gnu/libresolv-2.23.so b7286000-b7287000 r--p 00014000 08:01 2240091 /lib/i386-linux-gnu/libresolv-2.23.so b7287000-b7288000 rw-p 00015000 08:01 2240091 /lib/i386-linux-gnu/libresolv-2.23.so b7288000-b728a000 rw-p 00000000 00:00 0 b728a000-b7304000 r-xp 00000000 08:01 2759051 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.11 b7304000-b7315000 r--p 00079000 08:01 2759051 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.11 b7315000-b7316000 rw-p 0008a000 08:01 2759051 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.11 b7316000-b7374000 r-xp 00000000 08:01 2757282 /usr/lib/i386-linux-gnu/libFLAC.so.8.3.0 b7374000-b7375000 r--p 0005d000 08:01 2757282 /usr/lib/i386-linux-gnu/libFLAC.so.8.3.0 b7375000-b7376000 rw-p 0005e000 08:01 2757282 /usr/lib/i386-linux-gnu/libFLAC.so.8.3.0 b7376000-b738d000 r-xp 00000000 08:01 2240093 /lib/i386-linux-gnu/libnsl-2.23.so b738d000-b738e000 r--p 00016000 08:01 2240093 /lib/i386-linux-gnu/libnsl-2.23.so b738e000-b738f000 rw-p 00017000 08:01 2240093 /lib/i386-linux-gnu/libnsl-2.23.so b738f000-b7391000 rw-p 00000000 00:00 0 b7391000-b73ad000 r-xp 00000000 08:01 2229740 /lib/i386-linux-gnu/libgcc_s.so.1 b73ad000-b73ae000 rw-p 0001b000 08:01 2229740 /lib/i386-linux-gnu/libgcc_s.so.1 b73ae000-b73af000 rw-p 00000000 00:00 0 b73af000-b745a000 r-xp 00000000 08:01 2228395 /lib/i386-linux-gnu/libgcrypt.so.20.0.5 b745a000-b745b000 r--p 000aa000 08:01 2228395 /lib/i386-linux-gnu/libgcrypt.so.20.0.5 b745b000-b745e000 rw-p 000ab000 08:01 2228395 /lib/i386-linux-gnu/libgcrypt.so.20.0.5 b745e000-b7482000 r-xp 00000000 08:01 2229769 /lib/i386-linux-gnu/liblzma.so.5.0.0 b7482000-b7483000 r--p 00023000 08:01 2229769 /lib/i386-linux-gnu/liblzma.so.5.0.0 b7483000-b7484000 rw-p 00024000 08:01 2229769 /lib/i386-linux-gnu/liblzma.so.5.0.0 b7484000-b74a6000 r-xp 00000000 08:01 2229856 /lib/i386-linux-gnu/libselinux.so.1 b74a6000-b74a7000 ---p 00022000 08:01 2229856 /lib/i386-linux-gnu/libselinux.so.1 b74a7000-b74a8000 r--p 00022000 08:01 2229856 /lib/i386-linux-gnu/libselinux.so.1 b74a8000-b74a9000 rw-p 00023000 08:01 2229856 /lib/i386-linux-gnu/libselinux.so.1 b74a9000-b74aa000 rw-p 00000000 00:00 0 b74aa000-b74af000 r-xp 00000000 08:01 2757778 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 b74af000-b74b0000 r--p 00004000 08:01 2757778 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 b74b0000-b74b1000 rw-p 00005000 08:01 2757778 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0 b74b1000-b74b3000 r-xp 00000000 08:01 2757767 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 b74b3000-b74b4000 r--p 00001000 08:01 2757767 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 b74b4000-b74b5000 rw-p 00002000 08:01 2757767 /usr/lib/i386-linux-gnu/libXau.so.6.0.0 b74b5000-b74b6000 rw-p 00000000 00:00 0 b74b6000-b74bb000 r-xp 00000000 08:01 2757871 /usr/lib/i386-linux-gnu/libasyncns.so.0.3.1 b74bb000-b74bc000 r--p 00004000 08:01 2757871 /usr/lib/i386-linux-gnu/libasyncns.so.0.3.1 b74bc000-b74bd000 rw-p 00005000 08:01 2757871 /usr/lib/i386-linux-gnu/libasyncns.so.0.3.1 b74bd000-b752f000 r-xp 00000000 08:01 2757013 /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25 b752f000-b7531000 r--p 00071000 08:01 2757013 /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25 b7531000-b7532000 rw-p 00073000 08:01 2757013 /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25 b7532000-b7536000 rw-p 00000000 00:00 0 b7536000-b753e000 r-xp 00000000 08:01 2229884 /lib/i386-linux-gnu/libwrap.so.0.7.6 b753e000-b753f000 r--p 00007000 08:01 2229884 /lib/i386-linux-gnu/libwrap.so.0.7.6 b753f000-b7540000 rw-p 00008000 08:01 2229884 /lib/i386-linux-gnu/libwrap.so.0.7.6 b7540000-b75cc000 r-xp 00000000 08:01 2230026 /lib/i386-linux-gnu/libsystemd.so.0.14.0 b75cc000-b75ce000 r--p 0008b000 08:01 2230026 /lib/i386-linux-gnu/libsystemd.so.0.14.0 b75ce000-b75cf000 rw-p 0008d000 08:01 2230026 /lib/i386-linux-gnu/libsystemd.so.0.14.0 b75cf000-b75ef000 r-xp 00000000 08:01 2229870 /lib/i386-linux-gnu/libtinfo.so.5.9 b75ef000-b75f1000 r--p 0001f000 08:01 2229870 /lib/i386-linux-gnu/libtinfo.so.5.9 b75f1000-b75f2000 rw-p 00021000 08:01 2229870 /lib/i386-linux-gnu/libtinfo.so.5.9 b75f2000-b75f3000 rw-p 00000000 00:00 0 b75f3000-b7625000 r-xp 00000000 08:01 2229782 /lib/i386-linux-gnu/libncursesw.so.5.9 b7625000-b7626000 ---p 00032000 08:01 2229782 /lib/i386-linux-gnu/libncursesw.so.5.9 b7626000-b7627000 r--p 00032000 08:01 2229782 /lib/i386-linux-gnu/libncursesw.so.5.9 b7627000-b7628000 rw-p 00033000 08:01 2229782 /lib/i386-linux-gnu/libncursesw.so.5.9 b7628000-b7716000 r-xp 00000000 08:01 2233400 /lib/i386-linux-gnu/libslang.so.2.3.0 b7716000-b7717000 ---p 000ee000 08:01 2233400 /lib/i386-linux-gnu/libslang.so.2.3.0 b7717000-b7719000 r--p 000ee000 08:01 2233400 /lib/i386-linux-gnu/libslang.so.2.3.0 b7719000-b7728000 rw-p 000f0000 08:01 2233400 /lib/i386-linux-gnu/libslang.so.2.3.0 b7728000-b7756000 rw-p 00000000 00:00 0 b7756000-b777a000 r-xp 00000000 08:01 2759179 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 b777a000-b777b000 r--p 00023000 08:01 2759179 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 b777b000-b777c000 rw-p 00024000 08:01 2759179 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0 b777c000-b77d4000 r-xp 00000000 08:01 2229899 /lib/i386-linux-gnu/libdbus-1.so.3.14.6 b77d4000-b77d5000 r--p 00057000 08:01 2229899 /lib/i386-linux-gnu/libdbus-1.so.3.14.6 b77d5000-b77d6000 rw-p 00058000 08:01 2229899 /lib/i386-linux-gnu/libdbus-1.so.3.14.6 b77d6000-b77e0000 r-xp 00000000 08:01 2229761 /lib/i386-linux-gnu/libjson-c.so.2.0.0 b77e0000-b77e1000 r--p 00009000 08:01 2229761 /lib/i386-linux-gnu/libjson-c.so.2.0.0 b77e1000-b77e2000 rw-p 0000a000 08:01 2229761 /lib/i386-linux-gnu/libjson-c.so.2.0.0 b77e2000-b77e3000 rw-p 00000000 00:00 0 b77e3000-b7869000 r-xp 00000000 08:01 2759069 /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-8.0.so b7869000-b786a000 r--p 00085000 08:01 2759069 /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-8.0.so b786a000-b786b000 rw-p 00086000 08:01 2759069 /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-8.0.so b786b000-b7872000 r-xp 00000000 08:01 2228266 /lib/i386-linux-gnu/librt-2.23.so b7872000-b7873000 r--p 00006000 08:01 2228266 /lib/i386-linux-gnu/librt-2.23.so b7873000-b7874000 rw-p 00007000 08:01 2228266 /lib/i386-linux-gnu/librt-2.23.so b7874000-b788d000 r-xp 00000000 08:01 2229854 /lib/i386-linux-gnu/libpthread-2.23.so b788d000-b788e000 r--p 00018000 08:01 2229854 /lib/i386-linux-gnu/libpthread-2.23.so b788e000-b788f000 rw-p 00019000 08:01 2229854 /lib/i386-linux-gnu/libpthread-2.23.so b788f000-b7891000 rw-p 00000000 00:00 0 b7891000-b7959000 r-xp 00000000 08:01 2755417 /usr/lib/i386-linux-gnu/libcaca.so.0.99.19 b7959000-b795a000 ---p 000c8000 08:01 2755417 /usr/lib/i386-linux-gnu/libcaca.so.0.99.19 b795a000-b795b000 r--p 000c8000 08:01 2755417 /usr/lib/i386-linux-gnu/libcaca.so.0.99.19 b795b000-b795c000 rw-p 000c9000 08:01 2755417 /usr/lib/i386-linux-gnu/libcaca.so.0.99.19 b795c000-b796f000 r-xp 00000000 08:01 2757780 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 b796f000-b7970000 r--p 00012000 08:01 2757780 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 b7970000-b7971000 rw-p 00013000 08:01 2757780 /usr/lib/i386-linux-gnu/libXext.so.6.4.0 b7971000-b7972000 rw-p 00000000 00:00 0 b7972000-b7ab8000 r-xp 00000000 08:01 2755195 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 b7ab8000-b7ab9000 ---p 00146000 08:01 2755195 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 b7ab9000-b7aba000 r--p 00146000 08:01 2755195 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 b7aba000-b7abc000 rw-p 00147000 08:01 2755195 /usr/lib/i386-linux-gnu/libX11.so.6.3.0 b7abc000-b7abd000 rw-p 00000000 00:00 0 b7abd000-b7b14000 r-xp 00000000 08:01 2759068 /usr/lib/i386-linux-gnu/libpulse.so.0.19.0 b7b14000-b7b15000 ---p 00057000 08:01 2759068 /usr/lib/i386-linux-gnu/libpulse.so.0.19.0 b7b15000-b7b16000 r--p 00057000 08:01 2759068 /usr/lib/i386-linux-gnu/libpulse.so.0.19.0 b7b16000-b7b17000 rw-p 00058000 08:01 2759068 /usr/lib/i386-linux-gnu/libpulse.so.0.19.0 b7b17000-b7b1b000 r-xp 00000000 08:01 2753488 /usr/lib/i386-linux-gnu/libpulse-simple.so.0.1.0 b7b1b000-b7b1c000 r--p 00003000 08:01 2753488 /usr/lib/i386-linux-gnu/libpulse-simple.so.0.1.0 b7b1c000-b7b1d000 rw-p 00004000 08:01 2753488 /usr/lib/i386-linux-gnu/libpulse-simple.so.0.1.0 b7b1d000-b7b20000 r-xp 00000000 08:01 2229736 /lib/i386-linux-gnu/libdl-2.23.so b7b20000-b7b21000 r--p 00002000 08:01 2229736 /lib/i386-linux-gnu/libdl-2.23.so b7b21000-b7b22000 rw-p 00003000 08:01 2229736 /lib/i386-linux-gnu/libdl-2.23.so b7b22000-b7c32000 r-xp 00000000 08:01 2757861 /usr/lib/i386-linux-gnu/libasound.so.2.0.0 b7c32000-b7c33000 ---p 00110000 08:01 2757861 /usr/lib/i386-linux-gnu/libasound.so.2.0.0 b7c33000-b7c37000 r--p 00110000 08:01 2757861 /usr/lib/i386-linux-gnu/libasound.so.2.0.0 b7c37000-b7c38000 rw-p 00114000 08:01 2757861 /usr/lib/i386-linux-gnu/libasound.so.2.0.0 b7c38000-b7c39000 rw-p 00000000 00:00 0 b7c39000-b7de9000 r-xp 00000000 08:01 2240098 /lib/i386-linux-gnu/libc-2.23.so b7de9000-b7deb000 r--p 001af000 08:01 2240098 /lib/i386-linux-gnu/libc-2.23.so b7deb000-b7dec000 rw-p 001b1000 08:01 2240098 /lib/i386-linux-gnu/libc-2.23.so b7dec000-b7def000 rw-p 00000000 00:00 0 b7def000-b7e64000 r-xp 00000000 08:01 2753813 /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4 b7e64000-b7e65000 ---p 00075000 08:01 2753813 /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4 b7e65000-b7e66000 r--p 00075000 08:01 2753813 /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4 b7e66000-b7e67000 rw-p 00076000 08:01 2753813 /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4 b7e67000-b7e91000 rw-p 00000000 00:00 0 b7e91000-b7eaa000 r-xp 00000000 08:01 2228402 /lib/i386-linux-gnu/libz.so.1.2.8 b7eaa000-b7eab000 r--p 00018000 08:01 2228402 /lib/i386-linux-gnu/libz.so.1.2.8 b7eab000-b7eac000 rw-p 00019000 08:01 2228402 /lib/i386-linux-gnu/libz.so.1.2.8 b7eac000-b7ed5000 r-xp 00000000 08:01 2229678 /lib/i386-linux-gnu/libpng12.so.0.54.0 b7ed5000-b7ed6000 r--p 00028000 08:01 2229678 /lib/i386-linux-gnu/libpng12.so.0.54.0 b7ed6000-b7ed7000 rw-p 00029000 08:01 2229678 /lib/i386-linux-gnu/libpng12.so.0.54.0 b7ed7000-b7f2a000 r-xp 00000000 08:01 2240101 /lib/i386-linux-gnu/libm-2.23.so b7f2a000-b7f2b000 r--p 00052000 08:01 2240101 /lib/i386-linux-gnu/libm-2.23.so b7f2b000-b7f2c000 rw-p 00053000 08:01 2240101 /lib/i386-linux-gnu/libm-2.23.so b7f2d000-b7f2e000 rw-p 00000000 00:00 0 b7f2e000-b7f30000 r-xp 00000000 08:01 2757776 /usr/lib/i386-linux-gnu/libXdamage.so.1.1.0 b7f30000-b7f31000 r--p 00001000 08:01 2757776 /usr/lib/i386-linux-gnu/libXdamage.so.1.1.0 b7f31000-b7f32000 rw-p 00002000 08:01 2757776 /usr/lib/i386-linux-gnu/libXdamage.so.1.1.0 b7f32000-b7f33000 r-xp 00000000 08:01 2759192 /usr/lib/i386-linux-gnu/libxshmfence.so.1.0.0 b7f33000-b7f34000 r--p 00000000 08:01 2759192 /usr/lib/i386-linux-gnu/libxshmfence.so.1.0.0 b7f34000-b7f35000 rw-p 00001000 08:01 2759192 /usr/lib/i386-linux-gnu/libxshmfence.so.1.0.0 b7f35000-b7f3a000 r-xp 00000000 08:01 2759171 /usr/lib/i386-linux-gnu/libxcb-sync.so.1.0.0 b7f3a000-b7f3b000 ---p 00005000 08:01 2759171 /usr/lib/i386-linux-gnu/libxcb-sync.so.1.0.0 b7f3b000-b7f3c000 r--p 00005000 08:01 2759171 /usr/lib/i386-linux-gnu/libxcb-sync.so.1.0.0 b7f3c000-b7f3d000 rw-p 00006000 08:01 2759171 /usr/lib/i386-linux-gnu/libxcb-sync.so.1.0.0 b7f3d000-b7f3f000 r-xp 00000000 08:01 2759157 /usr/lib/i386-linux-gnu/libxcb-present.so.0.0.0 b7f3f000-b7f40000 r--p 00001000 08:01 2759157 /usr/lib/i386-linux-gnu/libxcb-present.so.0.0.0 b7f40000-b7f41000 rw-p 00002000 08:01 2759157 /usr/lib/i386-linux-gnu/libxcb-present.so.0.0.0 b7f41000-b7f43000 r-xp 00000000 08:01 2759147 /usr/lib/i386-linux-gnu/libxcb-dri3.so.0.0.0 b7f43000-b7f44000 r--p 00001000 08:01 2759147 /usr/lib/i386-linux-gnu/libxcb-dri3.so.0.0.0 b7f44000-b7f45000 rw-p 00002000 08:01 2759147 /usr/lib/i386-linux-gnu/libxcb-dri3.so.0.0.0Aborted (core dumped)
  15. -ntsc-artif ntsc-full didn't work. I double checked for typos, but I still don't trust me. :D Thanks for your help. I appreciate all the effort. :) -artif worked okay, I think. I noticed the different colors, so I'm happy with them.
  16. I don't see the word "new" under display settings. The only other mention of NTSC is "NTSC filter settings", which needs the NTSC filter to be on. Does this have anything to do with palette or default colours?
  17. I checked F1>Display Settings. For NTSC artifacting mode, it said, "N/A". I can't seem to adjust that. Do you have other suggestions?
  18. Thanks for all the help, everybody. Is there a way for me to confirm why the break key doesn't seem to work? When I start Atari800 without any state files, it still doesn't work.I checked .atari800.cfg and it seemed to not contain any significant settings.
  19. I love that channel!! Unfortunately, he doesn't respond much. I think that he doesn't know how the notifications work. A couple of times, he seemed surprised that I asked a question. I think that on average, he has the best Atari YouTube channel. Just so that everybody knows, he has plans to make a video to teach us how to make our own Atari power supplies, which should be a lot of fun...even though I don't have any Atari hardware. I'll probably make a power supply in case I do get an Atari. ### Pixelmischief, I think that you won't need a tutor, but if you like what I freely offer, then send me money. I am intermediate on this system, so I'll give you an overview of what I picked up. Q&A 1) Regarding numbers of colors and graphics modes: use as many as possible of each! The more colours you use, the more user friendly the game will be. The documentation, which I will show you, tells you how many colours each mode has access to, but they forget to remind you that you could combine graphics modes to get a variety of shapes and colours beyond 16. You can also have access to player missile graphics, which will give you an additional 4 [or is it more than 4?] colours. For example, I'd love to make a game, where I use shades of grey to portray a story scene between the action packed gaming. I might be able to do this in graphics 9 to convey the movement of somebody approaching me in a dim alley, because there are many shades of grey, but maybe use graphics 8 to animate him chatting up close. I could use player missile graphics to illustrate a glowing cigarette, moving eyes, and maybe a mouth. 2) For a development environment, I suggest using a modern operating system and an emulator, but I don't have the experience to say either way. For the Atari800 emulator, I am able to save to and load from the H6 hard drive, which is the same as H1, but it allows the text file to be readable outside of the emulator, which comes in handy, when debugging, since modern text file readers can search and replace. This is especially helpful, when untangling goto-spaghetti. HINTS & TIPS 1) If you are using Atari BASIC, then use line 0 to set up a few variables, including a fully contained for-loop, but at the end go to a high line number, like 32000, where you initialize and dimension all of your other variables. After that, go back to a line, like 1000 to begin the main loop; in here, include checks for flags, important changes, the joysticks, and keyboard [including function keys]. Some loops will be used the most, so put them closest to the beginning of the program, since Atari BASIC always checks the first line first, when finding the destination of a GOSUB or GOTO statement, and then goes to the next line, and so on. 2) When you read magazines, copy any code of software that interests you. Debugging is a great way to learn about common errors, and great ideas. For example, when debugging the options screen of a program, I realized that the screen might appear to have no text there, but the truth is that there was something there. It was just invisible. The program needed invisible text there to be able to run a certain sub routine. 3) When displaying text, you can join them with commas and semicolons. The semicolons help to align text into columns. This will save you from having to position the cursor. 4) It is hard for me to remember all that Atari can do, and how to do it, so I created separate folders to store code samples for each graphics mode, plus folders just for games from magazines, and a MISC folder. I even have a folder just for utilities; most were obtained from free code listings from "Compute". 5) To make your programs small, make use of DATA statements, and where possible, use ATASCII instead of machine language numbers. 6) When you need to create a loop to slow down the action and animation, consider giving Atari something to do, instead of getting Atari to just sit there. ### SUGGESTED READING There is a thread that lists stuff to read, but from my experience, I have found these extremely helpful. https://archive.org/stream/1986-04-compute-magazine/Compute_Issue_071_1986_Apr#page/n126/mode/2up Read that article, and let that be your first program. I think that most people here might find it too boring, but I think that it prepares you for articles and code snippets that you might like, and is useful for the development that you want to create. https://archive.org/stream/1986-04-compute-magazine/Compute_Issue_071_1986_Apr#page/n121/mode/2up I think that most will disagree with this recommendation, and I agree a little, but I found it satisfying, and it opens up opportunities to try machine language programs without understanding the tiny details. For me, I just wanted to see what Atari is capable of. https://www.atariarchives.org/agagd/ This lists all the information that you need, with code snippets. I think that the forum should be able to answer any questions. https://www.atariarchives.org/mapping/ This tells you what is where, and gives some fascinating examples. Did you know that you can make some text lines in graphics 0 appear upside down? This is great for card games. https://www.atariarchives.org/adventure/ This gives you strategies to plan out how your text adventure game is going to work, if that is what you want. https://www.atarimagazines.com/rom/index/ Start from the beginning, and enter any game/program that interests you. There are 2 4p games, and an educational game, that is worth trying. https://www.atarimagazines.com/compute/index/issuelist.php Take your pick of programs that interest you.
  20. I am using atari800 emulator for Linux. There are settings to adjust for NTSC. I looked around, and even if I could find it, I'm not convinced that I would know if it is free to download. Are you saying that NTSC comes free with Altirra? Edit: yeah, I noticed GR.1 & GR.2 colors; it's understandable that the resources were limited.
  21. Unfortunately, the artifacting doesn't seem to show up on my laptop. Maybe the laptop's screen doesn't artifact? It's too bad that the 1 luma does the back ground, while the other does the foreground. It would have been nice to get a bit more out of Atari, before resorting to PM graphics, DLs, and DL IRQs. I appreciate knowing all of this, though. I feel like I can finally move forward.
  22. 1) Yeah, I was aware of NTSC vs. PAL. I spent a lot of time finding ways to make use of it the atari800 emulator. It seems that I need an NTSC ROM. Is this true? 2) So, with 2 lumas, we can for example have white and grey foreground pixels and a black background? I have tried toying around with Atari BASIC's SETCOLOR and COLOR, but haven't been able to get any results. I haven't found any documentation on registers to POKE to either. Mind you, I might have seen it, but just misunderstood it. 3) Everybody, thanks for your time! 4) Is there a similar technique for GR.0?
  23. zzip thanks for clarifying. ###### Guys, I think that I have encountered another problem. I can't seem to use the BREAK key consistently. If I type "L.<Enter>", then I can't stop the listing part way, as I used to be able to. Any thoughts? No matter what, thanks in advance.
  24. Thanks for answering! I'm disappointed, but not surprised that it is impossible to use BASIC to make more than 2 colours. The articles were written in a way where it was hard to get feedback from the audience on whether or not an idea was clearly expressed. Yeah, I'm aware of PM graphics and DLs, but I wanted to see what I could do with what little I had, so that I could confirm to myself, whether or not I understood. I thought that display interrupts were something that we could work on using POKE. Am I right? I'll have to look into screen kernels.
  • Create New...