
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.cocopedia.com/wiki/index.php?action=history&amp;feed=atom&amp;title=OS-9%3AREL</id>
	<title>OS-9:REL - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.cocopedia.com/wiki/index.php?action=history&amp;feed=atom&amp;title=OS-9%3AREL"/>
	<link rel="alternate" type="text/html" href="https://www.cocopedia.com/wiki/index.php?title=OS-9:REL&amp;action=history"/>
	<updated>2026-04-28T00:09:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.cocopedia.com/wiki/index.php?title=OS-9:REL&amp;diff=11041&amp;oldid=prev</id>
		<title>ExileInParadise: initial RELocate boot track for OS-9 Level 1 v1.0 disassembled and commented</title>
		<link rel="alternate" type="text/html" href="https://www.cocopedia.com/wiki/index.php?title=OS-9:REL&amp;diff=11041&amp;oldid=prev"/>
		<updated>2024-05-19T13:09:45Z</updated>

		<summary type="html">&lt;p&gt;initial RELocate boot track for OS-9 Level 1 v1.0 disassembled and commented&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;****************************************************&lt;br /&gt;
;* Used Labels                                      *&lt;br /&gt;
;****************************************************&lt;br /&gt;
&lt;br /&gt;
M0000   EQU     $0000&lt;br /&gt;
M0001   EQU     $0001&lt;br /&gt;
M0008   EQU     $0008&lt;br /&gt;
M000C   EQU     $000C&lt;br /&gt;
M0012   EQU     $0012&lt;br /&gt;
D.FMBM  EQU     $0020&lt;br /&gt;
M0022   EQU     $0022&lt;br /&gt;
D.MLIM  EQU     $0024&lt;br /&gt;
D.ModDir EQU     $0026&lt;br /&gt;
M0028   EQU     $0028&lt;br /&gt;
M002A   EQU     $002A&lt;br /&gt;
D.NMI   EQU     $002C&lt;br /&gt;
M002E   EQU     $002E&lt;br /&gt;
M0036   EQU     $0036&lt;br /&gt;
D.SvcIRQ EQU     $0038&lt;br /&gt;
Z003A   EQU     $003A&lt;br /&gt;
M003C   EQU     $003C&lt;br /&gt;
M003E   EQU     $003E&lt;br /&gt;
M003F   EQU     $003F&lt;br /&gt;
M0040   EQU     $0040&lt;br /&gt;
M0041   EQU     $0041&lt;br /&gt;
M0042   EQU     $0042&lt;br /&gt;
M0043   EQU     $0043&lt;br /&gt;
D.UsrDis EQU     $0044&lt;br /&gt;
D.SysDis EQU     $0046&lt;br /&gt;
M0048   EQU     $0048&lt;br /&gt;
M0049   EQU     $0049&lt;br /&gt;
D.PROC  EQU     $004B&lt;br /&gt;
M004D   EQU     $004D&lt;br /&gt;
M004F   EQU     $004F&lt;br /&gt;
M0051   EQU     $0051&lt;br /&gt;
M0053   EQU     $0053&lt;br /&gt;
M0055   EQU     $0055&lt;br /&gt;
M0057   EQU     $0057&lt;br /&gt;
M005B   EQU     $005B&lt;br /&gt;
M0066   EQU     $0066&lt;br /&gt;
M0068   EQU     $0068&lt;br /&gt;
M0072   EQU     $0072&lt;br /&gt;
M0081   EQU     $0081&lt;br /&gt;
M00FF   EQU     $00FF&lt;br /&gt;
M0100   EQU     $0100&lt;br /&gt;
M0109   EQU     $0109&lt;br /&gt;
M010A   EQU     $010A&lt;br /&gt;
M016F_via_cvec_2e46 EQU     $016F&lt;br /&gt;
M0175_via_cvec_2e48 EQU     $0175&lt;br /&gt;
M017B_via_cvec_2e4a EQU     $017B&lt;br /&gt;
M017C_via_cvec_2e4c EQU     $017C&lt;br /&gt;
M0180_via_cvec_2e4e EQU     $0180&lt;br /&gt;
M01CA_via_cvec_2e44 EQU     $01CA&lt;br /&gt;
M01FF   EQU     $01FF&lt;br /&gt;
M0200   EQU     $0200&lt;br /&gt;
M03E0   EQU     $03E0&lt;br /&gt;
M0F00   EQU     $0F00&lt;br /&gt;
M0FE3   EQU     $0FE3&lt;br /&gt;
M222E   EQU     $222E&lt;br /&gt;
M8000   EQU     $8000&lt;br /&gt;
M8021   EQU     $8021&lt;br /&gt;
M810C   EQU     $810C&lt;br /&gt;
M87CD   EQU     $87CD&lt;br /&gt;
MC350   EQU     $C350&lt;br /&gt;
MF000   EQU     $F000&lt;br /&gt;
ZF056   EQU     $F056                    ; LOCATE OS9 MODULE START&lt;br /&gt;
PIA0AD  EQU     $FF00&lt;br /&gt;
PIA0BC  EQU     $FF03&lt;br /&gt;
DSKREG  EQU     $FF40&lt;br /&gt;
FDCREG  EQU     $FF48&lt;br /&gt;
FDCTRKREG EQU     $FF49&lt;br /&gt;
FDCSECREG EQU     $FF4A&lt;br /&gt;
FDCDATREG EQU     $FF4B&lt;br /&gt;
SAMF0CLR EQU     $FFC6&lt;br /&gt;
SAMTYSET EQU     $FFDF&lt;br /&gt;
RESETV  EQU     $FFFE&lt;br /&gt;
RESETV  EQU     $FFFF&lt;br /&gt;
&lt;br /&gt;
;****************************************************&lt;br /&gt;
;* Program Code / Data Areas                        *&lt;br /&gt;
;****************************************************&lt;br /&gt;
&lt;br /&gt;
        ORG     $2600&lt;br /&gt;
