Hi Olaf, There are two ways to get to the destination subroutine from the ROM banksw routine. A "JSR ,X" at address 0xBC0B invokes the destination subroutine after changing the bank register. Another way (if the calling and the called subroutine are within the same bank) is via the "JMP ,X" instruction at address 0xBC1F. You *** may *** have to catch both instructions within the 6809 emulator. I only have the check in the JSR instruction and my version of FORTRAN appears to work OK with my hack (i.e. I don't get any debug messages from the I/O routines associated with the 6702). Is it possible you have a different version of FORTRAN to me? When you get FORTRAN to run ;-) I would be interested if you could run the noddy program: print,"Hello World" end and see if it runs and returns to the editor/compiler or crashes out with an illegal instruction (as mine does). I suspect the 6809 emulator that I am using (sim6809 V0.1 beta). If you use a different 6809 emulator then this would identify the problem - or rule it out. Either way, it could save me a lot of time... Cheers, Dave > Message Received: Apr 08 2012, 06:01 PM > From: "Rhialto" <email@example.com> > To: firstname.lastname@example.org > Cc: > Subject: Re: 6809 / 6702 puzzle > > On Sun 08 Apr 2012 at 17:58:49 +0200, Rhialto wrote: > > + ((ea == 0x960C) && (bank == 0x00)) ||// FORTRAN 1.1 - FAILS AFTER RUN (BUT EDITOR WORKS) (6809 EMULATOR PROBLEM?) > > Maybe Fortran doesn't call its check routine via the bank switcher? > I noticed that when I tried Fortran, my restricted check didn't catch > its dongle check. I'll have to experiment a bit more. > > -Olaf. > -- > ___ Olaf 'Rhialto' Seibert -- There's no point being grown-up if you > \X/ rhialto/at/xs4all.nl -- can't be childish sometimes. -The 4th Doctor > > Message was sent through the cbm-hackers mailing list > Message was sent through the cbm-hackers mailing listReceived on 2012-04-08 19:00:05
Archive generated by hypermail 2.2.0.