277 lines
9.1 KiB
Plaintext
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> !>
|