Thread View: net.micro.6809
1 messages
1 total messages
Started by Kent D. Meyers
Sun, 09 Nov 1986 03:50
Fixing versions 1.00 and 1.01 for COCO3
Author: Kent D. Meyers
Date: Sun, 09 Nov 1986 03:50
Date: Sun, 09 Nov 1986 03:50
152 lines
3465 bytes
3465 bytes
NAM cc3fix TTL Fix version 1.00 and 1.01 OS9 to run on CoCo3. * Utility to convert Version 1.00.00 and 1.01.00 to a form * that is compatible with the new COCO3. * * If it assembles correctly the ident is: * * Header for: cc3fix * Module size: $0135 #309 * Module CRC: $BFFE45 (Good) * Hdr parity: $1C * Exec. off: $00A1 #161 * Data Size: $00C8 #200 * Edition: $01 #1 * Ty/La At/Rv: $11 $81 * Prog mod, 6809 obj, re-en * Boot the system normally, run cc3fix, and then do a cobbler * to a freshly formatted blank disk. This new system disk will * boot directly on the COCO3 without the memory conflicts that * would previously cause 1.00.00 and 1.01.00 to crash. * The new disk will still work correctly on a COCO1 or COCO2, * but you will lose one 256 byte page of memory. * Kent D. Meyers. November 4, 1986. IFP1 USE DEFSFILE ENDC MOD SIZE,NAME,PRGRM+OBJCT,REENT+1,ENTRY,MSIZ ORG 0 RMB 200 stack MSIZ EQU . NAME FCS "cc3fix" FCB 1 edition OS9NAM FCS 'OS9' SYSGONAM FCS 'SYSGO' BADVERSN FCC " Wrong Version of OS9." FCB $0A FCC " NO patches made!!" FCB $0D PATCHMSG FCC " Already Patched." FCB $0A FCC " NO patches made!!" FCB $0D GOODMSG FCC " Now Compatible with COCO3!!" FCB $0A FCC " OK to run cobbler now!!" FCB $0D * Fix memory limit in OS9 module. ENTRY LEAX OS9NAM,PCR LDA #$C1 OS9 F$LINK LDX M$SIZE,U CMPX #$07E7 BNE WRONGVSN LEAX $BC,U LDD #$F0*$100+$EF CMPA ,X BNE PATCHED STB ,X BSR MVERIFY * Fix the loader that moves the kernel up into high memory. LDX #$F049 LDA #$EF STA ,X STA $F054-$F049,X * Fix warm boot setup in the Sysgo module. * This code may appear a bit strange at first, but I felt that I * had to take into account the fact that many people have made * customized sysgo modules. So the code scans through the module * until it finds the jmp instruction that must be modified. LEAX SYSGONAM,PCR LDA #$C1 OS9 F$LINK PSHS U SETJMP LDD #$F00C PSHS A,B LDA #$7E FINDJMP CMPA ,U+ BNE FINDJMP PULS A,B CMPD ,U BNE SETJMP LDA #$EF STA ,U PULS U BSR MVERIFY * Kill warm reset. It won't work anymore. LDD #$00FF STD >$0071 LEAX GOODMSG,PCR WRITEOUT LDA #2 LDY #80 OS9 I$WRITLN CLRB OS9 F$EXIT WRONGVSN LEAX BADVERSN,PCR BRA WRITEOUT PATCHED LEAX PATCHMSG,PCR BRA WRITEOUT * MVERIFY by Kevin K. Darling ************************************************ * module verify in memory with CRC update. * MVERIFY TFR U,X x is mod address LDY M$SIZE,X y is mod size LEAY -3,Y beginning of chksum TFR Y,D y is byte count LEAU D,U set u to chksum LDA #$FF init chksum STA ,U STA 1,U STA 2,U PSHS U OS9 F$CRC calc new crc PULS U COM ,U+ COM ,U+ COM ,U RTS EMOD SIZE EQU * END
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads