MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues. 2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)

REL: Difference between revisions

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
m (code tag doesn't seem to work - switch to pre)
(moving to OS-9)
Tag: Blanking
Line 1: Line 1:


<pre>
;****************************************************
;* 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
</pre>

Revision as of 13:08, 19 May 2024