A85: Re: usgard source...


[Prev][Next][Index][Thread]

A85: Re: usgard source...




The TI85 ROM is not optimized at all, but in a lot of cases this doesn't
matter as the decrease in speed is small. I have found a few places which a
really wierd (like a place which checks if the var name is 8 or less,  if
not it goes into an infinite loop), but most of the code is just not
optimized. There also some places in the ORM which are pretty well written,
atleast I remeber having found code peices which were quite clever.

Usgaard does not suck, you might not like all the features, but it does not
suck. If you want to optimize a shell it will often become disorganized, but
that is not a sign of bad coding, but a sign of lots of optimization. Before
Usgard was released lots of people asked for TSR support, which is why it is
included in Usgard. Personally I do not use it, but some people like. The
best way of implementing interrupts is by making a 257 byte buffer as Usgard
has.

Your shell would probably be slightly faster, but lots of people wouldn't be
able to use, and having to recompile all programs...

----------------------------------------------------------------------
 Dines Justesen
 "ua mau ke ea o ka ai·na i ka po·no"
 dines@aub.dk
 www.student.dtu.dk/~c958362
----------------------------------------------------------------------

----- Original Message -----
From: Robin
To: assembly-85@lists.ticalc.org
Sent: Monday, March 27, 2000 7:29 AM
Subject: A85: usgard source...


i decompiled the usgdstd.85s file and determined Usgard sucks.  the 85 ROM
too.  in particular the ROM calls that use the routine at $337a, and most of
the OP register routines, i.e. like _movetoOP1, ahh, can't remember any
other
86 faxcimilies, but they're there.  i also located the ones that load less
than 11 bytes to the OP reg's.  I used a javascript hex-to-binary converter
i
made to convert all the font characters, too.  and i found the tokens, the
strings used by the TI-OS (try printing the string at $3275), and ahh...
well, did the same for usgard.  here's what i determined about Usgard:

Usgard's disorganized, has 257 bytes at $8D00 for a interrupt vector table
of
$8E's (annoying since i don't use Usgard's interrupts), will herniate itself
if you install more than 6 i think interrupts:  the way the Usgard
interrupts
(if you didn't know) work is the interrupt routine at $8E8E swaps the shadow
reg's, then calls upto six user interrupt routines.  I guess that's the
easiest way to install TSR's.  I know the zShell emulation can be omitted,
i'm
just too lazy.

so, what I have in mind would be this stream-lined rom version v10.0 ONLY
Usgard derrived kernel.  this'd have advantages and disadvantages:  first,
it
won't work with other ROM versions (duh) and every program would need to be
recompiled to run.  advantages?  11 clock cycles (or whatever a call takes)
instead of like 15 or so to call, then jump, etc.  DAMN small.  talking
7-800
bytes small, maybe 900. (no zShell emulation and no interrupt support).
and,
add in a grayscale routine, maybe protect the mem block at $F600 for the
second gray layer, build in a sprite routine (smallest & fastest), ahh, it's
12:30 am.  i'm gonna go to bed.  i'm curious if you guys have any interest.
maybe that dude that's working on the new kernel?? (sorry forget your name)







- Robin
President of ()rion Productions






Get free email and a permanent address at http://www.netaddress.com




References: