Close

memory

A project log for YUL

???

jlbrian7jlbrian7 06/21/2016 at 01:470 Comments
        # http://www.ibiblio.org/apollo/hrst/archive/1689.pdf
        # pg. 4-5

        memory = range(00, 010000)
        bank = range(00, 010)
        super_bank_bit = 0
        
        # Memory adressing
        # http://www.ibiblio.org/apollo/NARA-SW/E-2052.pdf
        # Section 1.1.2 paragraph 2
        

        #Flip-Flop Registers
        A = 00
        L = 01        # also channel 01
        Q = 02        # also channel 02
        EB = 03       # erasable bank register
        FB = 04       # fixed bank register
        Z = 05 
        BB = 06       # both bank registers
        __ = 07       # zeroes

        # 2040 words of eraseable
        ARUPT = 010   # xRUPT = storage for x
        LRUPT = 011   # during interrupt
        QRUPT = 012   # ZRUPT + BRUPT stored
        spare1 = 013  # automatically.
        spare2 = 014
        ZRUPT = 015
        BBRUPT = 016
        BRUPT = 017   # (RIP)

        CYR = 020     # cycle right 1 bit
        SR = 021      # shift right 1 bit
        CYL = 022     # cycle left 1 bit 
        EDOP = 023    # edit (polish) OpCode

        counters = range(024, 060)
        unswitched_eraseable = range(060, 01400)
        switched_E_3 = range(01400, 02000)
        switched_E_4 = range(02000, 02400)
        switched_E_5 = range(02400, 03000)
        switched_E_6 = range(03000, 03400)
        switched_E_8 = range(03400, 04000)
        
        fixed_fixed_02 = range(04000, 06000)
        fixed_fixed_03 = range(06000, 010000)

        #  Fixed memory is a “read only” memory. The programmer may not alter the contents 
        #  of any location in fixed memory, and in fact the hardware will not permit it. 
        #  http://www.ibiblio.org/apollo/NARA-SW/E-2052.pdf Section 1.1.4

        common_fixed_00 = range(010000, 012000)
        common_fixed_01 = range(012000, 014000)
        common_fixed_04 = range(020000, 022000)
        common_fixed_05 = range(022000, 024000)
        common_fixed_06 = range(024000, 026000)
        common_fixed_07 = range(026000, 030000)
        common_fixed_10 = range(030000, 032000)
        common_fixed_11 = range(032000, 034000)
        common_fixed_12 = range(034000, 036000)
        common_fixed_13 = range(036000, 040000)
        common_fixed_14 = range(040000, 042000)
        common_fixed_15 = range(042000, 044000)
        common_fixed_16 = range(044000, 046000)
        common_fixed_17 = range(046000, 050000)
        common_fixed_20 = range(050000, 052000)
        common_fixed_21 = range(052000, 054000)
        common_fixed_22 = range(054000, 056000)
        common_fixed_23 = range(056000, 060000)
        common_fixed_24 = range(060000, 062000)
        common_fixed_25 = range(062000, 064000)
        common_fixed_26 = range(064000, 066000)
        common_fixed_27 = range(066000, 070000)

        super_bank_0_30 = range(070000, 072000)
        super_bank_0_31 = range(072000, 074000)
        super_bank_0_32 = range(074000, 076000)
        super_bank_0_33 = range(076000, 0100000)
        super_bank_0_34 = range(0100000, 0102000)
        super_bank_0_35 = range(0102000, 0104000)
        super_bank_0_36 = range(0104000, 0106000)
        super_bank_0_37 = range(0106000, 0110000)
        
        super_bank_1_30 = range(0110000, 0112000)
        super_bank_1_31 = range(0112000, 0114000)
        super_bank_1_32 = range(0114000, 0116000)
        super_bank_1_34 = range(0116000, 0120000)  

Discussions