Jump to content
IGNORED

suggestions for tape based word processor?


newTIboyRob

Recommended Posts

Hi, just wondering what you'd recommend for an entry level, but still decent word processing program that I can use that is either on cartridge (but my Ti is unexpanded, no disk drive, etc.. just bare bones)

or use via tape drive.

 

Any suggestions here?

 

Edited by newTIboyRob
Link to comment
Share on other sites

Console Writer should fit the bill.  The Mini Writer carts, too.  If your interest is to put your system to real use, by the time you track one of those down (and pay for it) you could probably expand your system with something like a TIPI or nanoPEB, and possibly an FinalGROM 99.

  • Like 1
Link to comment
Share on other sites

54 minutes ago, OLD CS1 said:

Console Writer should fit the bill.  The Mini Writer carts, too.  If your interest is to put your system to real use, by the time you track one of those down (and pay for it) you could probably expand your system with something like a TIPI or nanoPEB, and possibly an FinalGROM 99.

Probably best to not suggest the nano as you can't buy them anymore

  • Sad 1
Link to comment
Share on other sites

1 hour ago, WhataKowinkydink said:

Yes, it is *very* nice- the snag is I suspect it is rather rare, though it could be added to a FinalGROM if the ROM is dumped.

I found Tenex was giving $10 credit toward Beyond Wordwriter for trade-in on Mini Writer and Word Writer.  I wonder how many people took up this offer.

  • Like 1
Link to comment
Share on other sites

Miniwriter went through three iterations (Miniwriter, Miniwriter II and Miniwriter III), then morphed into Wordwriter, Wordwriter Xtra,and Beyond Wordwriter. There was another set of cartridges in the DataBioTics roadmap as a future evolution, but they never came to fruition. They are not based on TI Writer, but have very similar functionality.

 

Someone could always burn a ROM for Beyond Wordwriter and put it into one of the cartridge boards, but that would probably cost as much in parts as the original cartridge would. . .making something uneconomical to do is a very reasonable means of copy protection.

  • Thanks 3
Link to comment
Share on other sites

 

Just checked the first disk. Looks like XB, to me.

!COPYRIGHT 1981,82,83 EXTENDED SOFTWARE CO.

 

