Jump to content
Keatah

My old spinning cursor and mousetext demo (apple //e)

Recommended Posts

Yeh folks, I dug up my old prototype beta practice code for my BBS' spinning cursor mod and mousetext test. This is a special program for me, because, it was written in the entire time I was taking a shit. As in sitting on the toilet. I got out my 3-ring binder notepad and began writing it down. I finished in about 1/2 hour more or less. One of my buddies was doing something else to the BBS and I had a dump to take. So that is that!

 

This was back in the days of when BBS's and file transfers were two separate programs. You'd first mozy around and read messages and the weekly news from from the sysop and perhaps post something yourself if you were brave enough. That usually took about 10 or 15 minutes as content was not in great quantity. Then, you'd drop to the AE line via a special command. You could not go back to the BBS & message section once you entered the file transfer section. This was more a limitation of the early software that we used. Though soon enough we worked around it.

 

There are three main sections to it.

 

1 - a basic Mousetext display. It draws the symbols and characters associated with the keyboard equivalents. It also draws 4 symbols, each made from two other individual characters. This is a simple test. Finally it "rotates" a box by flashing 4 sides in sequence. Also very simple.

 

2 - a spinning cursor at around 300-baud. This is what a caller would see instead of the boring _. This was hot shit back in the day.

 

3 - a spinning cursor at 1200-baud, and it accepts real input. This is not a fucking word processor, it doesn't support backspace or arrow keys or any kind of editing and correction. You type to the end of the line and then it clears itself and you type some more. If you don't like it, tough shit. You can hit to clear the line. You can exit gracefully with key. Don't type too fast, this in Applesoft basic and it will drop characters!

 

Speaking of tough shit. I bet this is the only Applesoft Basic program written while making logs, and then flooding the river on which they and their unholy stink drifted away.

 

The program is full of gosub's and goto's. Lots of text formatting and positioning commands too. It is a quick and dirty proof-of-concept. We later wrote up a pure assembly version that filled a string and presented input to you nicely - for ease of use and simplicity in a BBS environment. It also managed the cursor in a smart fashion; providing full editing capabilities.

 

Spinning cursors were a simple and effective way to say your BBS had arrived and was technically sophisticated. Some of the best wares came from boards set-up this way.

 

Well, we did versions where the spinning cursor could indicate disk access, or free space, or error rate during transfer, or the presence or absence of the SYSOP. Things like that. Some versions derived their RPM or spin-rate based on the timing of the UART in the modem and/or clock card. That was done for stability and "solidness". We kept that mofo cursor spinning regardless of what the user and the system were doing!

 

I have posted two versions:

1- The AppleSoft Basic version that you can read.

2- The same program, but compiled with Einstein Compiler.

 

Both versions are on the DOS.dsk in the ZIP file I posted. You can load it up in AppleWin or do whatever the fuck you want with it. I also posted the Einstein Compiler and Beagle Bros. COMPACT (from D-Code disk) for your experimentation.

 

I ran the Basic listing through COMPACT from Beagle Bros. And it got shrunked down a few hundred bytes. Then I ran it through The Einstein Compiler, this produced a huge speed increase. But still not as good as the 50-byte routines we did by hand as the final product.

 

Well, I present to you what is probably the only program in the entire world that was written in its entirety while the author was taking a shit!

 

1 PR# 3

7 PRINT "@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _"

10 PRINT : INVERSE : PRINT CHR$ (27);

20 FOR A = 64 TO 95

30 PRINT CHR$ (A);: NORMAL : PRINT " ";: INVERSE

40 NEXT

43 NORMAL : PRINT : PRINT : INVERSE

45 PRINT "FG";: NORMAL : PRINT " ";: INVERSE : PRINT "XY";: NORMAL : PRINT " ";: INVERSE : PRINT "Z^";

47 NORMAL : PRINT " ";: INVERSE : PRINT "Z\_";

50 PRINT : FOR A = 1 TO 300

55 VTAB 7: PRINT "_": VTAB 7: NORMAL : PRINT "_": INVERSE : VTAB 7: PRINT "Z": VTAB 7: PRINT "L"

65 NEXT

66 VTAB 7: HTAB 1: PRINT " "

70 PRINT CHR$ (24): NORMAL

76 VTAB 7: HTAB 1: PRINT " "

80 FOR B = 1 TO 10

85 VTAB 7: GOSUB 186: PRINT ">|": VTAB 7: GOSUB 186: PRINT ">\": VTAB 7 : GOSUB 186: PRINT ">-": VTAB 7: GOSUB 186: PRINT ">/"

100 NEXT

150 VTAB 7: PRINT " "

160 GOTO 320

186 FOR X = 1 TO 70: NEXT

190 RETURN

320 NORMAL : PRINT CHR$ (24):H = 1:V = 7

330 VTAB 7: HTAB 1: PRINT ">"

350 GOSUB 900

355 GOSUB 700

360 IF K < 128 THEN 350

365 IF K = 155 THEN 840

370 IF K = 141 THEN GOTO 950

380 H = H + 1

385 IF H = 80 THEN GOTO 950

400 VTAB V: HTAB H: PRINT A$;

409 POKE - 16368,0

499 GOTO 350

700 VTAB V: HTAB H + 1: PRINT "|": GOSUB 910: VTAB V: HTAB H + 1: PRINT "\": GOSUB 910: VTAB V: HTAB H + 1: PRINT "-": GOSUB 910: VTAB V: HTAB H + 1: PRINT "/"

720 RETURN

840 HTAB 1: VTAB 7: FOR F = 1 TO 80: PRINT " ";: NEXT

843 POKE - 16368,0

850 GOTO 999

900 K = PEEK ( - 16384):A$ = CHR$ (K): RETURN

910 FOR X = 1 TO 15: NEXT : RETURN

950 VTAB V: FOR C = 1 TO 80: HTAB C: PRINT " ";: NEXT

952 H = 1

954 POKE - 16368,0

955 GOTO 330

999 END

 

If you don't want to download the files because you're scared of infecting yo'emulator, then just copy and paste the sucker into AppleWin and run it thataway.

 

Have fun!

Spinning Cursor.zip

Edited by Keatah

Share this post


Link to post
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.

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...