textfiles/messages/ALANWESTON/1995/CIS02_26.txt

277 lines
9.1 KiB
Plaintext

#: 20799 S10/OS9/6809 (CoCo)
23-Feb-95 20:17:22
Sb: #Status calls
Fm: Rogelio Perea 72056,1204
To: Pete Lyall 76703,4230 (X)
Pete,
I found two or three system calls that might be useful. One of them actually
returns the caracter code found at the current cursor position, but it does it
only in a VDG screen. The other calls work in the bigger screens but only to
return which screen type is beign used and the other one returns the attributes
of the screen.
From this, it seems that the easiest thing to do will be to RUN the program in
a VDG window. The other SYSCALLs will probably get some use to determine the
screen type where the user is trying to run the program, and alert him of any
"illegal" attempt.....
..huh, I had been avoiding using SYSCALL for sometime now, but there's always a
first time :-)
Rogelio Perea
There are 2 Replies.
#: 20800 S10/OS9/6809 (CoCo)
25-Feb-95 10:32:20
Sb: #20799-Status calls
Fm: Pete Lyall 76703,4230
To: Rogelio Perea 72056,1204 (X)
Syscall is a wonderful tool - it really opens up the whole operating system to
you from within Basic09, so look forward to using it!
Pete
#: 20801 S10/OS9/6809 (CoCo)
25-Feb-95 11:05:47
Sb: #20799-#Status calls
Fm: Kevin Darling 76703,4227
To: Rogelio Perea 72056,1204 (X)
Rogelio,
There's a Syscall tutorial in Library 2 that I wrote a while back... it's
geared towards Basic09 under Level 2. Do a "bro syscal" to find it.
best - kevin
There is 1 Reply.
#: 20802 S10/OS9/6809 (CoCo)
25-Feb-95 13:45:45
Sb: #20801-Status calls
Fm: Rogelio Perea 72056,1204
To: Kevin Darling 76703,4227 (X)
Thanks Kevin!
I do it right now :-)
Rogelio
#: 20803 S10/OS9/6809 (CoCo)
25-Feb-95 13:46:43
Sb: #Basic09 tid-bits
Fm: Rogelio Perea 72056,1204
To: Larry Olson 72227,3647
Larry,
>> Not knowing what you are trying to do... >> How much time would you lose by
doing....
The program itself *is* not too complex. I am just trying to cross- over to
Basic09 an old text based arcade game I did sometime ago in RSDOS. The
program is structured as follows:
- Setup variables - Scroll the screen --- This is done by printing a character
at a random position in --- the lowest text row thus scrolling the screen one
row upwards. - Check the keyboard for user input - Maneuver the play-piece
accordingly * Check for collision - If hit <exit> else go to <Scroll the
screen>
The line marked with * is the troublesome part, currently, I have one
System Call that returns the status for the current cursor position on
screen. This call works only in a VDG screen though; I had hoped to find
something similar for the 40 and 80 columns wide text screens, on which it
seems the ScreenArray(x,y) you suggest is the way to go.
As the original program (RSDOS) was setup for the CoCo 1 and 2 text screen,
maybe I should give it a try using the array technique first and stear away
of using SysCall, which will be used if the array method doesn't give
satisfactory results......
I think the main changes will have to be done to the scroll portion of the
program, maybe by tagging each row with the TAB position at which the
obstacle is placed, then checking for same horizontal coordinates at a
given point would be a breeze to do :-)
....got to go and boot up OS9!
Rogelio Perea Nogales Sonora MEXICO
"MEXICOCO - A CoCo with a *taste* that's really south of the border"
There is 1 Reply.
#: 20807 S10/OS9/6809 (CoCo)
26-Feb-95 03:44:36
Sb: #20803-Basic09 tid-bits
Fm: LARRY OLSON 72227,3467
To: Rogelio Perea 72056,1204
> - Setup variables - Scroll the screen --- This is done by printing a
> character at a random position in --- the lowest text row thus scrolling
> the screen one row upwards. - Check the keyboard for user input - Maneuver
> the play-piece accordingly * Check for collision - If hit <exit> else go
> to <Scroll the screen>
Rogelio,
The way you are describing the action, the ScreenArray(80,40), may
not be needed at all.
You say that the program will place a character at a random location
on the bottom line of the screen, and then scroll to the top. There is
the key, you already know the screen x,y location, because you put the
character there, and as the character scrolls up, the x location stays
the same, while the y location is decremented. You could just use 2
variables for the player character and 2 for the target character.
If I understand correctly, the program would be something like:
DIM PlayerX, PlayerY, TargetX, TargetY:INTEGER
(* Place Player character in center of screen ? *)
PlayerX = 40
PlayerY = 12
TargetX = RND(79) + 1
TargetY = 24
CurXY(PlayerX,PlayerY)
PRINT "*";
CurXY(TargetX, TargetY)
PRINT "+";
(* Here you would be doing your loop, checking for Player moves *)
HitFlag = 0
EndFlag = 0
WHILE (HitFlag = 0 AND EndFlag = 0) DO
REM First erase Player character
CurXY(PlayerX, PlayerY)
PRINT " ";
REM Scroll screen up, check for top of screen
REM If you want to continue scrolling characters, you could use the
REM EndFlag to tell you when to place another character at bottom
CurXY(0,0)
RUN gfx2("DELLIN")
TargetY = TargetY -1
IF TargetY < 0 THEN
EndFlag = 1
ENDIF
REM do routine to check & move player character
CurXY(PlayerX, PlayerY)
PRINT "*";
REM Check for hit
IF PlayerX = TargetX AND PlayerY = TargetY THEN
HitFlag = 1
ENDIF
ENDWHILE
This example may be way off from what you are trying, but maybe it will
give you some ideas. You didn't mention it but will you be using more
than 1 target character at a time ? If so, these can be treated the same
way but instead of just a TargetX,TargetY, you could use:
Target(number, xloc, yloc)
Which would keep track of all the targets. You might also look into using
the Basic09 gfx2 command ("INSLIN"), which would allow you to scroll the
screen down instead of the normal scroll up. Some more things you might
try are, if you want to stay with characters, try making up your own
character set with different objects, or you might try using GET/PUT
buffers for larger objects.
I hope this helps
Larry
#: 20804 S10/OS9/6809 (CoCo)
25-Feb-95 13:47:31
Sb: #Basic09 tid-bits
Fm: Rogelio Perea 72056,1204
To: Bob van der Poel
Larry,
It is my understanding that you live in Canada.... if so, then it would
be *quite* a trip for me for a cup of coffee <grin>. Just imagine,
crossing the US all the way from southern Arizona... maybe someday I'll
visit Canada, a country I always have admired. Perhaps I'm a bit of topic
here -- about three or four years ago I was a volunteer firefighter here
in Nogales, and a family of (guess what) firefighters came to visit us at
the station and I had the chance to show them around, what a surprise when
they said they were from Ottawa (is that city's name well spelled?). We
exchanged souvenirs, decals, baseball caps (with the respective Department
logos). They even invited me to drop by their homes in case of traveling by
those parts ....<sigh>...
Back to OS9 ... <click> ... I will give it a try to the STRING thing for my
...humble-little... Basic09 program :-)
Take care, and keep the coffee maker plugged in... you never know....
Rogelio Perea Nogales Sonora MEXICO
There is 1 Reply.
#: 20806 S10/OS9/6809 (CoCo)
25-Feb-95 18:22:00
Sb: #20804-Basic09 tid-bits
Fm: Bob van der Poel 76510,2203
To: Rogelio Perea 72056,1204
Hmmm, seems like you have me and Larry a bit confused. So, I'll assume that the
message was for me...
>It is my understanding that you live in Canada
Yes, that is why I am so rash in making bets.
>I will give it a try to the STRING thing for my Basic09 program :-)
Please let us know how it works out.
>Take care, and keep the coffee maker plugged in... you never know....
It is always on. Mind you, I must warn you that we still have snow on the
ground here.
#: 20798 S12/OS9/68000 (OSK)
23-Feb-95 20:04:09
Sb: #20789-IRQ Stack
Fm: David Breeding 72330,2051
To: David M. Horn 73260,242 (X)
> Microware sets the IRQ stack size intentionally low to get good minimum
> memory numbers for marketing. If your system has a significant amount of
> IRQ activity (such as serial I/O), this number should be increased
> generously.
Thanks, David,
I think I'll follow Steve's lead and set it for about 1K Words. Actually, I
don't have an _extremely_ lot of IRQ's to contend with, Steve probably has a
more intense usage than me, so this should probably take care of me.
I'll keep your info filed away, as it appears to be pretty inforative.
-- David Breeding --
CompuServe : 72330,2051 Delphi : DBREEDING
*** Sent via InfoXpress/OSK - Vr. 1.02 ***
Press <CR> !>