Spoiler
100 !COPYRIGHT 1981,82,83 EXTENDED SOFTWARE CO.
110 OPEN #1:"DSK1.LCW/A",RELATIVE,INPUT,FIXED 254,INTERNAL :: RESTORE #1,REC 4
120 !CALL INIT :: CALL LOAD(-31878):: NL=280 :: DIM A$(286)
122 NL=80 :: DIM A$(86)
130 @,G0,G1,G2=1 :: G3=10 :: G4,G5=60 :: @2=2 :: @3=3 :: @4=4 :: @5=5 :: @6=6 :: @9=9 :: @0=20 :: @A=21 :: @B=200 :: CALL KEY(@5,K,E)
160 FOR Z=_ TO @6 STEP 5 :: INPUT #@:M$(@+Z),M$(@2+Z),M$(@3+Z),M$(@4+Z),M$(@5+Z) :: NEXT Z :: CLOSE #@ :: F$=RPT$(" ",150)
170 FOR R=@ TO 12 :: CALL COLOR(R,@2,8) :: NEXT R
180 GOTO 500 :: CALL CLEAR :: CALL SCREEN :: CALL GCHAR :: CALL HCHAR :: CALL VCHAR :: CALL SOUND :: CALL ERR
190 B$(@),C$,D$,E$,G$,H$,I$,N$,P$,Q$,R$,S$,T$,W$,Z$="" :: _,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,S,T,U,V,W,X=Y
200 CO,D1,D2,L1,L3,LP,P1,P3,QQ,ST,SW,=ZL
210 !@P-
500 CALL CLEAR :: CALL SCREEN(@5) :: ON ERROR 11000
510 DISPLAY AT(@3,@9):"TYPWRITER": : :TAB(@9);"MAIN MENU"
520 FOR R=@ TO 7 :: DISPLAY AT(R+8,@):CHR$(R+48);"=";M$(R) :: NEXT R :: DISPLAY AT(18,@):"CHOICE?"
530 R=18 :: N=7 :: GOSUB 10300
540 CALL CLEAR :: M=I :: DISPLAY AT(@,15):M$(M)
550 ON M GOTO 1000,2000,3000,4000,5000,4500,7000
1000 V=@ :: GOSUB 10000
1010 DISPLAY AT(@5,@):"CLEARING MEMORY.": : : :: FOR L=@ TO NL :: A$(L)="" :: NEXT L :: U,L=_ :: G$="" :: DISPLAY AT(@5,@):""
1020 D=@2
1030 CALL SCREEN(@6) :: DISPLAY AT(@,@):M$(8);INT(L/@0)+@,M$(@)
1040 FOR D=D TO @A
1050 U=U+@ :: DISPLAY AT(D,@):;:"^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
1060 ACCEPT AT(D,@):A$(U)
1070 CALL KEY(_,K,E) :: IF A$(U)="" THEN U=U-@ :: IF K=11 THEN 8000 ELSE 500
1110 NEXT D
1120 IF U>NL-@ THEN V=10 :: GOSUB 10000 :: GOTO 4000 ELSE DISPLAY AT(22,@):"" :: L=L+20 :: GOTO 1020
2000 G=_ :: CALL SCREEN(7) :: V=@2 :: GOSUB 10000
2010 T$=M$(@2) :: IF G$="" THEN N$="DSK1." ELSE N$=G$
2020 GOSUB 10200 :: G$=N$
2100 OPEN #@:G$,INPUT,INTERNAL,FIXED 192
2110 FOR L=@ TO NL STEP @6
2120 INPUT #@:A$(L),A$(L+@),A$(L+@2),A$(L+@3),A$(L+@4),A$(L+@5)
2130 CALL KEY(_,K,E)
2140 IF K=13 OR A$(L)=M$(@9)THEN 2170
2150 S=INT((L+@4)/20+@) :: DISPLAY AT(23,@):"S=";S;"L=";(L+@5)-20*(S-@)
2160 NEXT L
2170 FOR L=MIN(NL,L+@5)TO @ STEP-@ :: IF A$(L)<>"" AND A$(L)<>M$(@9)THEN U=L :: GOTO 2190
2180 NEXT L
2190 FOR R=U+@ TO NL :: A$(R)="" :: NEXT R :: CLOSE #@
2200 IF G=@6 THEN CALL SCREEN(2) :: L=@ :: GOTO 5140 ELSE 500
3000 D=@2 :: CALL SCREEN(@5) :: DISPLAY AT(@,@):"STARTING AT SCREEN#:" :: R=@ :: C=24 :: N=9 :: GOSUB 10310 :: L=@0*(I-@2) :: IF L>=U THEN 3000 ELSE CALL CLEAR :: DISPLAY AT(@,15):M$(@3) :: GOTO 8500
3010 GOSUB 10010 :: IF K>15 THEN 8500 ELSE 8000
4000 CALL SCREEN(13) :: T$=M$(4) :: IF G$="" THEN IF E$<>"" THEN N$=E$ ELSE N$="DSK1." ELSE N$=G$
4010 GOSUB 10200 :: E$=N$
4100 OPEN #@:E$,OUTPUT,INTERNAL,FIXED 192
4130 FOR L=@ TO U STEP @6
4140 CALL KEY(_,K,E)
4145 IF K=13 OR A$(L)="" THEN 4200
4150 PRINT #@:A$(L),A$(L+@),A$(L+@2),A$(L+@3),A$(L+@4),A$(L+@5)
4160 S=INT((L+@4)/@0+@) :: DISPLAY AT(23,@):"S=";S;"L=";L+@5-@0*(S-@),L;"OF";U
4180 NEXT L
4200 PRINT #@:M$(@9),M$(@9),M$(@9),M$(@9),M$(@9),M$(@9) :: CLOSE #@ :: GOTO 500
4500 OPEN #@B:"DSK1.",INPUT,RELATIVE,INTERNAL :: INPUT #@B:Z$,Q,Q,Q :: PRINT Q;"Free": :
4510 INPUT #@B:Z$,Q,Q,QQ :: IF LEN(Z$)>_ THEN PRINT Z$,Q :: GOTO 4510
4520 PRINT :: CLOSE #@B :: INPUT "PRESS ENTER TO CONTINUE":Z$ :: GOTO 500
5000 CALL SCREEN(@2) :: SW,G,O,L3,B=_ :: R$="N" :: C$,D$="" :: IF F=@2 THEN F=_ :: CLOSE #F
5010 DISPLAY AT(@5,@):"WHAT TYPE PRINTER?":"1=RS232,PIO OR TP":"2=SCREEN":"3=FORMAT FOR TI-WRITER":;:;:"CHOICE? ";G0
5020 R=11 :: C=10 :: N=@ :: GOSUB 5307 :: G0=I :: IF I=@3 THEN F=@2 :: G=@5 ELSE IF I=@2 THEN F=_ :: GOTO 5050 ELSE F=@2 :: IF P$="" THEN N$="RS232" ELSE N$=P$
5040 T$=M$(@5) :: GOSUB 10200 :: P$=N$
5050 DISPLAY AT(@5,@):;:;:;:"BEGIN AT SCREEN #:";G1:"LINE #:";G2
5060 DISPLAY AT(10,@):"# OF SPACES IN MARGIN:";G3:"# OF CHARACTERS/LINE:";G4:"# OF LINES/PAGE:";G5
5070 R=8 :: C=20 :: N=@2 :: GOSUB 5307 :: IF I>NL/20 THEN 5070 ELSE G1,S=I
5075 R=@9 :: C=@9 :: GOSUB 5307 :: IF I>@0 THEN 5075 ELSE G2=I :: L=I+@0*(S-@)
5080 R=10 :: C=24 :: GOSUB 5307 :: IF I>79 THEN 5080 ELSE G3,A=I
5085 R=11 :: C=23 :: N=@3 :: GOSUB 5307 :: IF I>227 THEN 5085 ELSE G4,Z=I
5087 R=12 :: C=18 :: GOSUB 5307 :: G5,LP=I
5120 DISPLAY AT(@,15):M$(@5)
5130 IF F=@2 THEN IF G=_ AND POS(SEG$(P$,@,@3),"TP",@)=_ THEN OPEN #F:P$,VARIABLE 254,OUTPUTELSE OPEN #F:P$,OUTPUT
5140 DISPLAY AT(@0,@):M$(@9):">HOLD DOWN SPACE BAR TO HALT":G$:;:
5150 FOR L=L TO U :: CALL KEY(_,K,E) :: IF A$(L)="" OR(E<@ AND K=13)THEN 5310 ELSE IF K=32 THEN 5308
5160 S$=A$(L) :: S=INT((L-@)/@0+@) :: DISPLAY AT(@,@):,M$(M):"S=";S;"L=";L-@0*(S-@),L;"OF";U
5170 IF SEG$(S$,@,@)="@" THEN 5360
5230 IF O=@2 THEN C$=C$&S$ ELSE IF O=@ OR C$="" THEN C$=C$&S$ :: O=_ ELSE C$=C$&" "&S$
5240 IF LEN(C$)>Z-@ THEN GOSUB 5260
5250 NEXT L :: GOTO 5310
5260 FOR J=Z+@ TO @ STEP-@2 :: P=POS(C$," ",J) :: IF P>_ AND P<Z+@2 THEN 5290
5270 NEXT J :: P=Z :: GOTO 5290
5280 IF C$="" THEN RETURN ELSE IF LEN(C$)>Z THEN 5260 ELSE P=LEN(C$)+@ :: SW=@
5290 D$=SEG$(F$,@,A+B)&SEG$(C$,@,P-@) :: IF SW=_ AND R$="Y" THEN P1=@ :: GOSUB 32000
5292 PRINT #F:D$ :: C$=SEG$(C$,P+@,254) :: SW=_
5300 L3=L3+@ :: IF LEN(C$)>Z THEN 5280 ELSE IF F<>_ THEN DISPLAY AT(12,17):L3;"OF";LP
5302 IF L3>=LP THEN L3=_ :: GOSUB 10010
5305 RETURN
5307 ACCEPT AT(R,C)VALIDATE(DIGIT)SIZE(-N)BEEP:I$ :: IF I$="" THEN F=_ :: GOTO 500 ELSE I=VAL(I$) :: RETURN
5308 CALL KEY(_,K,E) :: DISPLAY AT(24,1):"HALTED - PRESS 'C' TO CONT." :: IF E=1 THEN DISPLAY AT(24,1) :: GOTO 5150 ELSE 5308
5310 GOSUB 5280 :: IF F=@2 THEN F=_ :: CLOSE #@2
5320 GOTO 500
5360 W$=SEG$(S$,@2,@) :: W=POS("LPTCMNSAOJUD",W$,@)
5370 ON W GOTO 5400,5440,5460,5480,5490,5500,5510,5520,5530,5540,5560,5570
5400 GOSUB 5280 :: PRINT #F:"" :: GOSUB 5300 :: S$=SEG$(S$,@4,@B) :: GOTO 5170
5440 H$=SEG$(S$,@4,@B) :: DISPLAY AT(14,@):H$ :: ACCEPT AT(15,@)BEEP:S$ :: GOTO 5170
5460 Y=VAL(SEG$(S$,@3,@3))-@ :: IF O=_ THEN Y=Y-@
5465 IF LEN(C$)<=Y THEN C$=C$&SEG$(F$,@,Y-LEN(C$))ELSE GOSUB 5280 :: C$=SEG$(F$,@,Y)
5470 S$=SEG$(S$,7,@B) :: GOTO 5170
5480 C$=SEG$(F$,@,INT((Z-LEN(C$)+@)/@2))&C$ :: GOSUB 5280 :: S$=SEG$(S$,@4,@B) :: GOTO 5170
5490 GOSUB 5280 :: B=VAL(SEG$(S$,@3,@2)) :: Z=VAL(SEG$(S$,@6,@3)) :: S$=SEG$(S$,10,@B) :: GOTO 5170
5500 GOSUB 5280 :: S$=SEG$(S$,@4,@B) :: GOTO 5170
5510 Y=VAL(SEG$(S$,@3,@3)) :: C$=C$&CHR$(Y) :: S$=SEG$(S$,7,@B) :: GOTO 5170
5520 N$=SEG$(S$,@4,@B) :: G=@6 :: IF N$="R" THEN 2200 ELSE G$=N$ :: GOTO 2100
5530 O=@ :: S$=SEG$(S$,@4,@B) :: GOTO 5170
5540 S$=SEG$(S$,@4,@B) :: IF R$="Y" THEN R$="N" ELSE R$="Y"
5550 GOTO 5170
5560 PRINT #F:SEG$(F$,@,A+B)&C$&CHR$(13); :: C$="" :: S$=SEG$(S$,@4,@B) :: GOTO 5170
5570 S$=SEG$(S$,@4,@B) :: IF O=@2 THEN O=_ ELSE O=@2
5580 GOTO 5170
7000 V,X=7 :: GOSUB 10000
7010 END
8000 CALL SCREEN(10) :: DISPLAY AT(@,15):"EDIT MODE" :: DISPLAY AT(23,@2):""BEGIN"";" TO CONTINUE TEXT" :: IF A$(L+D-@)="" THEN 8450
8010 CALL HCHAR(D,@2,30) :: CALL KEY(_,K,E) :: CALL VCHAR(@2,@2,32,@0) :: IF K<@3 OR K>15 THEN 8010
8020 ON K-@3 GOTO 8200,8010,8010,8300,8010,8800,8400,8450,8500,500,8700,8600
8200 X=@6 :: CALL CLEAR :: Z=L+D-@2 :: ZL=L :: DISPLAY AT(@,14):"INSERT MODE"
8210 FOR I=@ TO @5 :: DISPLAY AT(16+I,@):A$(Z+I) :: IF(Z-@5+I)>_ THEN DISPLAY AT(I+@,@):A$(Z-@5+I)
8220 NEXT I
8230 FOR I=@ TO MIN(10,NL-U)
8240 ACCEPT AT(I+@6,@)SIZE(-28):B$(I) :: CALL KEY(_,K,E)
8250 IF B$(I)="" AND K<>10 THEN 8270
8260 NEXT I
8270 I=I-@ :: FOR L=U+I TO Z+I STEP-@ :: IF L-I<@ THEN 8290
8280 A$(L)=A$(L-I) :: NEXT L
8290 FOR J=@ TO I :: A$(J+Z)=B$(J) :: B$(J)="" :: NEXT J :: L=ZL :: U=U+I :: DISPLAY AT(@,@):M$(8),M$(@2) :: GOSUB 10090 :: GOTO 8010
8300 Z=L :: U=U-@ :: FOR L=L+D-@ TO U+@2 :: A$(L)=A$(L+@) :: NEXT L :: L=Z :: GOSUB 10090 :: GOTO 8010
8400 IF A$(L+D)<>"" AND D<@A THEN D=D+@ :: CALL HCHAR(D,@2,30) :: CALL KEY(_,K,E) :: CALL VCHAR(@2,@2,32,@0) :: IF K=10 THEN 8400 ELSE IF K=11 THEN 8450 ELSE 8010 ELSE IF D=@A THEN 8500 ELSE 8010
8450 IF D>@2 THEN D=D-@ :: CALL HCHAR(D,@2,30) :: CALL KEY(_,K,E) :: CALL VCHAR(@2,@2,32,@0) :: IF K=11 THEN 8450 ELSE IF K=10 THEN 8400 ELSE 8010 ELSE 8600
8500 D=@2 :: IF L+40<U THEN L=L+@0 :: GOSUB 10090 ELSE 8530
8510 IF K>15 THEN 3010 ELSE 8010
8530 IF L+@0<U THEN L=L+@0 :: D2=U-L+@2 :: GOSUB 10100
8540 IF K>15 THEN 8700 ELSE 8010
8600 D=@A :: IF INT(L/@0)>_ THEN L=L-@0 :: GOSUB 10090 ELSE D=@2
8610 GOTO 8010
8700 L1=INT(U/@0)*@0 :: D,D2=U-L1+@2 :: IF L<INT(U/@0)*20-@0 THEN D2=@A
8710 L=L1 :: GOSUB 10100 :: DISPLAY AT(22,@):;:;:;: :: GOTO 1030
8800 L1=L+D-@ :: ACCEPT AT(D,@)SIZE(-28):A$(L1) :: GOTO 8400
10000 CALL CLEAR :: CALL SCREEN(7) :: DISPLAY AT(2,@):">>>>>>"&M$(V)&"<<<<<":;:;:"CAUTION!":"ANY DOCUMENT IN CONSOLE":"WILL BE ERASED!"
10010 DISPLAY AT(23,@)BEEP:" PRESS ANY KEY TO CONTINUE   OR 'ENTER' FOR MAIN MENU"
10020 CALL KEY(_,K,E) :: IF E<>@ THEN 10020 ELSE IF K=13 THEN 500 ELSE DISPLAY AT(22,1):;:;:;:
10030 D=@2 :: RETURN
10090 D2=@A
10100 DISPLAY AT(@,@)SIZE(10):M$(8);INT(L/@0)+@ :: FOR D1=@2 TO D2 :: DISPLAY AT(D1,@):A$(L+D1-@) :: NEXT D1 :: RETURN
10200 DISPLAY AT(@5,@):"ENTER NULL FOR MAIN MENU":;:;:;:;:;:;:
10206 DISPLAY AT(17,@):"OPEN #1:":N$:;:;:"ENTER DEVICE OPEN STATEMENT (CS1, DSK1.FILENAME, TP.E,  RS232.BA=600.EC, ETC.)"
10208 ACCEPT AT(18,@)SIZE(-28)BEEP:N$ :: IF N$="" THEN 500
10220 DISPLAY AT(@5,@):"" :: DISPLAY AT(@0,@):;:M$(@9):;:;:; :: RETURN
10300 DISPLAY AT(R,@):"CHOICE?" :: C=11
10310 CALL SOUND(100,1569,_)
10312 CALL GCHAR(R,C,Q)
10320 CALL HCHAR(R,C,30) :: CALL KEY(_,K,E) :: CALL HCHAR(R,C,Q) :: IF E<>@ THEN 10320
10330 CALL HCHAR(R,C,K) :: IF K=13 THEN 500 ELSE I=K-48 :: IF I<@ OR I>N THEN 10300 ELSE RETURN
11000 CALL ERR(CO,Z,Z,Z) :: ON ERROR 11000
11010 DISPLAY AT(11,@): :"CODE=";CO:"SEE X-BASIC MANUAL, PAGE 217WE HAVE JUST ENCOUNTERED AN ERROR. ": :
11020 INPUT "'ENTER' TO CONTINUE ":Q$
11050 ON ERROR 11060 :: CLOSE #@
11060 ON ERROR 11065 :: F=_ :: CLOSE #@2
11065 ON ERROR 11070 :: CLOSE #@B
11070 ON ERROR 11000 :: RETURN 500
32000 IF SEG$(D$,A+B+P1,@)=" " THEN P1=P1+@ :: GOTO 32000 ELSE P3=P1+A+B :: IF POS(D$," ",P3)=_ THEN RETURN
32010 IF LEN(D$)>=A+B+Z THEN RETURN ELSE P3=POS(D$," ",P3+@2) :: IF P3=_ THEN 32000
32020 D$=SEG$(D$,@,P3)&" "&SEG$(D$,P3+@,LEN(D$)) :: GOTO 32010

 

 

  • Like 2
Link to comment
Share on other sites

15 hours ago, WhataKowinkydink said:

Yes, it is *very* nice- the snag is I suspect it is rather rare, though it could be added to a FinalGROM if the ROM is dumped.

I would like a dump.. if it's a rom cart that's pretty easy to do, esp if you have a tipi lmk if you have one and can dump it

  • Like 1
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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