Jump to content

orion1052003

Members
  • Content Count

    348
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by orion1052003


  1. I started this topic to try and figure out how to use CALL JOYST with CALL LOCATE instead of the usual CALL MOTION. Made this program to try and figure it out. It shows when the stick and button is moved, but it doesn't move the black square with the joystick using CALL LOCATE.

     

     

    20 !TEST PROGRAM-USE CALL LOCATE WITH JOYST

    25 P1=15 :: P2=10

    30 CALL CLEAR :: CALL SCREEN(6) :: CALL COLOR(9,2,2)

    40 A$="FFFFFFFFFFFFFFFF" :: B$="FFFFFFFFFFFFFFFF"

    42 C$="FFFFFFFFFFFFFFFF" :: D$="FFFFFFFFFFFFFFFF" :: E$="FFFFFFFFFFFFFFFF"

    50 CALL CHAR(96,A$,104,B$,112,C$,120,D$,128,E$)

    60 CALL SPRITE(#1,96,2,89,121,1,1)

    70 CALL JOYST(1,X,Y)

    75 CALL COLOR(10,P1,6,11,P1,6,12,P1,6,13,P1,6)

    80 R=R-Y/4 :: C=C+X/4

    90 DR=R*8-7 :: DC=C*8-7

    100 DR=INT(R*8-7) :: DC=INT(C*8-7)

    110 CALL POSITION(#1,DR,DC)

    120 CALL LOCATE(#1,DR,DC)

    130 CALL KEY(1,K,S)

    140 DISPLAY AT(16,1):"SAME KEY=0 NEW KEY=1 NO KEY PRESS=-1"

    145 DISPLAY AT(18,5):"KEY= ";K;"STATUS= ";S

    150 DISPLAY AT(20,1):"X= ";X;"Y= ";Y

    160 DISPLAY AT(21,1):"R= ";R;"C= ";C

    170 DISPLAY AT(22,1):"DR= ";DR;"DC= ";DC

    180 CALL HCHAR(1,16,104)!UP

    190 CALL HCHAR(24,16,112)!DOWN

    195 CALL HCHAR(12,3,120)!LEFT

    198 CALL HCHAR(12,30,128)!RIGHT

    200 IF Y=4 AND X=0 THEN CALL COLOR(10,P2,6)

    210 IF Y=0 AND X=4 THEN CALL COLOR(13,P2,6)

    220 IF Y=-4 AND X=0 THEN CALL COLOR(11,P2,6)

    230 IF Y=0 AND X=-4 THEN CALL COLOR(12,P2,6)

    250 GOTO 70

    • Like 1

  2. That is a great little demo. I was trying to understand 300,310, & 320. Could you give me a little line by line breakdown like they have in the Miller's Sprites book?

     

    I also sent this demo to a friend and he had a few questions on it as well. "I also have problems with Karsten's program. He is an excellent programmer and no doubt his program works. In line 300 he starts using a variable named ANIM but I cannot see where this is given a value earlier in his program so the initial value must be 0. ANIM=ABS(ANIM-4) subtracts 4 from 0 to give us -4 and then ABS makes this +4. Why did he not just replace ANIM with 4? Also in line 310 FACE=SGN(X+4) captures the sign of X+4. Why add 4 to X when SGN can only return +1, -1 or 0. This is the same method that I was going to use to have my JUMP routine jump in the direction that the man was facing."

    • Like 1

  3. Although I copied it down to study, I honestly didn't understand any of the response. I think not understanding it has to do with the topic of frame rate. However slow, I was just doing a "mr. bojangles" alternating chars to create the illusion of movement, which I guess would be 2 frames. So let's say, imagine the intellivision man with legs in 2 poses alternating, moving back and forth, appearing to run however crudely. And a bit slowly but not so bad.

     

    It took most of the character sets to do this at 4X! To have 2 pictures or redefinitions for each of the 8 directions and 1 standing there for the center when the man is not moving, took up 8 character sets. With the method I am using, there would be no more room for a third frame or picture of a position.

     

    Would CALL LOCATE work with JOYST using this below method of CALL PATTERN I wrote in post 4?

     

    CALL PATTERN(SPRITE#,equation) (equation - that equals a CHAR number that has been redefined as a picture position.) Where, say, 88 may be a man running in position 1 and 92 could be a man running in position 2.

    • Like 1

  4. I changed it to the below, but it no longer works. The sound is remmed out, but there is an error and it stops at 1150.

     

    1100 SUB PULSAR

    1130 CALL CHAR(72,"804020100F080B0A0A0B080F1020408001020408F010D05050D010F008040201")

    1140 !ALL MAGNIFY(4)

    1150 CALL SPRITE(#4,72,6,18,1,0,20)

    1160 !OR J=1 TO 8 :: FOR I=1 TO 7 :: P=7 :: CALL COLOR(#4,P):: CALL SOUND(100,-1,I,2000,0):: P=6 :: CALL COLOR(#4,P):: NEXT I :: NEXT J

    1165 FOR I=1 TO 100

    1170 CALL COLOR(#4,P1) :: CALL COLOR(#4,P2)

    1180 !ALL COINC(#1,#4,10,C)

    1185 NEXT I

    1190 GOTO 1190

    1200 SUBEND


  5. 1150 CALL SPRITE(#4,72,7,18,1,0,20) You don't have to keep 7 as P to allow the sprite to change colors? 1150 CALL SPRITE(#4,72,P,18,1,0,20)

    It seemed like the other day, when I had 6 or 7 in the CALL SPRITE statement it would only stay one color and when I plugged in a variable it changed colors back and forth, PULSATING, when I did 1170 P=6 :: CALL COLOR(#4,P) and 1175 P=7 :: CALL COLOR(#4,P).

     

    1170 should be changed to this?

     

    10 P1=6 :: P2=7

     

    1170 CALL COLOR(#4,P1)

    1175 CALL COLOR(#4,P2)


  6. Frames mean character redefinitions that like pictures of different stages of a game character's motion?(ship,man,horse)

    Matthew, is this what you mean by using CALL LOCATE? If so, how would the second "frame" be shown to give the illusion of movement? These are the equations I used previously to show redefinitions(frame)1 and (frame)2....

    CALL PATTERN(#1,-Y*3+X+88) CALL PATTERN(#1,-Y*3+X+124)

    this came out to : center=88 up=76 down=100 left=84 right=92 FRAME 1

    center=124 up=112 down=136 left=120 right=128 FRAME 2

    --------------------------------------------------------------------------------------------------------

    DR=130 DC=1

     

    CALL JOYST(1,X,Y)

    IF Y=0 AND X=0 THEN DR,DC=0 :: FRAME=88!CENTER

    IF Y=4 THEN DR=DR-1 :: FRAME=76!UP

    IF Y=-4 THEN DR=DR+1 :: FRAME=100!DOWN

    IF X=-4 THEN DC=DC-1 :: FRAME=84!LEFT

    IF X=4 THEN DC=DC+1 :: FRAME=92!RIGHT

     

    CALL PATTERN(#1,FRAME)

    CALL LOCATE(#1,DR,DC)

    • Like 1

  7. Thanks for your help, all. I've got a lot of questions. How can you set up JOYST control and input with CALL LOCATE? Would this be a better method then using CALL MOTION with CALL JOYST as in the XB manual?

     

    Say you have a running sprite figure which must change sprite patterns to animate :

     

    CALL SPRITE(#1,96,16,130,1,1,1) :: CALL MAGNIFY(4)

     

    CALL JOYST(1,X,Y)

     

     

    675 CALL MOTION(#1,-Y*2.5,X*2.5)

     

    680 CALL PATTERN(#1,-Y*3+X+88)

    700 FOR K=1 TO 50 :: NEXT K

     

    710 CALL PATTERN(#1,-Y*3+X+124)

     

    How might you change this work with CALL LOCATE instead?

     

    Would this cause more precise joystick control?

    • Like 1

  8. The Millers Graphics Sprite Book talks about a sprite shooting down letters of the alphabet and never missing. How would one take a JOYST controlled sprite and make it shoot a bullet? I know you would redefine a character or two to make a bullet. But how would that "bullet" appear to be coming from another sprite?

     

    James


  9. Is there some way to make this better? How can you control the length of time this "enemy" stays on screen?

     

     

    1100 SUB PULSAR

    1110 CALL CLEAR!TEST LINE

    1120 CALL SCREEN(2)

    1130 CALL CHAR(72,"804020100F080B0A0A0B080F1020408001020408F010D05050D010F008040201")

    1140 P=7 :: CALL MAGNIFY(3)

    1150 CALL SPRITE(#4,72,P,18,1,0,20)

    1153 P=6 :: CALL COLOR(#4,P)

    1160 FOR J=1 TO 8 :: FOR I=1 TO 7 :: P=7 :: CALL COLOR(#4,P) :: CALL SOUND(100,-1,I,2000,0) :: P=6 :: CALL COLOR(#4,P) :: NEXT I :: NEXT J

    1165 FOR I=1 TO 100

    1170 P=6 :: CALL COLOR(#4,P) :: P=7

    1175 P=7 :: CALL COLOR(#4,P) :: P=6

    1180 !ALL COINC(#1,#4,10,C)

    1185 NEXT I

    1190 GOTO 1190! TEST LINE

    1200 SUBEND

    post-19460-0-49509200-1317445666_thumb.jpg


  10. post-19460-0-87805700-1315698416_thumb.jpgI was trying to make a "running man" jump, either with a keypress or with CALL JOYST. Now, I have a running man that can move about on screen, one program with key input another with joystick. It was adapted from the Millers Sprites book, and there is another better key input jump version written by Jacques. Some games jump in an arc in the direction you are facing, I think a few just go straight up and back down, and some go up and you can influence the jump slightly left or right with the joystick. At least on arcade games.

     

    The problem is, the jump is not nice and clean and seems to mess up on the way down. I was going more for a "Major Havoc" style jump that you hold the jump button down, rather than the mario jump where you tap it and he does a little jump. It has gotten so confusing between the 3 programs, key input for R,C and SPRITE locations DR,DC that it is hard to tell what's what anymore.

     

    Here is the code if anyone has any suggestions or knowledge on this.

     

    10 !JACQUES JUMP SUB

    50 ! SAVE DSK1.JUMP

    100 CALL CHAR(110,"9898FF197848C80C")

    110 CALL CHAR(104,"18187E5A5A18183C")

    120 CALL CHAR(107,"9898FF1918784FC1")

    130 CALL CHAR(108,"1919FF98181EF283")

    140 CALL CHAR(105,"1919FF981E121330")

    150 CALL CHAR(117,"1919FF981E121330")

    160 CALL CHAR(111,"18187E5A5A18183C")

    170 CALL CHAR(114,"1858587F19382E62")

    180 CALL CHAR(115,"18183C5F983C4466")

    190 CALL CHAR(112,"9898FF197848C80C")

    195 CALL CHAR(123,"00")

    200 CALL CLEAR :: CALL COLOR(2,7,7) :: CALL SCREEN(11) :: CALL HCHAR(24,1,40,64)!:: CALL VCHAR(1,31,40,96)

    210 R,C=10 :: DR,DC=73 :: CALL SPRITE(#1,42,2,DR,DC)

    220 CALL KEY(1,K,S) :: IF(K>6 AND K<14)-(K=1 OR(K>15 AND K<18)OR K=19)THEN 220

    230 Y=(K>3 AND K<7)-(K=0 OR K=15 OR K=14) :: X=(K=2 OR K=4 OR K=15)-(K=3 OR K=6 OR K=14) :: KK=K

    240 IF K=18 THEN CALL JUMP(C,DR,DC)

    250 CALL PAT(KK)

    280 CALL GCHAR(R+Y,X+C,CH) :: IF CH=40 THEN CALL SOUND(-60,110,9) :: GOTO 220

    285 C=C+X :: R=R+Y :: IF C<2 THEN C=30 ELSE IF C>30 THEN C=2

    288 DR=R*8-7 :: DC=C*8-7

    290 CALL LOCATE(#1,DR,DC)

    300 GOTO 220

    1000 SUB JUMP(C,DR,DC) :: SDR=DR

    1010 CALL KEY(1,K,S) :: IF K=18 THEN DR=DR-4 :: DC=DC+1 :: IF DC>240 THEN DC=1

    1020 IF DR<8 THEN 1040

    1030 CALL LOCATE(#1,DR,DC) :: CALL PAT(KK) :: IF S<0 THEN 1010

    1040 IF DR<SDR THEN DR=DR+4 :: DC=DC+1 :: CALL LOCATE(#1,DR,DC) :: IF DC>240 THEN DC=1

    1050 CALL PAT(KK) :: IF DR<SDR THEN 1040

    1060 C=INT((DC+7)/8) :: SUBEND

    2000 SUB PAT(KK) :: CALL PATTERN(#1,KK+105)

    2010 FOR I=1 TO 10 :: NEXT I

    2020 CALL PATTERN(#1,KK+112)

    2030 FOR I=1 TO 10 :: NEXT I

    2090 SUBEND

     

    -----------------------------------------------------------------------

    KEYTEST

     

    100 CALL CHAR(110,"9898FF197848C80C")

    110 CALL CHAR(104,"18187E5A5A18183C")

    120 CALL CHAR(107,"9898FF1918784FC1")

    130 CALL CHAR(108,"1919FF98181EF283")

    140 CALL CHAR(105,"1919FF981E121330")

    150 CALL CHAR(117,"1919FF981E121330")

    160 CALL CHAR(111,"18187E5A5A18183C")

    170 CALL CHAR(114,"1858587F19382E62")

    180 CALL CHAR(115,"18183C5F983C4466")

    190 CALL CHAR(112,"9898FF197848C80C")

    200 CALL CLEAR :: CALL COLOR(2,7,7) :: CALL SCREEN(11) :: CALL HCHAR(24,1,40,64) :: CALL VCHAR(1,31,40,96) :: CALL SPRITE(#1,42,2,153,33) :: R=20 :: C=5

    210 CALL KEY(1,K,S) :: IF((K>6 AND K<14)OR K=18)-(K=1 OR(K>15 AND K<18)OR K=19)THEN 210

    220 Y=(K>3 AND K<7)-(K=0 OR K=15 OR K=14) :: X=(K=2 OR K=4 OR K=15)-(K=3 OR K=6 OR K=14)

    225 IF DR=1 THEN DR=DR-1 :: IF R=0 THEN R=R+1

    230 DISPLAY AT(22,1):"KEY=";K+105

    240 CALL PATTERN(#1,K+105)

    250 FOR I=1 TO 10 :: NEXT I

    260 !ISPLAY AT(23,1):"KEYB= ";K-104

    270 CALL PATTERN(#1,K+112)

    280 !ISPLAY AT(23,1):"KEYC= ";K-110

    290 CALL GCHAR(R+Y,X+C,CH) :: IF CH=40 THEN CALL SOUND(-60,110,9) :: GOTO 210 ELSE C=C+X :: R=R+Y :: DR=R*8-7 :: DC=C*8-7

    292 CALL LOCATE(#1,DR,DC)

    295 CALL KEY(1,K,S) :: IF K=18 THEN CALL JUMP(C,DR,DC)

    297 GOTO 210

    300 SUB JUMP(C,DR,DC)

    303 CALL POSITION(#1,DR,DC) :: CALL LOCATE(#1,DR,DC)

    307 T=T+1

    310 CALL LOCATE(#1,DR-T,DC)!UP

    315 CALL KEY(1,K,S) :: IF K=18 THEN GOTO 307

    317 CALL POSITION(#1,SR,SC)!FINDSTARTOFJUMP

    330 CALL LOCATE(#1,DR+1,DC)!DOWN

    335 !F DR<>SR THEN GOTO 330

    340 CALL KEY(1,K,S) :: IF K=-1 THEN GOTO 330

    350 SUBEND

    post-19460-0-55735500-1315698389_thumb.jpg


  11. Thanks. I was just replying and wanted to send pictures. I heard you were good to ask though, by someone on the group. I played around with the numbers of the SINE parameters before reading your message, but came up with the wrong numbers each time. I will mess around further and see what happens when I change things in hopes of learning something more.


  12. Tursi, how would you make this SIne Wave move down the screen unbroken? I changed some values from the originals experimenting,

    but did not get it to be continuous on screen.

     

     

     

    10 PRINT TAB(30);"SINE WAVE"

    20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"

    30 PRINT :: PRINT :: PRINT :: PRINT :: PRINT

    50 B=0

    110 FOR T=0 TO 40 STEP .25

    120 A=INT(26+25*SIN(T))

    130 PRINT TAB(A);

    140 IF B=1 THEN 180

    150 PRINT "CREATIVE"

    160 B=1

    170 GOTO 200

    180 PRINT "COMPUTING"

    190 B=0

    200 NEXT T

    999 END

    post-19460-0-21494500-1315629824_thumb.gif

    post-19460-0-12643600-1315629950_thumb.jpg


  13. Since this thread is about the use of SINE, i figured I should post it here:

     

    I have a sprite planet orbiting a stationary "sun". It orbits in a diamond shape

    by using call motion. Is there a way to produce a circular or even elliptical

    orbit? Maybe by using SINE somehow?

     

    James

     

     

     

     

    100 !SAVE DSK1.ORBIT

    110 CALL CLEAR :: CALL SCREEN(2)

    120 R=INT(RND*24)+1 :: C=INT(RND*32)+1

    130 CALL CHAR(96,"183C7EFF7E3C1800")!CHARSET 9

    140 CALL CHAR(88,"FFFFFFFFFFFFFFFF")

    150 CALL CHAR(89,"FFFEFCF8F0E0C080")

    160 CALL CHAR(90,"FF7F3F1F0F070301")

    170 CALL CHAR(91,"80C0E0F0F8FCFEFF")

    180 CALL CHAR(92,"0103070F1F3F7FFF")

    190 CALL CHAR(104,"0000001818000000")

    200 CALL COLOR(8,12,2,10,16,2)

    210 RV=0 :: CV=5

    220 CALL HCHAR(11,16,88,2)

    230 CALL HCHAR(12,15,88,4)

    240 CALL HCHAR(13,16,88,2)

    250 CALL HCHAR(11,15,92)

    260 CALL HCHAR(13,15,90)

    270 CALL HCHAR(11,18,91)

    280 CALL HCHAR(13,18,89)

    285 FOR I=1 TO 30

    287 R=INT(RND*24)+1 :: C=INT(RND*32)+1

    290 CALL HCHAR(R,C,104)

    291 NEXT I

    300 CALL SPRITE(#1,96,10,89,121,RV,CV)

    310 RV=0 :: CV=5

    320 FOR I=1 TO 700 :: NEXT I

    330 CALL MOTION(#1,5,-5)

    340 FOR I=1 TO 700 :: NEXT I

    350 CALL MOTION(#1,-5,-5)

    360 FOR I=1 TO 700 :: NEXT I

    370 CALL MOTION(#1,-5,5)

    380 FOR I=1 TO 700 :: NEXT I

    390 CALL MOTION(#1,5,5)

    400 GOTO 320

     

    "Drawing a circle requires the use of Cos, Sin and mathematical PI.

     

    If your not savvy with math, you can find code written in BASIC on the web and

    use it.

     

    You should store the x and y coordinates in and array for your orbit so XBASIC

    won't have to calculate the orbit during run time."

     

     

     

    I have no idea how to use sine or any trigometric functions, need an explanation for low math skills.

    ORBIT.tiff


  14. Does anyone have the ROM for the pretty recent homebrew 7800 Pac-man Collection? I bought the cartridge but would like to be able to play it on emulation, since I use emulators more often than the real Atari system hooked up to the TV.

     

    James


  15. Do you have a mock up of the box done on Photoshop? I thought there was a second picture of the logo without the dark background on here before....I talked to Dave Comstock. He hasn't had time to work on Cloak and Dagger, but still plans too in free time....


  16. Exactly.

     

    We are not talking art, innovation, excitement, or even nostalgia with the everyday typical corporations like walmart, blockbusters, target, etc. where there afe global forces of mundane, boring, sameness. Atari gamemakers were about creativity and breaking the mold. These corporations are about making the world a big parking lot where you can't tell what country you are in anymore, because everything is the same and it no longer matters, no distinctions between different places left. That ids the effect or the idea anyway.

     

     

     

     

    Wal-Mart doesn't have Lynx games, either. :)


  17. I got a box in the mail from Songbird Productions, or Carl Forhan. It was pretty awesome to be able to buy Lynx games after I was playing it in 1991 around when it came out. And of course, it's been defunct so for so many years and getting farther and farther away from back then all the time.

     

    My old power adaptor was all frayed and had masking tape on it, probably dangerous, and I actually got a new power adaptor and even a small velcro case that acts as a little cache for a few lynx games you could put in a bigger bag carrying your stuff.

     

    I got Dirty Larry and Klax, which I never had or played back in the days. I remember looking at ads, and wanting Dirty Larry and Kung Food. I bought the latter back then, and spent quite a bit of time playing Kung Food and Switchblade II.It was fun to beat Turbo Sub and a few others back in 1991.

     

    Also got Cybervirus and the Crystal Mines II extra levels games. That was cool. It comes in a CD case, and when you open it, the loose cart is inside. It doesn't really fit in there, so you will probably want to take it out. The cart is a bit bigger "square" that looks homemade with a board on it in black and inscribed with "long live the lynx". It was exciting to get Cybervirus because it's the closest thing to a new game, and it also is from back then as well, like you found a "lost" game for the Lynx and can actually play it. fun stuff.

     

    Anyways, my pitch for today is I think it is good to support the community rather than Walmart and other forces of samedom, because if we don't, .... they will go away.


  18. What I'm asking is, will the Atari game from the cartridge show up on the screen anymore without a channel 3 or 4?

     

    I'm using a 1990's TV with coax input and an original atari 2600.

     

    So no new TV present, no RCA jacks on the TV without a VCR being hooked up, no digital or HD capability. Everything like 10 years ago.

     

     

    What I was wondering is, if you don't get the converter box, would the atari 2600 be unplayable? If you plug a DVD, VCR, or commodore 64 with RCA jacks into a TV or monitor with those, that's a AUXilliary input that has nothing to do with broadcast. But if you use the old clunky RF box, I thought it rides the TV signal or needs the TV signal to be "input" into the TV. Without the signal, will the videogames' picture be gone?

     

    If so, then you get into 2 more questions: Will the 2600 work with the converter box, because channel 3 would be an analog coming out of the digital, making it work and show up? And if not, you would need a RCA type of mod to the 2600 to bypass using the RF switchbox?

     

     

     

    Does that mean after the digital switch, the games will be unplayable without a mod? Or is channel 3 or 4 actually unnecessary for the games to work?

     

    Just to take your question and pose it another way for clarity, is what you asking something like:

     

    After NTSC goes "bye-bye" (sorta) in Feb. 2009, what do we do about connecting classic gaming consoles to those TVs which will no longer feature RF inputs for the old analog NTSC broadcast channels 2, 3, and 4, if said classic gaming consoles can only make use of a connection via an RF switchbox?

     

    (This assumes we have purchased a television post-Feb '09 after the digital switchover occurs).

     

    Is that what you're asking?


  19. Well, I received the magazine I bought and a couple extra magazines. Keep in mind they ignored all requests for weeks and as soon as I mentioned Better Business Bureau they emailed back the next day, for the first time saying they would send my magazine that I paid for. After all, they cashed the check. I would never buy from them again, but is good they made it right. One poster said he just lets them send it whenever, and he gets surprised....which is fine if if they send them....In my case the surprise was that it was never coming.....but I'm not the only one saying this.

     

    If they do a good business, people will buy.......if not, then it's fine for Video Game Trader or anyone else to pick up the slack if customers aren't getting treated properly. Or choose not to buy from VGC due to unreliability. VGC's own fault and own doing. Who won their "Dinner with Nolan" contest?


  20. Will you still be able to play an old Atari 2600 on an old TV set? I thought the game was not directly piped into the TV monitor like on a Playstation or Commodore 64's RCA jacks going to red, yellow, and white plugs. The Atari has that RF convertor box and I believe the input to the TV rides off the analog RF broadcast signal of channel 3 or 4.

     

    Does that mean after the digital switch, the games will be unplayable without a mod? Or is channel 3 or 4 actually unnecessary for the games to work?

×
×
  • Create New...