misterblack1 / plexus-p20

Information Repository for Plexus Unix computers like the Plexus P/20
38 stars 7 forks source link

Roms_2024_06_09.gar #13

Closed c-logic closed 2 weeks ago

c-logic commented 2 weeks ago

I think the memory addresses have been swapped. In a older issue i found string-tables with absolute adressen and that suggests that U17-merged starts from 0x0800_0000.

c-logic commented 2 weeks ago
                         PTR_ARRAY_00800f50[1]                           XREF[3,1]:   FUN_00800a44:00800a58(*), 
                         PTR_ARRAY_00800f50                                           FUN_008025b4:00802c06(R), 
                                                                                      FUN_008025b4:00802c98(*), 
                                                                                      FUN_00800a44:00800a6a(*)  
    00800f50 00 80 78        char *[16]
             ba 00 80 
             78 c2 00 
       00800f50 00 80 78 ba     char *    s_TSTS1-f_008078ba      [0]           = "TSTS1-f"         XREF[3]:     FUN_00800a44:00800a58(*), 
                                                                                                                 FUN_008025b4:00802c06(R), 
                                                                                                                 FUN_008025b4:00802c98(*)  
       00800f54 00 80 78 c2     char *    s_PROM_008078c2         [1]           = "PROM   "         XREF[1]:     FUN_00800a44:00800a6a(*)  
       00800f58 00 80 78 ca     char *    s_STATIC_008078ca       [2]           = "STATIC "
       00800f5c 00 80 78 d2     char *    s_SIO_008078d2          [3]           = "SIO    "
       00800f60 00 80 78 da     char *    s_MAIN_008078da         [4]           = "MAIN   "
       00800f64 00 80 78 e2     char *    s_JOB_008078e2          [5]           = "JOB    "
       00800f68 00 80 78 ea     char *    s_MAP_008078ea          [6]           = "MAP    "
       00800f6c 00 80 78 f2     char *    s_MAPPER_008078f2       [7]           = "MAPPER "
       00800f70 00 80 78 fa     char *    s_SCSI_008078fa         [8]           = "SCSI   "
       00800f74 00 80 79 02     char *    s_MULTBUS_00807902      [9]           = "MULTBUS"
       00800f78 00 80 79 0a     char *    s_CLOCK_0080790a        [10]          = "CLOCK  "
       00800f7c 00 80 79 12     char *    s_REGSTER_00807912      [11]          = "REGSTER"
       00800f80 00 80 79 1a     char *    s_PRIV_0080791a         [12]          = "PRIV   "
       00800f84 00 80 79 22     char *    s_PARITY_00807922       [13]          = "PARITY "
       00800f88 00 80 79 2a     char *    s_BUS_0080792a          [14]          = "BUS    "
       00800f8c 00 80 79 32     char *    s_PROCS_00807932        [15]          = "PROCS  "
c-logic commented 2 weeks ago
                         RESET                                           XREF[2]:     Entry Point(*), 00800004(*)  
    00800708 2c 7c 00        movea.l    #0xa00021,A6
             a0 00 21
    0080070e 24 3c 00        move.l     #0x800000,D2
             80 00 00
    00800714 4e 7b 28 01     movec      D2,VBR
    00800718 33 fc ff        move.w     #-0x1,(DAT_00e0001a).l
             ff 00 e0 
             00 1a
    00800720 32 7c 00 00     movea.w    #0x0,A1
    00800724 30 3c ff ff     move.w     #-0x1,D0w

the cpu 68000 starts always after a reset with init the stackpointer from the first long at 0x0 and inits the instructionpointer with the second long. it's possible that 0x0080_0000 is the mirrored 0x0

c-logic commented 2 weeks ago

Ghidra online is actually