DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC3600/RC7000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC3600/RC7000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦59e2fe3d2⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »PH00S«

Derivation

└─⟦a2e222af0⟧ Bits:30001626 DOMUS disk image
    └─ ⟦this⟧ »/PH00S« 

TextFile




; $Id: ZA025,v 1.3 2004/07/01 18:06:38 phk Exp $

;

; Poul-Hennings working version of MCPAR





        .TITL ZP026

        .NREL

        .RDXO 10

        .RDX 10

        .TXTM 1

        .TXTN 1

PGDS: 1B0+1B5

        LAB00

        0

        PCDS-PGDS

        .TXT .ZP026.

LAB00:



BUFF0: .BLK 256.



BUFF: BUFF0



TTADR: TTZON



WELCO: .+1*2

        .TXT .<10><13>BEGIN DISKDUMP<10><13><0>.



DST: .+1

        .TXT .DKP0<0><0>. ; Which driver



MYMSG: .+1

        256.+5

        512.

        BUFF0*2



WHERE: 203.*2.*12.

NSEC: 203.*2.*12.

BP: 0

CSUM: 0

BN: 0

ERRN: 0

LAST: 0

BIRTH:

        LDA 0,.3  ; Open the TTY

        LDA 2,TTADR

        OPEN



 DIA 0,63.  ; Read switches, add to start blockno.

 OUTOCT

 OUTNL



 DIA 0,63. 

 LDA 1,WHERE

 ADDZ 0,1

 STA 1,WHERE



        LDA 0,WELCO  ; Hello world!

        OUTTEXT



LOOP:

 LDA 0,.0

 STA 0,ERRN

 STA 0,LAST



        LDA 0,WHERE  ; Sector number

        JSR OUTW



        LDA 1,MYMSG  ; do read

        LDA 2,DST

        SENDM

 MOVZL # 2,2,SZC

 JSR ERR  ; ERROR 0

 ISZ ERRN

        WAITA



        STA 1,BN

 MOV # 0,0,SZR

 JSR ERR  ; ERROR 1

 ISZ ERRN

 

        LDA 0,BN  ; Byte count

 MOVZR 0,0,SNR

 JSR ERR  ; ERROR 2

 ISZ ERRN

 STA 0,BN

        LDA 2,TTADR

        JSR OUTW

        OUTSP



        LDA 0,BUFF

        STA 0,BP

        LDA 0,.0

        STA 0,CSUM



LOOP2:

        LDA @ 0,BP  ; Update checksum

        LDA 1,CSUM

        ADDZ 0,1

        STA 1,CSUM



 LDA 1,LAST

 STA 0,LAST

 SUBZ# 0,1,SZR

 JMP ENC

 LDA 1,.48

 LDA 2,TTADR

        OUTCH

        JMP NW



ENC:

        JSR OUTW  ; Output word



NW:

        ISZ BP  ; increment pointer

        DSZ BN  ; until sector done

        JMP LOOP2



        OUTSP

        LDA 0,CSUM  ; CHECKSUM

        JSR OUTW

        OUTNL



        ISZ WHERE

        DSZ NSEC

        JMP LOOP



        LDA 0,BYE

        OUTTEXT

        OUTNL

        JMP DEAD

BYE: .+1*2

        .TXT .!!!<13><10>END DISKDUMP<0>.



OUTW:    ; Output a word as three times six bits

        STA 3,OUTWR  ; in three characters.

        JSR OUTX

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        JSR OUTX

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        MOVZR 0,0

        JSR OUTX

        LDA 3,OUTWR

        JMP 0,3

OUTWR: 0



OUTX: STA 3,OUTXR  ; Output six bits as one char.

        STA 0,OUTXT

        LDA 1,.63

        AND 1,0

        ADDZ 0,1  ; offset 63 gives Æ63...126Å

        OUTCH

        LDA 0,OUTXT

        LDA 3,OUTXR

        JMP 0,3

OUTXR: 0

OUTXT: 0





ERR:

 STA 0,ERR0

 STA 1,ERR1

 STA 2,ERR2

 STA 3,ERR3

 LDA 2,TTAD

 LDA 0,ERRTXT

 OUTTEXT

 LDA 0,WHERE

 OUTOCT

 OUTSP

 LDA 0,WHERE

 LDA 1,BOFF

 SUBZ 1,0

 OUTOCT

 OUTSP

 LDA 0,ERRN

 OUTOCT

 OUTSP

 LDA 0,ERR0

 OUTOCT

 OUTSP

 LDA 0,ERR1

 OUTOCT

 OUTSP

 LDA 0,ERR2

 OUTOCT

 OUTSP

 LDA 0,ERR3

 OUTOCT

 OUTSP

 LDA 0,ERR3

 LDA 1,P0

 SUB 1,0

 OUTOCT

 OUTSP

 OUTNL

 JMP DEAD



P0: PGDS

BOFF: 203.*12.*2

ERRTXT: .+1*2

 .TXT .<13><10>ERROR: (BN,BO,ERR,AC0,AC1,AC2,AC3): <0>.

ERR0: 0

ERR1: 0

ERR2: 0

ERR3: 0



TTGIV:

 JSR ERR

DEAD:

        LDA 2,TTAD

        LDA 1,.1

        CLOSE

DIEDIEDIE:

        LDA 1,DEAD1

        LDA 2,DEAD2

        SENDM

        LDA 2,CUR

        STOPP

DEAD1: .+1

        1B8

        0

        0

        0

DEAD2: .+1

        .TXT "S<0><0><0><0><0>"

TTAD: TTZON

TTZON:

        Z.ZON TTY<0><0>,1,3.,512.,U,TTGIV,65533.,0,0

BUFFX:

        Z.MBF PCDS,24.

PCDS:

        Z.PCD ZP026,BUFFX,PGDS,33,DIEDIEDIE,BIRTH

        .END PCDS

.EOT



«nul»