Jump to content
IGNORED

[AQUARIUS] BASIC Programming on the Aquarius


jaybird3rd

Recommended Posts

Well, the Aquarius and Mini Expander came in the mail today, and everything looks very clean. The only thing it is missing is the TV input cable/RF cable. I knew this ordering it, as it wasn't in the pictures the guy showed, but I was hoping it was tucked away somewhere. Anyway, any good suggestion for a replacement TV input cable? I was planning on just hooking it straight into one of my TV's cable coaxials. I just wanted to make sure that it didn't require any "special" type of TV input. Suggestions welcome!

 

I plugged in the Aquarius into a socket and it powers on with the green light, so that it is good thus far!

 

EDIT: Sorry, I know this thread is for programming. Let me know if I should move my inquiries to another thread. Thanks!

I'm sure it's fine; this is a thread for people getting started with the Aquarius, so these are all perfectly relevant questions.

 

The Aquarius is compatible with the same type of RF cable used by other vintage systems; to connect it to the antenna input on your TV, you'll need an coaxial-to-RCA adapter. The AtariAge store sells both the RF cable and the adapter.

Link to comment
Share on other sites

Well, the Aquarius and Mini Expander came in the mail today, and everything looks very clean. The only thing it is missing is the TV input cable/RF cable. I knew this ordering it, as it wasn't in the pictures the guy showed, but I was hoping it was tucked away somewhere. Anyway, any good suggestion for a replacement TV input cable? I was planning on just hooking it straight into one of my TV's cable coaxials. I just wanted to make sure that it didn't require any "special" type of TV input. Suggestions welcome!

 

I plugged in the Aquarius into a socket and it powers on with the green light, so that it is good thus far!

 

EDIT: Sorry, I know this thread is for programming. Let me know if I should move my inquiries to another thread. Thanks!

Just to let you know: An original Aquarius RF adapter is on sale on Ebay now. However it's from the UK and the price is $ 6 excluding shipping costs.

Edited by Aquaman
Link to comment
Share on other sites

Thanks for the replies, Jay and Aquaman. I went ahead and got a cable and adaptor off of Amazon, as the store here at AtariAge wouldn't let me add the cable. Perhaps Albert is out on his supply? I ordered via Amazon before I saw that eBay auction, but these should be fine. Looking forward to firing it up soon!

  • Like 2
Link to comment
Share on other sites

  • 6 months later...

I am refreshing my Basic programming skills and I already have a programming problem. I am struggling with the following problem: If I have a moving cross on the screen which marks a target position and I want to shoot from the bottom of the screen to that particular position and still move the target cross while the bullet is firing away. However I cannot find a way to get the computer to hold on to the "old" target position while moving the target cross over the screen? If I use a for next loop to be ended after reaching that position, I am losing the ability to move the cross while firing. By matching the target cross position with the position of the bullet to be fired to, the path of the bullet changes to the new target cross position before the "old" target position is actually reached (in other words the bullet path keeps following the continuous cross movement). PS the game design is a bit like missile command to give you some idea.

 

Could anyone give me a solution to this problem? :?

 

Many thanks in advance!

Edited by Aquaman
Link to comment
Share on other sites

In pseudo code it would be something like :-

 

REM Make sure missile not locked
target_locked=0

if fire_pressed<>0 AND target_locked=0 then
    oldX=targetX
    oldY=targetY
    target_locked=1
    missileY=playerY
    missileX=playerX
endif

if target_locked then
    missileY=missileY-1
    if (missileY=oldY AND missileX=oldX) then
        target_locked=0
    endif
endif
  • Like 1
Link to comment
Share on other sites

In pseudo code it would be something like :-

 

REM Make sure missile not locked
target_locked=0

if fire_pressed<>0 AND target_locked=0 then
    oldX=targetX
    oldY=targetY
    target_locked=1
    missileY=playerY
    missileX=playerX
endif

if target_locked then
    missileY=missileY-1
    if (missileY=oldY AND missileX=oldX) then
        target_locked=0
    endif
endif

Thanks for the help! I will see if I can get this method to work in the Aquarius Basic subset.

  • Like 1
Link to comment
Share on other sites

Thanks for the help! I will see if I can get this method to work in the Aquarius Basic subset.

No worries. I had to resort to pseudo code because its been a very, very long time since I wrote anything in good old fashioned BASIC. How about starting a new thread about your project so that we can see how its progressing?

  • Like 1
Link to comment
Share on other sites

No worries. I had to resort to pseudo code because its been a very, very long time since I wrote anything in good old fashioned BASIC. How about starting a new thread about your project so that we can see how its progressing?

At the moment I have only written some separate subroutines to see if what I want is actually possible (mainly speed wise) within the limits of basic. Only after I put these subroutines together and it turns out that the speed is going to be acceptable, I want to reveal it. Otherwise there only will be disappointments because I decided to cancel it. Furthermore it could take a while to finish it, because I am not working on it permanently and I am still a bit rusty regarding serious programming on the Aquarius or any other computer for that matter. Sadly I am not a pro like you ;) !

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

You could always do the prototype game in BASIC just to try out ideas and then convert it to compilable BASIC or even dip a toe into machine code for its final release.

Unfortunately compiling my efforts with "Boriel's ZXBasic compiler" will not work because I am using BLBasic instead of the general Aquarius BASIC. ZX80 Assembly is something I will try for future projects, but is not an option right now I am afraid! Also I learned that some ways of structuring a program makes Basic also faster. This is going to be the first road I take to try and speed things up, if necessary.

But before I know what the actual speed will be it has no use to look for any alternatives.

Edited by Aquaman
Link to comment
Share on other sites

  • 3 years later...

REM "Rise thread!"

 

Here's Peter Goode's Zombies from "The Aquarius Program Book" aka Necromicon Ex Mortis: The Book of the Dead.

I'll find my way back to that thread eventually and pull out a link to the legendary tome.

10 REM Zombies by Peter Goode 
15 N=10: PIT=10
17 Z=N 
20 PRINTCHR$(11):POKE12369,32:FORL=13312 To14311:POKEL,36:NEXT 
30 RESTORE: FORL= 12299TO 12315: READ D$: POKE L, ASC( D$):NexT 
35 X=20=Y=18:S=12328+X+40*Y:POKES+1024,1 
60: POKES,146 
40 DimA(N),B(N):FORL=1TON 
50 A(L)= INT(RND(1)*40): B(L)=INT(RND(1)*24):S=12328+A(L)+40*B(L) 
55 IFPEEK(S)<>32THEN50 
57 POKES,25:NEXT 
60 FORL=1TOPIT 
63 S=12328+INT( RND( 1 )*960): IFPEEK(S)<>32 THEN63 
66 POKES+1024,4:POKES,150:NEXT 
70 C=0: D$=";"
100 C=C+1:IF C>N THEN C=1 
105 IFA(C)=-1THEN100 
107 O=12328+A(C)+40*B(C) 
110 S=SGN(X-A(C)): T=SGN(Y-B(C))
115 M=12328+A(C)+40*B(C)+S+40*T
120 IFPEEK(M)=150THENGOSUB500:A(C)=-1:POKEO,32:POKEM,32:GOTO200
130 IFPEEK(M)=146THEN700
140 POKEO,32:A(C)=A(C)+S:B(C)=B(C)+T:POKEM,25
150 SOUND(1,40)
200 K$=INKEY$:IFK$<>"w" AND K$<>"s" AND K$<> "a" AND K$<>"d" THEN 200
210 D$=K$
220 S=X:T=Y:IFD$="a"ANDs>0THENS=S-10
230 IFD$="d"ANDs<39THENS=S+1
240 IFD$="s"ANDT<23THENT=T+1
250 IFD$="w"ANDT>0THENT=T-1
260 0=12328+X+40*Y:M=12328+s+40*T:IFPEEK(M)=150THEN700
280 POKEO,32:POKEO+1024,36:POKEM+1024,160:POKEM,146
285 X=S:Y=T
290 GOTO 100
500 Z=Z-1: IFZ=0THEN800
510 FORL=1TO50:SOUND(5,INT(RND(1)*100)+50):POKE12288,INT(RND(1)*2)+30
706 NEXT
710 ??:?"      CAUGHT BY ROBOTS"
720 IF INKEY$<>"" THEN 720
730 IF INKEY$="" THEN 730
740 RUN
800 REM PLAYER WIN ROUTINE
810 ??:?"    YOU ESCAPED"
820 GOTO 720
1000 DATA *,*, Z,O,M,B,I,E," ",R,O,B,O,T,S,*,*


  • Like 1
