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

Re: Applesoft and RESET



gids.rs@sasktel.net wrote:
So, this is present on IIe and IIc. Too lazy to test on IIgs right
now. But I wonder how it went unnoticed and unfixed for so much time.

Found where the stack gets reset on a IIGS.  $FA62 is the start of the
RESET handler and within the first few bytes of a IIGS, the listing
starts like this

LDA #FB
TCS

which resets the stack pointer right off the bat at the start of the
RESET.  No where in a IIe, IIc, and even a IIc+ is there any code to
reset the stack pointer in the RESET subroutine before it jumps into
the Applesoft cold start at $E000.  Applesoft itself has been
basically untouched from the II+ up to the IIGS, and I am still
collecting and fixing errors in the applesoft code.  I think I am
about up to 30 fixes so far and no entry points have been
compromised.  There is a great article called Bandaids in one of the
Nibble magazines that have some great applesoft fixes.  In some
places, the code is very inefficient but it makes space for some good
patches.

Maybe once I feel that the Applesoft code is fixed and runs the way I
believe it should have been, I might release it for anyone to use in
their emulators.  That is if anyone writes applesoft programs any
more.  Let me know if there is any interest there.

I'd be very interested.

I use Applesoft regularly, and most of my programs use Applesoft at
least for user interactions and other non-performance-critical code.

I've also considered burning new ROM(s) with Applesoft bugs patched,
but have never pulled all the fixes together.  (And I must admit that
I was a little worried about lingering incompatibilities...)

I expect I'll use a double-sized ROM and add a switch.  It would be
interesting to compare results, particularly for the math bugs.  ;-)

-michael

******** Note new website URL ********

NadaNet and AppleCrate II for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."