[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

WANTED: Applesoft programmers for mouse controlled programs



Since there a few of you who still like to program in applesoft I am
releasing a powerful bit of code for those who like to use mouse
control.  It allows one to define buttons and operate the mouse with a
few simple lines of code.  Here is how it works.

 5 X = USR(0) : REM  Initializes mouse and zero buttons
10 & PRINT,vtab,htab,27;" ____ " : TOP = VTAB + 1: &
DEF,top,left,bottom,width;"^OZ^N ok ^O_^N" : & PRINT ,vtab+2,htab;"
^OLLLL^N"
20 X = USR (1) : IF X = 0 THEN ...  REM <ESC> WAS PRESSED
30 ON X >127 GOTO KEYPRESS
40 ON X GOTO BTN1,BTN2,BTN3,BTN4  ... etc

Line 5 Initializes the mouse and sets up clamping routine.  The mouse
only gets initialized once and consecutive calls just zero the
buttons. : This is important for when clicking a button which
navigates to a new screen and whole net set of buttons need to be
defined : If you don't zero out buttons, then dead zones will be
created where parts of the screen are still active from previous
buttons that were defined but no button is displayed in that area.
Line 10 defines the button.
  - the 27 turns on mousetext, but the underscore still prints out
normally
  - the ^O and ^N turns inverse on and off to actually display the
mousetext characters
  - The caret means to hold down the control key then press the next
character
  - the reason for the "top, left, bottom width" instead of htab/vtab,
is because any size button can be defined up to the size of the
screen.
  - If a string variable, which is optional, is included, then that
text will be printed at the top/left line of that button which would
be the same as an htab/vtab command; top and bottom should be the same
value if the button defined is only on line high
Line 20 calls the mouse navigation routine and returns a button number
or, the ascii value of a keyboard keypress.
Line 30 intercepts keyboard keypresses
Line 40 calls a subroutine in the order the buttons were defined

A maximum of 63 buttons can be defined.  A button can be anything from
a menu to a toggle to a switch to the entire screen.
If buttons overlap then buttons take precedence in the order they were
defined so for instance, a hand of cards would have to defined in
reverse order so that the top most card has first priority over the
cards that it overlaps

The code is only 1024 bytes long but is small compared to the same
functionality programmed in applesoft
The mouse movement on the text screen is surprisingly smooth.
There are over 10 other commands as well that gives aid to powerful
programming in applesoft such as:
  a mod function
  create windows and menu drop downs
  center any line within a window
  very powerful input routine (you have to try this one out)
  powerful get routine
  hex to dec convertor - actually it is a string to FP convertor -
very simple to use - & $,A$,A - i.e. if A$ = "FF" then A returns with
256
  Inverse any text already on the screen (great for flashing buttons
with a mouse click)
  simple hlin and vlin commands to draw boxes or borders
  ... and a few more


Powerful programs I am working on

1)  full mouse controlled fairly complete scientific calculator and
paper display (very cool)
2)  powerful word processor with small foot print which includes; cut,
copy, paste,  Find/Replace, word wrap, 3 tab stops (indent, center and
right justify), use mousetext to highlight headlines, and allows one
to directly load and edit applesoft programs.  I hope to complete it
with menus and scroll bars.
3)  LOAD and SAVE dialog boxes  : type load or save in an applesoft
program and you are greeted with a mousetext mouse controlled dialog
box
4)  Cool looking Mousetext Finder for navigation and copying files
5)  Cool looking Mousetext card games and other games (Check out my
mousetext graphics for the game STARTREK which includes the Romulan
bird of prey, the Klingon war bird, the borg, the xylon ship (I think
that is what it is called), a black hole, stars, a cool looking base
station, and of course the starship enterprise
6)  Mousetext screen editor - create a screen in minutes - quick
selection of normal, inverse and mousetext characters

other suggestions.

I hope to have a website up this fall that will be strictly dedicated
to mousetext based mouse driven programs.  All software is subject to
trade and not available to download for free.  If you are not a
programmer and wish to receive any listed software, then a trade for
hardware would also be acceptable and negotiable.

Requirements:
Any mousetext based Apple II computer such as Enhanced IIe, IIc, IIgs
and Laser 128 computers and any emulators that support mousetext
a mouse card for computers that need it
a mouse for all computers
an 80 col card - all programming needs to be done in 80 col mode

note: some software may not work with the Laser 128 or some emulators.
I have a program that allows one to view 16 colors of text in
combination with any of the 16 background colors that works on an real
Apple IIGS only.  Does not work in some emulators or any other Apple
computer.
The mouse routines should work on any computer and emulator

Anyone wishing to participate should email me directly.  I will send
them a startup utilities zip file that includes all these files:

a utilities package that handles mouse and button control
a full mousetext based mouse controlled screen editor (very fast and
powerful - includes an undo function)
about 20 mousetext screen files I created myself to give some ideas
instructions and demo programs to give examples of usage


Suggestions for programs to be created:

There are a ton of Eamon text adventures that would be neat to have
them converted to mousetext screens and have possibly a compass that
points North, East, West, South for clicking on for quick and easy
navigation.
Games can be easily created with the Mousetext Editor and given full
mouse control
Just about anything your mind can conjure up.

My utilities offer full mouse control as well as keyboard input over
the whole text screen.  Try to make any programs you create, with the
mouse in mind for a better experience for the end user.

I would appreciate that you please do not give away any programs that
are given to you including the original zip file, that are not yours
to give.  I would like to create a trading environment and also keep
track of how many programmers are still out there for the Apple II.
Your email to me requesting the startup zip file will be your
registration.
Remember that hardware can also be traded for software.  A lot of time
has been put in some of these programs.  Later on, I will put a list
of programs on my website along with the authors name who created it
for those who have traded software with me.  This will give other
authors a chance to trade software with them as well.

I believe this to be a unique way of keeping the Apple II alive as
well as teaching those who wish to learn or those who just like
programming in Applesoft basic.  And also give everyone a chance to
contribute to keeping the Apple II alive on the software side of
things.  My goal is to make new software available for the Apple
computer once again.  I believe mouse controlled utilities, programs
and games can make programming fun again.

What say ye?

Happy Programming
Rob