MediaWiki:Sitenotice
2026-03-12: Cocopedia.com is now using a new caching system that should make things faster. Please let me know if you encounter any new issues. OS-9 Al (talk)

REL

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Revision as of 13:06, 19 May 2024 by ExileInParadise (talk | contribs) (intiial load of disassembled and commented OS-9 Level 1 v1.0 boot track relocation code)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

  • Used Labels *

M0000 EQU $0000 M0001 EQU $0001 M0008 EQU $0008 M000C EQU $000C M0012 EQU $0012 D.FMBM EQU $0020 M0022 EQU $0022 D.MLIM EQU $0024 D.ModDir EQU $0026 M0028 EQU $0028 M002A EQU $002A D.NMI EQU $002C M002E EQU $002E M0036 EQU $0036 D.SvcIRQ EQU $0038 Z003A EQU $003A M003C EQU $003C M003E EQU $003E M003F EQU $003F M0040 EQU $0040 M0041 EQU $0041 M0042 EQU $0042 M0043 EQU $0043 D.UsrDis EQU $0044 D.SysDis EQU $0046 M0048 EQU $0048 M0049 EQU $0049 D.PROC EQU $004B M004D EQU $004D M004F EQU $004F M0051 EQU $0051 M0053 EQU $0053 M0055 EQU $0055 M0057 EQU $0057 M005B EQU $005B M0066 EQU $0066 M0068 EQU $0068 M0072 EQU $0072 M0081 EQU $0081 M00FF EQU $00FF M0100 EQU $0100 M0109 EQU $0109 M010A EQU $010A M016F_via_cvec_2e46 EQU $016F M0175_via_cvec_2e48 EQU $0175 M017B_via_cvec_2e4a EQU $017B M017C_via_cvec_2e4c EQU $017C M0180_via_cvec_2e4e EQU $0180 M01CA_via_cvec_2e44 EQU $01CA M01FF EQU $01FF M0200 EQU $0200 M03E0 EQU $03E0 M0F00 EQU $0F00 M0FE3 EQU $0FE3 M222E EQU $222E M8000 EQU $8000 M8021 EQU $8021 M810C EQU $810C M87CD EQU $87CD MC350 EQU $C350 MF000 EQU $F000 ZF056 EQU $F056  ; LOCATE OS9 MODULE START PIA0AD EQU $FF00 PIA0BC EQU $FF03 DSKREG EQU $FF40 FDCREG EQU $FF48 FDCTRKREG EQU $FF49 FDCSECREG EQU $FF4A FDCDATREG EQU $FF4B SAMF0CLR EQU $FFC6 SAMTYSET EQU $FFDF RESETV EQU $FFFE RESETV EQU $FFFF

  • Program Code / Data Areas *
       ORG     $2600

BOOTSIG FCC "OS" ;2600: 4F 53 'OS' DOS BOOTTRACK OS SIGNATURE EXECADDR FDB REL ;2602: 26 0C '&.' EXECUTION START ADDRESS OS9_BOOT FCC "OSy`BOOT" ;2604: 4F 53 79 60 42 4F 4F 54 'OSy`BOOT' OS-9 BOOT SCREEN STRING

START OF REL "MODULE"

REL CLR PIA0BC ;260C: 7F FF 03 '...' DISABLE VSYNC

       STA     SAMTYSET                 ;260F: B7 FF DF       '...'   SAM MAP TYPE=1 "ALL RAM"
       LDB     #$06                     ;2612: C6 06          '..'    SET COUNTDOWN TO CLEAR 7 BITS (B=6)
       LDX     #SAMF0CLR                ;2614: 8E FF C6       '...'   START WITH SAM DISPLAY OFFSET F0 BIT

REL10 STA ,X++ ;2617: A7 81 '..' CLEAR THE DISPLAY OFFSET BIT THEN X=X+2

       DECB                             ;2619: 5A             'Z'     COUNT DOWN 1
       BNE     REL10                    ;261A: 26 FB          '&.'    DID WE CLEAR OUR 7TH BIT (B=0)
       STA     $01,X                    ;261C: A7 01          '..'    YES, SET DISPLAY OFFSET SCREEN AT $8000
CLEAR SCREEN WITH SPACES
       LDX     #M8000                   ;261E: 8E 80 00       '...'
       LDY     #M0200                   ;2621: 10 8E 02 00    '....'
       LDA     #$60                     ;2625: 86 60          '.`'

REL20 STA ,X+ ;2627: A7 80 '..'

       DEY                              ;2629: 31 3F          '1?'
       BNE     REL20                    ;262B: 26 FA          '&.'
PUT BANNER ONTO SCREEN
       LDX     #M810C                   ;262D: 8E 81 0C       '...'
       LEAY    OS9_BOOT,PCR             ;2630: 31 8C D1       '1..'
       LDB     #$08                     ;2633: C6 08          '..'

REL30 LDA ,Y+ ;2635: A6 A0 '..'

       STA     ,X+                      ;2637: A7 80          '..'
       DECB                             ;2639: 5A             'Z'
       BNE     REL30                    ;263A: 26 F9          '&.'
FIXME WHAT IS THIS
       TST     M0072                    ;263C: 0D 72          '.r'    FIXME TEST ALREADY RELOCATED FLAG?
       BEQ     REL50                    ;263E: 27 13          .'
START RELOCATING
       LEAU    >BOOTSIG,PCR             ;2640: 33 8D FF BC    '3...'
       LDX     #M0F00                   ;2644: 8E 0F 00       '...'
       LDY     #MF000                   ;2647: 10 8E F0 00    '....'

REL40 LDA ,U+ ;264B: A6 C0 '..'

       STA     ,Y+                      ;264D: A7 A0          '..'
       DEX                              ;264F: 30 1F          '0.'
       BNE     REL40                    ;2651: 26 F8          '&.'
RELOCATION COMPLETE, PREPARE FOR OS9 MODULE COLD START

REL50 JMP ZF056 ;2653: 7E F0 56 '~.V' JUMP TO RELOCATED MODULES

       LEAX    <M01SYNC,PCR             ;2656: 30 8C 04       '0..'   LOCATE OS9 MODULE START
       LDD     $09,X                    ;2659: EC 09          '..'    LOCATE OS9 EXEC ADDRESS
       JMP     D,X                      ;265B: 6E 8B          'n.'    JUMP INTO OS9 MODULE