jac@yoko.rutgers.edu (Jonathan A. Chandross) (05/31/91)
Submitted-by: Andy Werner (st6934@siucvmb.bitnet)
Posting-number: Volume 1, Source:49
Archive-name: util/hyperc/time/time
Architecture: ANY_2
Version-number: 1.00
Print out the time under HyperC. No-frills, shows how to use
ProDOS MLI calls under HyperC.
Enjoy.
=Read.Me
-
-time
-Version 1.00
-
-Time Utility for HyperC
-This is freeware. It's also a learning tool to see how HyperC works.
-The included files are :
-
-cclib : Script file to compile unlinked C files
-time.c : C source for time utility
-getime.a : Assembly source for ProDOS MLI time call
-date.a : Assembly source to unpack date after calling ProDOS MLI time
-mk : pseudo-make script to link compiled but unlinked files
-
-Use cclib to compile time.c and use asm65 to compile the assembler files.
-
-For example, to compile getime.a, type :
-
-asm65 -o time.o time.a
-
-Use mk to link all the files ending with .o. Type mk.
-
-Examine the script files to see if they point to the correct subdirectories.
-Adjust them to suit your setup. You can compile time.c down to native code
-(or emulated for you IIgs people...) by editing ccn and deleting the lnk
-phase at the end of that script and renaming the edited file ccnlib for ex-
-ample. I have not tried this at this time but I assume it will work.
-
-The time file as it stands can be placed in your bin subdirectory. When you
-type time at the keyboard, the program will respond by displaying the time
-and date. This program assumes you have a clock-calendar attached to your
-system. This program attempts to mimic the time() function of UNIX and ANSI C.
-As I'm not on a UNIX site I'd like to get feedback from those of you who are.
-I'm also interested in writing an asctime() function and mimicing clk_tck.
-
-You can send your comments to me at:
-
- Andy Werner
- st6934@siucvmb.bitnet
- March 18, 1991.
-
-ProDOS is a trademark of Apple Computer, Inc.
-UNIX is a trademark(?) of A.T.T.
-HyperC is a trademark of the WSM Group, Inc.
-
=Manifest
-
-Read.Me
-cclib
-date.a
-getime.a
-mk
-time.c
-
=cclib
-;
-; batch file for compiling C programs...
-; NOTE: Do NOT specify the ".c" ending the source filename!
-;
-/csys/bin/ppf -i |/csys/hdrs/ -o $1.p $1.c
-/csys/bin/hyperc -o $1.s $1.p
-rm $1.p
-/csys/bin/asmcp -o $1.o $1.s
-
-
-
=date.a
-;
-; unpack date
-; by Andy Werner
-; march 12,1991
-;
-
-.entry _unpack_date
- _unpack_date:
- lda 0xbf90
- and #0x1f ; mask : 0001 1111
- sta _day
- lda 0xbf91
- lsr a
- sta _year
- lda 0xbf90
- and #0xe0 ; mask : 1110 0000
- lsr a
- lsr a
- lsr a
- lsr a
- lsr a
- sta _month
- lda 0xbf91
- and #0xfe ; mask : 1111 1110
- asl a
- asl a
- asl a
- clc
- adc #_month
- sta _month
- rts
-
- .data
- .entry _year
-_year:
- .byte 00
-
- .entry _month
-_month:
- .byte 00
-
- .entry _day
-_day:
- .byte 00
-
=getime.a
-
-; time.a
-; prodos mli call to set the time
-;
-prodos = 0xbf00
-time = 0x82
-
-.entry _get_time
-
-_get_time:
-
- jsr prodos
- .byte time
- .word 0000
- rts
-
-
-
-
=mk
-;
-; Script file to make time utility.
-; examine the script to make sure that your utilities and libraries
-; can be found by this script. Adjust accordingly.
-;
-/csys/bin/lnk -l |/csys/libs/ -a -o time &s.o time.o getime.o date.o &libc
-
=time.c
-
-/* time.cc
- * call prodos time
- * use anchored variables to print time
- * this is a test
- */
-
-#include <std.h>
-
-EXTERN VOID get_time();
-EXTERN VOID pack_date();
-
-EXTERN CHAR year;
-EXTERN CHAR month;
-EXTERN CHAR day;
-
-CHAR hour @0xbf93;
-CHAR minute @0xbf92;
-
-VOID main()
-
-{
-
- get_time();
- printf("The time is %02d:%02d\n",hour,minute);
- unpack_date();
- printf("The date is %02d/%02d/%02d\n",month, day, year);
- exit();
-
-}
+ END OF ARCHIVE