Hi Dave, On Sun 08 Apr 2012 at 20:16:59 +0200, davee.roberts@fsmail.net wrote: > 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 added this to my checks, just in case. It seems that Fortran just does a plain JSR to the check routine, at least when starting up. I found out that later on, when running a user program, it goes via the bankswitcher. So I had removed the Fortran address from the JSR ,X patch but I had to add it back anyway. > 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? After updating my checks, I get the same as you, as far as I can see. > 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... I haven't read the manual and at the moment I have to run via a remote X connection (which is very slow with VICE) but I just tried typing RUN after entering those lines into the editor, and it seemed to work. (The sneaky part is that before I got the dongle check right, the run of the program ended with an apparently bogus error message about 'invalid access' or somesuch, and a trip to a debugger) <BEGINNING OF FILE> PRINT,"HALLO WERELD" END <END OF FILE> (some empty lines removed) RUN EXECUTING... HALLO WERELD ...STOP (copy/paste seems to turn stuff to uppercase) So it seems that there is some very subtle bug in the 6809 emulator you're using (since so many other things work fine for you). I have wondered if there is some instruction set validator somewhere, since we have been restructuring a lot in the emulator I started with and it would be nice to be able to check it doesn't break. > Dave Cheers, -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 listReceived on 2012-04-08 20:00:10
Archive generated by hypermail 2.2.0.