&lt;br /&gt;
BOOTSIG FCC     &amp;quot;OS&amp;quot;                     ;2600: 4F 53          &amp;#039;OS&amp;#039;    DOS BOOTTRACK OS SIGNATURE&lt;br /&gt;
EXECADDR FDB     REL                      ;2602: 26 0C          &amp;#039;&amp;amp;.&amp;#039;    EXECUTION START ADDRESS&lt;br /&gt;
OS9_BOOT FCC     &amp;quot;OSy`BOOT&amp;quot;               ;2604: 4F 53 79 60 42 4F 4F 54 &amp;#039;OSy`BOOT&amp;#039; OS-9 BOOT SCREEN STRING&lt;br /&gt;
; START OF REL &amp;quot;MODULE&amp;quot;&lt;br /&gt;
REL     CLR     PIA0BC                   ;260C: 7F FF 03       &amp;#039;...&amp;#039;   DISABLE VSYNC&lt;br /&gt;
        STA     SAMTYSET                 ;260F: B7 FF DF       &amp;#039;...&amp;#039;   SAM MAP TYPE=1 &amp;quot;ALL RAM&amp;quot;&lt;br /&gt;
        LDB     #$06                     ;2612: C6 06          &amp;#039;..&amp;#039;    SET COUNTDOWN TO CLEAR 7 BITS (B=6)&lt;br /&gt;
        LDX     #SAMF0CLR                ;2614: 8E FF C6       &amp;#039;...&amp;#039;   START WITH SAM DISPLAY OFFSET F0 BIT&lt;br /&gt;
REL10   STA     ,X++                     ;2617: A7 81          &amp;#039;..&amp;#039;    CLEAR THE DISPLAY OFFSET BIT THEN X=X+2&lt;br /&gt;
        DECB                             ;2619: 5A             &amp;#039;Z&amp;#039;     COUNT DOWN 1&lt;br /&gt;
        BNE     REL10                    ;261A: 26 FB          &amp;#039;&amp;amp;.&amp;#039;    DID WE CLEAR OUR 7TH BIT (B=0)&lt;br /&gt;
        STA     $01,X                    ;261C: A7 01          &amp;#039;..&amp;#039;    YES, SET DISPLAY OFFSET SCREEN AT $8000&lt;br /&gt;
; CLEAR SCREEN WITH SPACES&lt;br /&gt;
        LDX     #M8000                   ;261E: 8E 80 00       &amp;#039;...&amp;#039;&lt;br /&gt;
        LDY     #M0200                   ;2621: 10 8E 02 00    &amp;#039;....&amp;#039;&lt;br /&gt;
        LDA     #$60                     ;2625: 86 60          &amp;#039;.`&amp;#039;&lt;br /&gt;
REL20   STA     ,X+                      ;2627: A7 80          &amp;#039;..&amp;#039;&lt;br /&gt;
        DEY                              ;2629: 31 3F          &amp;#039;1?&amp;#039;&lt;br /&gt;
        BNE     REL20                    ;262B: 26 FA          &amp;#039;&amp;amp;.&amp;#039;&lt;br /&gt;
; PUT BANNER ONTO SCREEN&lt;br /&gt;
        LDX     #M810C                   ;262D: 8E 81 0C       &amp;#039;...&amp;#039;&lt;br /&gt;
        LEAY    OS9_BOOT,PCR             ;2630: 31 8C D1       &amp;#039;1..&amp;#039;&lt;br /&gt;
        LDB     #$08                     ;2633: C6 08          &amp;#039;..&amp;#039;&lt;br /&gt;
REL30   LDA     ,Y+                      ;2635: A6 A0          &amp;#039;..&amp;#039;&lt;br /&gt;
        STA     ,X+                      ;2637: A7 80          &amp;#039;..&amp;#039;&lt;br /&gt;
        DECB                             ;2639: 5A             &amp;#039;Z&amp;#039;&lt;br /&gt;
        BNE     REL30                    ;263A: 26 F9          &amp;#039;&amp;amp;.&amp;#039;&lt;br /&gt;
; FIXME WHAT IS THIS&lt;br /&gt;
        TST     M0072                    ;263C: 0D 72          &amp;#039;.r&amp;#039;    FIXME TEST ALREADY RELOCATED FLAG?&lt;br /&gt;
        BEQ     REL50                    ;263E: 27 13          &amp;#039;&amp;#039;.&amp;#039;&lt;br /&gt;
; START RELOCATING&lt;br /&gt;
        LEAU    &amp;gt;BOOTSIG,PCR             ;2640: 33 8D FF BC    &amp;#039;3...&amp;#039;&lt;br /&gt;
        LDX     #M0F00                   ;2644: 8E 0F 00       &amp;#039;...&amp;#039;&lt;br /&gt;
        LDY     #MF000                   ;2647: 10 8E F0 00    &amp;#039;....&amp;#039;&lt;br /&gt;
REL40   LDA     ,U+                      ;264B: A6 C0          &amp;#039;..&amp;#039;&lt;br /&gt;
        STA     ,Y+                      ;264D: A7 A0          &amp;#039;..&amp;#039;&lt;br /&gt;
        DEX                              ;264F: 30 1F          &amp;#039;0.&amp;#039;&lt;br /&gt;
        BNE     REL40                    ;2651: 26 F8          &amp;#039;&amp;amp;.&amp;#039;&lt;br /&gt;
; RELOCATION COMPLETE, PREPARE FOR OS9 MODULE COLD START&lt;br /&gt;
REL50   JMP     ZF056                    ;2653: 7E F0 56       &amp;#039;~.V&amp;#039;   JUMP TO RELOCATED MODULES&lt;br /&gt;
        LEAX    &amp;lt;M01SYNC,PCR             ;2656: 30 8C 04       &amp;#039;0..&amp;#039;   LOCATE OS9 MODULE START&lt;br /&gt;
        LDD     $09,X                    ;2659: EC 09          &amp;#039;..&amp;#039;    LOCATE OS9 EXEC ADDRESS&lt;br /&gt;
        JMP     D,X                      ;265B: 6E 8B          &amp;#039;n.&amp;#039;    JUMP INTO OS9 MODULE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>ExileInParadise</name></author>
	</entry>
</feed>