DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

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

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦659f24c3c⟧ TextFile

    Length: 3146 (0xc4a)
    Types: TextFile
    Names: »UNIT_MAP.S«

Derivation

└─⟦17728abc9⟧ Bits:30005143 8" CR80 Floppy CR80FD_0130 ( CR/D/1422 FLERCPU Source )
    └─⟦1815caf3d⟧ 
        └─ ⟦this⟧ »UNIT_MAP.S« 

TextFile

PROCEDURE UNIT_MAP (R6);
"*************************************************************************
"*************************************************************************

VAR
SAVE:     ARRAY[0..7] OF INTEGER;
TEMPA:     INTEGER;


BEGIN
     R7=>SAVE[7];
     STC(6,ADDRESS(SAVE[7])=>R7);

      STATUS_BASE=>R7;
      COMMAND_BASE=>R5;
      5=>R0;
      0=>R1;
      OUTNEWLINE(R6);
      OUTTEXT(ADDRESS('CPU UNIT-MAPPER (:0:)')=>R3,R6);
      OUTNEWLINE(R6);
      OUTTEXT(ADDRESS('*************** (:0:)')=>R3,R6);
      OUTNEWLINE(R6);
      FLUSHOUT(R6);
      OUTNEWLINE(R6);
      OUTTEXT(ADDRESS('   CPU 0         CPU 1        CPU 2        CPU 3        CPU 4 (:0:)')=>R3,R6);
      OUTNEWLINE(R6);
      OUTTEXT(ADDRESS('________________________________________________________________(:0:)')=>R3,R6);
      OUTNEWLINE(R6);
      FLUSHOUT(R6);


      WHILE R1<>R0 DO
         BEGIN
            R7@INTEGER=>R2;
            R2 EXTRACT 5;
            CASE R2 OF
               0:OUTTEXT(ADDRESS('    MISSING  (:0:)')=>R3,R6);
               1:OUTTEXT(ADDRESS('    IDLING   (:0:)')=>R3,R6);
               2:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               3:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               4:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               5:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               6:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               7:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               8:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               9:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               #A:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               #B:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               #C:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               #D:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               #E:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               #F:OUTTEXT(ADDRESS('   ERROR     (:0:)')=>R3,R6);
               #10:OUTTEXT(ADDRESS('   MASTER   (:0:)')=>R3,R6);
               END;
            R7+1;
            R1+1;
         END;


      OUTNEWLINE(R6);
      FLUSHOUT(R6);
      OUTTEXT(ADDRESS('________________________________________________________________(:0:)')=>R3,R6);
      OUTNEWLINE(R6);
      FLUSHOUT(R6);
      OUTNEWLINE(R6);
      OUTNEWLINE(R6);
      OUTNEWLINE(R6);
      FLUSHOUT(R6);

      STATUS_BASE=>R7;
      0=>R3;
      0=>R1;
      WHILE R1<>R0 DO
         BEGIN
            R7@INTEGER=>R2;
            CASE R2 OF
               0:R0=>R0;
               1:R3+1;
               2:R0=>R0;
               3:R0=>R0;
               4:R0=>R0;
               5:R0=>R0;
               6:R0=>R0;
               7:R0=>R0;
               8:R0=>R0;
               9:R0=>R0;
               #A:R0=>R0;
               #B:R0=>R0;
               #C:R0=>R0;
               #D:R0=>R0;
               #E:R0=>R0;
               #F:R0=>R0;
               #10:R0=>R0;
               END;
            R7+1;
            R1+1;
         END;


      R3=>TEMPA;
     UNS(7,ADDRESS(SAVE[0])=>R7);
      TEMPA=>R3;
     EXIT(R6);
END;
 «a5»