• opcodes

    jlbrian706/21/2016 at 02:03 0 comments

  • arithmatic

    jlbrian706/21/2016 at 02:01 0 comments

  • memory

    jlbrian706/21/2016 at 01:47 0 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)