SERIOUS OSHELL v2.5 BUG DISCOVERED!!!


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

SERIOUS OSHELL v2.5 BUG DISCOVERED!!!



While translating code from ASH -> OShell-82, I came across a bug that
could prove VERY SERIOUS in some cases.

At first I thought it was my ROM_CALL I developed for ASH routines that are
not in OShell-82.  This proved not to be the case.  I found out that the
further away your strings were from the ROM_CALL routines, the more likely
the strings would "shift" to the left.  It happens to be that the
(PROGRAM_ADDR) tends to be off by one the further away the strings are to
it...NOT the ROM_CALL routines.  The OShell-82 team better straighten its
program out before someone gets mad (namely me).  However, I came up with a
TEMPORARY solution to this problem:

Change your code wherever the problem shows:

LD HL,PointerToString
LD DE,(PROGRAM_ADDR)
ADD HL,DE

That should become:

LD HL,PointerToString-1
LD DE,(PROGRAM_ADDR)
ADD HL,DE

This is the fastest and shortest way (in bytes) to do this.


MAKE SURE JASON TODD AT toddlers@erinet.com GETS THIS MESSAGE LOUD AND CLEAR!




                 Thomas J. Hruska -- thruska@tir.com
Shining Light Productions -- "Meeting the needs of fellow programmers"
         http://www.geocities.com/SiliconValley/Heights/8504
                    http://shinelight.home.ml.org