Posted By
Litwr on 2013-04-06 09:50:26
| Octasoft Basic 7.0
Are there programs for this Basic? I tried to use C128 program with sprites from the manual but it doesn't work.
5 color 0,1:color 4,1:color 1,2 : rem set colors 10 graphic 1,1 : rem set hi-res graphic mode 15 box 1,2,2,45,45 : rem picture frame 20 draw 1,17,10 to 28,10 to 26,30 : rem car body 22 drawto 19,30 to 17,10 : rem car body 24 box 1,11,10,15,18 : rem upper left wheel 26 box 1,30,10,34,18 : rem upper right wheel 28 box 1,11,20,15,28 : rem lower left wheel 30 box 1,30,20,34,28 : rem lower right wheel 32 draw 1,26,28 to 19,28 : rem grille 34 box 1,20,14,26,18,90,1 : rem car seat 36 box 1,150,35,195,40,90,1 : rem white lines 38 box 1,150,135,195,140,90,1 : rem white lines 40 box 1,150,215,195,220,90,1 : rem white lines 42 box 1,50,180,300,195 : rem finish outline 44 char 1,18,23,"finish" : rem display finish 45 sshape a$,11,10,34,30 : rem save picture into a$ 50 sprsav a$,1 : rem store a$ in sprite 1 55 sprsav a$,2 : rem store a$ in sprite 2 60 sprite 1,1,7,0,0,0,0 : rem turn on sprite 1 65 sprite 2,1,3,0,0,0,0 : rem turn on sprite 2 70 movspr 1,240,70 : rem sprite 1 x=240, y=70 80 movspr 2,120,70 : rem sprite 2 x=120, y=70 85 movspr 1,180 #6 : rem mov spr 1 down screen 87 movspr 2,180 #7 : rem mov spr 2 down screen 90 for i=1 to 5000:next i 99 graphic 0,1
I used copy&paste feature of plus4emu to move this text into the emulator. This code makes an error at line 60. SPRITE command for Octasoft BASIC requires only 5 parameters. Could anybody help to translate to English this command description? Please... The scanned manual is at http://www.amiga.hu/amigos/plus4/plus4/basic7.htm.
|
|
Posted By
KiCHY on 2013-04-06 12:03:33
| Re: Octasoft Basic 7.0
Based on the pdf document the possible parameters for SPRITE: SPRITE CLR: clear sprites from screen SPRITE OFF: turn off all sprites SPRITE n,[akt],[pri],[mod],[sheet] n: sprite number, 1-8 akt: 0: turn sprite off, 1: on pri: priority, 1=behind background, 0=in foreground mod: 0 = hires, 1 = multi sheet: 0-255, on which sheet (page?) the sprite graphics defined.
|
|
Posted By
Litwr on 2013-04-06 12:46:07
| Re: Octasoft Basic 7.0
Thank you very much! Could you give more detailed translation about *sheet* parameter. This thing is missed at C128 Basic. The program above works fine with Vice C128...I want to see the same movie with plus/4. Please help to check http://www.commodore.ca/manuals/128_system_guide/sect-17c.htm#17.59.html with Octasoft MOVSPR command documentation. Is there difference at its "MOVSPR number,x angle #y speed" format?
|
|
Posted By
MMS on 2013-04-06 13:15:25
| Re: Octasoft Basic 7.0
interesting, but after seeing octasoft, downloading the PDF and reading through the document (well, would not be a big deal for google translate), i thought it was a shame that they did not integrate a compiler to it to produce a self runnable fast (though big) PRG. it could have been the dream sw developing tool for less complicated programs on Plussy, including sprite, music player routine, etc. Just it is too slow being as it is, and was too rare and expensive to become wide spreaded (if i remember well it cost almost the same money as an oceanic floppy drive). Now it will be easy to just refer to attach it to ROM, and prg will run, though still not compatible with real iron. How much plus/4 would have been respected with such a Sw inside (softsprites+built in compiler), than 3+1, that also works only with floppy, but worth much less the 32K ROM, than this
|
|
Posted By
KiCHY on 2013-04-06 13:41:50
| Re: Octasoft Basic 7.0
With RSBANK(n) where n=0..3 you can configure where the sprite sheets (the sprite images) are located: 0 = $0000-$3fff 1 = $4000-$7fff 2 = $8000-$bfff 3 = $c000-$ffff In each bank there are 256 pieces of 64 bytes large sheets (a'la in c64, where you have to select a bank in VIC and you may select 0-255 sprite images which are 3*21 byte+1 garbage).
"MOVSPR n, x, y" : move the sprite #n (1-8) to x, y absolute coordinates. "MOVSPR n, +/-deltax, +/-deltay" : move sprite #n by deltax, deltay pixels. "MOVSPR n, l; angle" : move sprite moving to given l distance with direction of angle (0-360). "MOVSPR n, speed # angle" : move sprite to given direction (angle 0-360) by given speed (0-15).
|
|
Posted By
Litwr on 2013-04-06 13:58:18
| Re: Octasoft Basic 7.0
RSBANK is missed at PDF and caused syntax error. I changed lines 60 and 65 to 60 sprite 1,1,0,0,0 65 sprite 2,1,0,0,0 This runs without errors but also without any movement.
|
|
Posted By
KiCHY on 2013-04-06 14:35:53
| Re: Octasoft Basic 7.0
"PROJECT" command: updates sprites on screen. Example: 100 SPRITE 1,1,,,100 110 MOVSPR 1,100,100 120 PROJECT
|
|
Posted By
Litwr on 2013-04-06 15:10:37
| Re: Octasoft Basic 7.0
Thanks but it doesn't help. I tried to insert PROJECT with lines 82 and 88 - this changed nothing. What could number 100 in example of SPRITE command mean? I'm very curious how it is possible that so powerful tool was not noted at Hungarian magazines? Where're the articles with small examples of sprite graphics?
|
|
Posted By
KiCHY on 2013-04-06 17:46:17
| Re: Octasoft Basic 7.0
I found some accurate info in Index forum that the sprites are visible in character mode only and its code is nearly the same as in Super Cobra and Walaki.
|
|
Posted By
Litwr on 2013-04-06 23:49:05
| Re: Octasoft Basic 7.0
It is very odd lack of information. Super Cobra and Walaki are games in ML. How to apply this for usage sprites in BASIC? I added GRAPHIC0 with line 57. This causes the appearance of several standard PETSCII symbols at screen without animation. [MMS] Do you know any compiler at ROM? I know only about one ROM BASIC semicompiler - http://en.wikipedia.org/wiki/Vilnius_BASIC.
|
|
|
Posted By
Litwr on 2013-05-09 11:26:59
| Re: Octasoft Basic 7.0
IMHO this Basic is Panama. It will be good if 10% of its features are working. BTW Warsaw Basic for C64 is still without manual. I have curiosity about the best Basic for Commodores.
|
|
Posted By
siz on 2013-05-10 02:26:32
| Re: Octasoft Basic 7.0
I'm seriously consider buying it from Vatera. My friend had it back then and I was using it for several weeks. It was awfully slow (at least the software sprites). But I need it in my collection.
|
|
Posted By
Litwr on 2013-05-10 10:18:26
| Re: Octasoft Basic 7.0
I hope to see any example with a sprite. I spent several fruitless hours for this task.
|
|
Posted By
gc841 on 2013-05-12 07:45:24
| Re: Octasoft Basic 7.0
The sprites are visible in character mode if you change lines 60 & 65:
60 sprite 1,1,0,1,0 65 sprite 2,1,0,1,0
movspr n,angle #speed doesn't seem to work, but the other movspr commands work in character mode.
example:
85 for y=1 to 60 86 movspr 1, 2;180 : movspr 2, +0, +2 : project 87 next y
sprite 1 (right side) moves 2 pixels at 180 degrees. sprite 2 moves 2 pixels in y direction.
|
|
Posted By
Litwr on 2013-05-12 15:50:56
| Re: Octasoft Basic 7.0
It is surprise! The sprites can move fast. However there are bugs. Thank you very much.
|
|
Posted By
bszggg on 2024-01-27 14:02:21
| Re: Octasoft Basic 7.0
Litwr
Better solution to use the DRIVE command
"DRIVE on" - After it works the "movspr 1,10#1" command too on a do loop Otherway you can move the the sprite with the cursor keys with this "DRIVE 1,44,41,52,44" See the keymap in the PDF below the drive command. (page 9)
example:
10 TRAP 909 100 SCNCLR :REFRESH 119 SPRITE 1,1 120 MOVSPR 1,100, 100 130 SPEED 1,4,4 140 DRIVE 1,44,41,49,52 145 DRIVE ON : REM !! THIS IS MISSING FROM THE EXAMPLE !! 150 DO :PROJECT:LOOP 900 SPRITE CLR 1000 END
Other way, I updated the description on the octasoft chart page to a selectable searchable version of the PDF You have to check the selected text because et is an automatic convert..
searchable selectable PDF
|
|
Posted By
Litwr on 2024-02-09 01:30:34
| Re: Octasoft Basic 7.0
@bszggg Thank you. It is a pleasure to get an answer after 11 years. It is really fascinating that there was a so powerful Basic version for the +4!
|
|
|