A82: SERIOUS OSHELL v2.5 BUG DISCOVERED!!!
[Prev][Next][Index][Thread]
A82: 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