Link to comment
Share on other sites

  • 2 years later...

G'day guys, 

 

I was just wondering if there is any more action in the Aquarius space of late? I had an Aquarius as a kid in the 80s and I have just got back into playing with it (through VirtualAquarius) and it has been challenging and fun at the same time.

 

There are some things I have discovered that I wish I knew about as a kid (oh man, what if we had some kind of internet in the early 80s - it would have been great to share programming ideas!), such as changing background color - including the border.

 

I have a couple of ideas for some basic games and demos, but, I am a long way from getting anything substantial working.

Link to comment
Share on other sites

Did you see this thread about a new Aquarius game?

https://atariage.com/forums/topic/317490-new-aquarius-game-for-2021/

 

There also are two entries so far in the BASIC10Liners competition for the Aquarius, which might interest you. The deadline is on March 27, so you still have two more weeks if you want to enter.

Link to comment
Share on other sites

On 3/15/2021 at 12:51 AM, carlsson said:

Did you see this thread about a new Aquarius game?

https://atariage.com/forums/topic/317490-new-aquarius-game-for-2021/

 

There also are two entries so far in the BASIC10Liners competition for the Aquarius, which might interest you. The deadline is on March 27, so you still have two more weeks if you want to enter.

And number three https://mattpilz.itch.io/cosmic-aq

  • Like 1
Link to comment
Share on other sites

On 3/15/2021 at 12:44 AM, Younge said:

G'day guys, 

 

I was just wondering if there is any more action in the Aquarius space of late? I had an Aquarius as a kid in the 80s and I have just got back into playing with it (through VirtualAquarius) and it has been challenging and fun at the same time.

 

There are some things I have discovered that I wish I knew about as a kid (oh man, what if we had some kind of internet in the early 80s - it would have been great to share programming ideas!), such as changing background color - including the border.

 

I have a couple of ideas for some basic games and demos, but, I am a long way from getting anything substantial working.

Did you also see this thread, to help you with the graphics 

 

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

I have been trying to get a game to work that I found in an old computer game programming book from the early 80s, but, I keep getting a "Bad Subscript" error in one of the lines of code.

 

The code in the book is: 50 LET B(INT(RND*8+1)),INT(RND*8+1))=23

 

I have updated the code to handle the way Aquarius handles RND calls: 50 LET B(INT(8*RND(1)+1)),INT(8*RND(1)+1))=23

 

Does anyone have any ideas why this would still be failing?

Link to comment
Share on other sites

You are trying to use a two-dimensional array B(N,N). In order to do so, you need DIM B(8,8) earlier in the program to allocate room for a such array. Usually Microsoft based BASICs automatically support one-dimensional arrays up to 10 elements but anything bigger than so or with more dimensions needs to be allocated. Pretty sure the program you're typing in has a DIM statement earlier, or it is some obscure dialect that automatically dimensions arrays of any size as you use them.

Link to comment
Share on other sites

2 hours ago, carlsson said:

You are trying to use a two-dimensional array B(N,N). In order to do so, you need DIM B(8,8) earlier in the program to allocate room for a such array. Usually Microsoft based BASICs automatically support one-dimensional arrays up to 10 elements but anything bigger than so or with more dimensions needs to be allocated. Pretty sure the program you're typing in has a DIM statement earlier, or it is some obscure dialect that automatically dimensions arrays of any size as you use them.

Yep, DIM(8,8) is written earlier in the script.

 

Is it the comma that Aquarius doesn't like?

Link to comment
Share on other sites

You need the variable name, i.e. DIM B(8,8), not DIM(8,8) as you wrote.

 

I typed in this program in an emulated Aquarius (MAME) and it seems to run fine:

 

10 DIMB(10,10)

20 FORI=1TO10:FORJ=1TO10

30 B(I,J)=I*J:NEXTJ,I

40 FORI=1TO10:FORJ=1TO10

50 PRINTB(I,J);:NEXTJ,I

Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Loading...
  • Recently Browsing   0 members

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