home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
dbaseii
/
dbcloc11.lbr
/
DBCLOK11.UZD
/
DBCLOK11.UPD
Wrap
Text File
|
1988-04-25
|
4KB
|
86 lines
DBCLOCK.Z80 update
Rick Charnes, 2/20/88, San Francisco
I couldn't get the original version of this to work. I'm
REALLY beginning to enjoy datestamping and was frustrated. dBase
was just returning zeroes for me where it should have been
returning the date and time.
I have version 2.40 of dBase and thought that was the
problem; Bruce was guaranteeing only 2.41 and 2.43. Maybe I
needed a different LOAD address for the HEX file? Maybe that
DBFREE equate in DBCLOCK.Z80 needed to be different for my
version?
I played around with different addresses until I felt like I
had walked around the block six times. I left Bruce a message on
Lillipute Z-Node. He responded and wasn't sure what the problem
could be.
Grrr... I worked with it some more, some more addresses.
You know, sometimes in this computer world one gets a little
compulsive about wanting to know something NOW and you can't wait
for the exceedingly enjoyable but often slow method of
information exchange done through a BBS. Of course you have to
balance that out against the cost of making a phone call -- what
I really wanted to do -- but in this case my need to know won out
over my bank account and I picked up the phone, the results of
which is this update.
The problem, Bruce explained, (I hope I get this right) is
that in his original formulation he assumes that after his CALL
READRTC statements, if DateStamper is present a zero will be
returned, meaning everything is fine and the code should
continue. After my phone call he did some soul-searching (bless
his heart) and realized that there's no particular reason
DateStamper should return a zero. If DS _is_ present and a zero
is _not_ returned by it -- a perfectly legitimate state of
affairs -- the code will not work, and this is exactly what had
been happening with me.
We inserted our XOR A statement immediately after the RETURN:
label later in the code, I reassembled and loaded up dBase once
again, and the angels began dancing.
* * *
By the way, you don't MLOAD this HEX file onto your copy of
DB.COM as you do with most of Bruce's DateStamper overlays.
There's a secret, exotic, dangerous feature of dBaseII to which
only the special and privileged have access, and you are about to
become an initate. dBase can LOAD a HEX file into memory, and if
you look at the DBCLOCK.CMD file you'll see where that happens.
It's this HEX file that is calling DateStamper and reading our
clock.
Now we can write dBase CMD files with the 'DATE()' feature
just like those self-righteous MS-DOSers.
Too bad there's no 'TIME()' command.
* * *
The irony in my acquiring for the first time in February 1988
a date function for dBaseII, a program written in 1983, is that
there's no reason this couldn't have been available 3 or 4 years
ago. I find particularly poignant in this regard Fred Haines'
comment about how he responds when people ask him why in 1988 he
still hasn't moved into the MS-DOS world. "Because I haven't
finished learning how to get the most out of the machines I _do_
have!" The lesson I learn from all this is that "the decline of
the Z80 world" is as much psychological -- people wanting/needing
to 'jump on the bandwagon' not just because 'it's the only way I
can make money' but simply because EVERYONE ELSE IS DOING IT AND
IT MUST THEREFORE BE GOOD AND I DON'T WANT TO BE LEFT OUT - as
technical. The thing with what _we're_ doing is that _we have to
create ourselves, our own world. In our community we work hard
for things others take for granted, small things like a 'DATE()'
command. There is a severe dignity and nobility in this...
Have fun with this, another in the long and still continuing
line of Bruce Morgen's great improvements to our CP/M-compatible
world.
- Rick Charnes