Jump to content

Recommended Posts

Posted (edited)

TIPIAC... Truly Important Personal Information Alarm Clock. It's alive!

*TI Basic version works on bare console(TIPI req.)

*Handles 48 reminders

*Tone and or spoken alerts(Speech req. TEII, SSSS)

*Use wildcards to create recurring events

*Existing program integration potential

coming soon(developers welcome(gratis))........hopefully...

Save/Restore/Autolaod CALENDAR list(s) from TIPI.

 

post-64523-0-58790100-1555183208_thumb.jpg

post-64523-0-65570600-1555186051_thumb.jpg

post-64523-0-88357900-1555186074_thumb.jpg

post-64523-0-64380700-1555186094_thumb.jpg

post-64523-0-77216800-1555183266_thumb.jpg

TI Basic instructions,

OLD DSK1.AC

RUN

Hold S to set ALARM time(s).

Just above the INPUT LINE, the CURRENT TIME and exact ENTRY FORMAT are displayed, all three aligned for ease of entry.

1. Enter ALARM time. Use * as "don't care" wildcards to allow alarm to repeat at intervals if desired.

2. Enter 0,1,2 or 3 to select silence, a tone alert, speech read or both tone alert and speech read respectively.

3. Enter an associated ALERT message.

4. Enter another ALARM time or type DONE to return to CLOCK mode(normal mode).

After an ALERT occurs it's associated ALARM time is automatically removed from the ALARM time(s) list unless it uses wildcard(s).

From CLOCK mode Hold R to view the ALARM list and make manual deletions(one per screen).

Please note:

DAY and MONTH matching are case sensitive!

Entering a lower case "done" results in being returned to the input prompt. This was done to remind "that both upper and lower case must be used for day and month". If an error is entered into the ALARM list, that entry will be ignored. Use R from CLOCK mode to delete if desired. Use upper case "DONE".

ALARM and alert MODE entries are unchecked for errors, so dial carefully!

Wild cards, which apply to entire fields, need only appear in the first character position of a field, and are ignored in all other positions.

 

The input system "hunts" for the first empty slot on the ALARM list

 

TIPIAC does not do Seconds.

Improveyment ideas wanted... :idea:

P.S.
Have a nice day and DON'T FORGET. :o

 

Edited by HOME AUTOMATION
  • Like 4

Share this post


Link to post
Share on other sites

Thanks. I am certain you as a programmer can understand... this became much more effort than was originally anticipated. :woozy:

On a related note... I just discovered the first "feature". It is now possible to create 2 more entries than can be edited using the R option! I meant to limit the list to 46 entries. Hey, that's like 2 extra entries completely free of charge! :grin:

Share this post


Link to post
Share on other sites

ADDENDUM to TIPIAC instructions(just like T.I.):
In the above offering, in order to make clear screenshots I used a DEMO version of the program running on Classic99. Since no TIPI could be connected, I made some bypasses and entered a couple of strings manually.
I made a couple errors, as such please note...

The upper case "AT" in the "SAT" shown in the ALERT time on the bottom of the second pic. from the last, is wrong... that would never happen.

If an ALARM time were entered in this way... the ALERT would be missed!

...as such, I developed the "DONE\done" method to help the user remember to turn the ALPHA-LOCK key off, assuming most users leave it on.

However in my above explanation I transposed the words "upper" and "lower", see copy below...

"Entering a lower case "done" results in being returned to the input prompt. This was done to remind "that both upper and lower case must be used for day and month". If an error is entered into the ALARM list, that entry will be ignored. Use R from CLOCK mode to delete if desired. Use upper case "DONE"."

This is the corrected paragraph...

Entering a upper case "DONE" results in being returned to the input prompt. This was done to remind "that both upper and lower case must be used for day and month". If an error is entered into the ALARM list, that entry will be ignored. Use R from CLOCK mode to delete if desired. Use lower case "done".

In the bottom pic. the ALARM times shown would actually have been entered in reverse order for the above pics. to appear in the display order they do. (actually meaningless)...

The 3 in 31037 would be ignored rather than result in the ALERT occurring on the 3rd the 13th and the 23rd, since it's field(DT) already has an * as the first character.

...are we having fun yet? :twisted:

Share this post


Link to post
Share on other sites

Nice! The functionality of the TIPI keeps expanding and it is increasingly becoming a very attractive proposition...

  • Like 1

Share this post


Link to post
Share on other sites

Using the tipi clock for other applications is a useful extension.

A reminder / alarm function is also on my to do list for my menu program

  • Like 1

Share this post


Link to post
Share on other sites

TIPIAC V.2
T.I. Planning Implementation And Coordination update.

* TIPIAC now has SAVE and LOAD from TIPI or CS1.

* Changed from 48 to 46 possible entries.

* Improved entry screen readability and corrected spelling.

* Editor now shows the first 9 digits of ALERT message in addition to the ALARM time.

Additional instructions:

To SAVE hold "O" to LOAD hold "I" the default mode is TIPI.

To switch storage device hold "T" for TIPI or "C" for CS1.

 

post-64523-0-75387000-1555852836_thumb.jpg

This is about as far as I can expand TIPIAC in 16k.
testing has revealed that 46 entries of 3 line ALERTS(3x28 characters)will result at a MEMORY FULL ERROR at about 38 entries.

46 two line entries are acceptable. However 46 entries set to occur on the same minute, will take between 59 and 65 seconds to scan and display on the screen(not including the time for speech or tone alert options). So the number of ALARMS and the length of the ALERTS allowed to occur on the same minute should be kept reasonable, especially if ALARMS will occur on consecutive minutes, in order to avoid a minute being skipped past and an ALERT being missed!

I have removed all REM lines to increase free space.

 

so here is the mark...

 

10 REM***********

20 REM* HA! *

30 REM* c2019 *

40 REM***********

:)

 

 

  • Like 5

Share this post


Link to post
Share on other sites

There was a problem printing the first 9 digits of ALERT messages in addition to the ALARM time...

When the item# is greater than 9, the extra digit column pushes the printing onto the next line... causing some items to scroll off the screen.

Solution? Editor now only shows the first 8 characters of ALERT messages in addition to the ALARM time.

Also changed the program file name back to AC.

 

TIPIAC.dsk

  • Like 3

Share this post


Link to post
Share on other sites

TIPIAC V.3 TMS (Time Management System):lol:

I haven't checked on TIPIAC in a while. I see that there was still some improvement needed! 

 

I wonder if anyone is actually using this thing!

 

One thing I had not provided for, was the removal of expended ALERT messages. I figured that they would always be overwritten anyway. But in reality they reduce available space for additional ALARMS and ALERTS! 

After I added(version 2) display of the first characters of the ALERT message, at the end of each line of text on the REMOVAL screen, and then an ALARM time was removed, even more of the leftover ALERT message would be displayed, making for a very messy and not truly personal, REMOVAL screen.

 

I had to figure out where and how exactly... to accomplish this removal properly...

 

...lines 962, 964 and 1282.

 

Don't forget...(If no Terminal Emulator + speech, RUN  110 and don't use options 2 or 3)

 

I'm posting the code, for the interested to peruse.

 

100 OPEN #2:"SPEECH",OUTPUT
110 P(1)=1
120 P(2)=4
130 P(3)=7
140 P(4)=9
150 P(5)=11
160 P(6)=13
170 L(1)=3
180 L(2)=3
190 L(3)=2
200 L(4)=2
210 L(5)=2
220 L(6)=4
230 CALL CLEAR
240 FOR LE=1 TO 16
250 CALL SCREEN(2)
260 CALL COLOR(LE,16,2)
270 NEXT LE
280 DEF S$=SEG$(T$,1,3)&SEG$(T$,5,3)&SEG$(T$,9,2)&SEG$(T$,12,2)&SEG$(T$,15,2)&SEG$(T$,21,4)
290 CALL SOUND(1000,1200,0)
300 PRINT "HOLD S TO SET               R TO REMOVE"
310 CALL SOUND(1,111,30)
320 OPEN #1:"PI.CLOCK",DISPLAY,INPUT,FIXED 24
330 DIM EX(47)
340 DIM AT$(49)
350 DIM AS(47)
360 DIM E$(47)
370 DIM EZ(47)
380 FF$="TIPI.SAVS"
390 FG$="TIPI.SAVD"
400 CALL CLEAR
410 INPUT #1:T$
420 SC$=SEG$(T$,16,1)
430 SD$=SEG$(T$,16,1)
440 INPUT #1:T$
450 SC$=SEG$(T$,16,1)
460 IF SC$<>SD$ THEN 680
470 INPUT #1:T$
480 SD$=SEG$(T$,16,1)
490 IF SC$<>SD$ THEN 680
500 PR$="   "&T$&"  "
510 R=1
520 C=1
530 GOSUB 1360
540 CALL KEY(5,K,S)
550 IF K=67 THEN 2060
560 IF K=99 THEN 2060
570 IF K=79 THEN 1400
580 IF K=111 THEN 1400
590 IF K=83 THEN 1000
600 IF K=84 THEN 2000
610 IF K=116 THEN 2000
620 IF K=73 THEN 1750
630 IF K=105 THEN 1750
640 IF K=115 THEN 1000
650 IF K=82 THEN 1240
660 IF K=114 THEN 1240
670 GOTO 440
680 T$=S$
690 FOR Y=1 TO 46
700 F=0
710 IF AT$(Y)="" THEN 820
720 FOR X=1 TO 6
730 IF SEG$(AT$(Y),P(X),L(X))=SEG$(T$,P(X),L(X))THEN 760
740 IF SEG$(AT$(Y),P(X),1)<>"*" THEN 820
750 F=1
760 NEXT X
770 XC=XC+1
780 EX(XC)=Y
790 EZ(XC)=AS(Y)
800 IF F=1 THEN 820
810 AT$(Y)=""
820 NEXT Y
830 IF XC=0 THEN 410
840 INPUT #1:T$
850 PRINT "  "&T$
860 FOR PT=1 TO XC
870 PRINT E$(EX(PT))
880 IF(EZ(PT)=1)+(EZ(PT)=3)THEN 890 ELSE 950
890 FOR SR=1 TO 5
900 CALL SOUND(-999,8989,0,2323,0,222,0)
910 CALL SOUND(-999,4445,0,9999,0,555,0)
920 CALL SOUND(-999,242,0,676,0,1888,0)
930 CALL SOUND(-111,666,0,111,0,1000,0)
940 NEXT SR
950 IF(EZ(PT)=2)+(EZ(PT)=3)THEN 960 ELSE 962
960 PRINT #2:E$(EX(PT))
962 IF AT$(EX(PT))<>"" THEN 970
964 E$(EX(PT))=""
970 NEXT PT
980 XC=0
990 GOTO 410
1000 LE=0
1010 LE=LE+1
1020 IF AT$(LE)<>"" THEN 1010
1030 IF LE<>47 THEN 1090
1040 CALL SOUND(2000,400,0)
1050 PRINT "THE LIST IS FULL"
1060 CALL SOUND(1,400,30)
1070 CALL CLEAR
1080 GOTO 440
1090 PRINT "      ENTER ALARM TIME          USING * AS WILDCARDS      OR TYPE done TO CONTINUE": :"      DDDMMMDTHRMMYYYY"
1100 PRINT "      "&S$
1110 GOTO 1140
1120 PRINT "       ALPHA LOCK DOWN?     Day/Month ARE CASE SENSITIVE"
1130 CALL SOUND(999,400,0)
1140 INPUT "      ":AT$(LE)
1150 IF AT$(LE)="DONE" THEN 1120
1160 IF AT$(LE)<>"done" THEN 1200
1170 AT$(LE)=""
1180 CALL CLEAR
1190 GOTO 440
1200 INPUT "1 FOR ALERT                 2 FOR SPEECH                3 FOR BOTH                  ELSE 0":AS(LE)
1210 PRINT "    ENTER ALERT MESSAGE"
1220 INPUT E$(LE)
1230 GOTO 1000
1240 FOR LE=1 TO 23
1250 PRINT LE;AT$(LE);SEG$(E$(LE),1,9)
1260 NEXT LE
1270 INPUT "TYPE ITEM# TO REMOVE OR 0":RE
1280 AT$(RE)=""
1282 E$(RE)=""
1290 FOR LE=24 TO 46
1300 PRINT LE;AT$(LE)
1310 NEXT LE
1320 INPUT "TYPE ITEM# TO REMOVE OR 0":RE
1330 AT$(RE)=""
1282 E$(RE)=""
1340 CALL CLEAR
1350 GOTO 440
1360 FOR PS=1 TO LEN(PR$)
1370 CALL HCHAR(R,C+PS,ASC(SEG$(PR$,PS,1)))
1380 NEXT PS
1390 RETURN
1400 DIM SAV(53)
1410 D=0
1420 OPEN #3:FF$,OUTPUT,FIXED 192,INTERNAL
1430 PRINT "         SAVING..."
1440 CALL SOUND(2000,480,0,440,0)
1450 FOR LE=1 TO 46
1460 IF AT$(LE)="" THEN 1500
1470 D=D+1
1480 PRINT D
1490 SAV(D)=LE
1500 NEXT LE
1510 E=0
1520 IF INT(D/7)=(D/7)THEN 1540
1530 E=E+1
1540 E=E+INT(D/7)
1550 SAVC=1
1560 FOR H=1 TO E
1570 PRINT #3:AT$(SAV(SAVC)),AT$(SAV(SAVC+1)),AT$(SAV(SAVC+2)),AT$(SAV(SAVC+3)),
1580 PRINT #3:AT$(SAV(SAVC+4)),AT$(SAV(SAVC+5)),AT$(SAV(SAVC+6)),E
1590 SAVC=SAVC+7
1600 NEXT H
1610 CLOSE #3
1620 OPEN #3:FG$,OUTPUT,FIXED 192,INTERNAL
1630 H=0
1640 H=H+1
1650 PRINT H
1660 PRINT #3:E$(SAV(H)),AS(H),D
1670 IF H<>D THEN 1640
1680 PRINT "         COMPLETE"
1690 CALL SOUND(300,350,0,440,0)
1700 CALL SOUND(100,111,30)
1710 CALL SOUND(300,350,0,440,0)
1720 CLOSE #3
1730 CALL CLEAR
1740 GOTO 440
1750 OPEN #3:FF$,INPUT,FIXED 192,INTERNAL
1760 SAVC=1
1770 H=0
1780 CALL SOUND(2000,440,0,480,0)
1790 H=H+1
1800 PRINT "        LOADING..."
1810 INPUT #3:AT$(SAVC),AT$(SAVC+1),AT$(SAVC+2),AT$(SAVC+3),
1820 INPUT #3:AT$(SAVC+4),AT$(SAVC+5),AT$(SAVC+6),E
1830 SAVC=SAVC+7
1840 IF H=E THEN 1860
1850 GOTO 1790
1860 CLOSE #3
1870 OPEN #3:FG$,INPUT,FIXED 192,INTERNAL
1880 H=0
1890 H=H+1
1900 PRINT "        LOADING..."
1910 INPUT #3:E$(H),AS(H),D
1920 IF H<>D THEN 1890
1930 PRINT "         COMPLETE"
1940 CALL SOUND(300,350,0,440,0)
1950 CALL SOUND(100,111,30)
1960 CALL SOUND(300,350,0,440,0)
1970 CLOSE #3
1980 CALL CLEAR
1990 GOTO 440
2000 FF$="TIPI.SAVS"
2010 FG$="TIPI.SAVD"
2020 CALL SOUND(200,1400,0)
2030 PRINT "TIPI"
2040 CALL CLEAR
2050 GOTO 440
2060 FF$="CS1"
2070 FG$="CS1"
2080 PRINT "CS1"
2090 CALL SOUND(200,1400,0)
2100 CALL CLEAR
2110 GOTO 440

 

                                   TIPIAC.dsk

  • Like 1

Share this post


Link to post
Share on other sites

I decided to play with my sidecar TIPI tonight, but I get an I/O error 00 in 100.  The speech is plugged in, but it's behaving like it's not there.  I plugged in Parsec and the speech works with it.  Weird.  

Share this post


Link to post
Share on other sites
1 hour ago, --- Ω --- said:

So, when does the cartridge version come out?

(running and ducking for cover)

Cartridge is where TIPIAC got it's start in life(FG99).

These type of functions seem more native in machine code.

 

Meet the CHRONOS sub-routine!(partial) TIPIAC was modeled after this!

 

doo... doo... doo...

 

       AORG >7200 
AMPERS BYTE >26
ASTERS DATA >2A2A
LLENTH DATA 10
ALARM1 TEXT '&&&&&602&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT '1209A3122399&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
       TEXT 'Q&&&&&&&&&&&&&&&'
ALARM2 TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
       TEXT '**'
ALARM3
 
 
 
MATCH  MOV  @LLENTH,R0
       LI   R3,ALARM1-1
NEXT   LI   R2,PTM
       DEC  R0
       JEQ  OUTSRT
       LI   R1,16
CHANGE DEC  R1
       JEQ  UPDATE
       INC  R3
       CB   *R2+,*R3
       JEQ  CHANGE
       CB   *R3,@AMPERS
       JEQ  CHANGE
FINCNT CI   R1,0
       JEQ  NEXT
       INC  R3
       DEC  R1
       JMP  FINCNT
UPDATE LI   R4,ALARM2
FINDEM C    *R4+,@ASTERS
       JNE  FINDEM
       DECT R4
       MOV  R0,*R4
       JMP  NEXT
OUTSRT RT

 

CHRONOS.thumb.JPG.2dc5e637aaddcc06ec0adca0a52d0d63.JPG

 

Gotcha!:lol:

  • Like 1

Share this post


Link to post
Share on other sites
8 minutes ago, HOME AUTOMATION said:

It needs TERMINAL EMULATOR II for speech to work!:)

I set it, and the alarm when off as set, alert and voice.  

  • Thanks 1

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