示例#1
0
def tromsetinst(romaddr, inst, ROMNAME):
    line = libSBTCVM.numstruct(romaddr)
    global AROM
    global BROM
    global CROM
    global DROM
    global EROM
    global FROM
    global ROMDICT
    if ROMNAME == TROMA:
        datax = (AROM[line])[6] + (AROM[line])[7] + (AROM[line])[8] + (
            AROM[line])[9] + (AROM[line])[10] + (AROM[line])[11] + (
                AROM[line])[12] + (AROM[line])[13] + (AROM[line])[14]
        AROM[line] = (inst + datax)
        if logwrites == 1:

            tromlog1.write("SET inst. TROMA, Addr:" + romaddr + " line:" +
                           str(line) + " inst:" + inst + "\n")
    elif ROMNAME == TROMB:
        datax = (BROM[line])[6] + (BROM[line])[7] + (BROM[line])[8] + (
            BROM[line])[9] + (BROM[line])[10] + (BROM[line])[11] + (
                BROM[line])[12] + (BROM[line])[13] + (BROM[line])[14]
        BROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET inst. TROMB, Addr:" + romaddr + " line:" +
                           str(line) + " inst:" + inst + "\n")
    elif ROMNAME == TROMC:
        datax = (CROM[line])[6] + (CROM[line])[7] + (CROM[line])[8] + (
            CROM[line])[9] + (CROM[line])[10] + (CROM[line])[11] + (
                CROM[line])[12] + (CROM[line])[13] + (CROM[line])[14]
        CROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET inst. TROMC, Addr:" + romaddr + " line:" +
                           str(line) + " inst:" + inst + "\n")
    elif ROMNAME == TROMD:
        datax = (DROM[line])[6] + (DROM[line])[7] + (DROM[line])[8] + (
            DROM[line])[9] + (DROM[line])[10] + (DROM[line])[11] + (
                DROM[line])[12] + (DROM[line])[13] + (DROM[line])[14]
        DROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET inst. TROMD, Addr:" + romaddr + " line:" +
                           str(line) + " inst:" + inst + "\n")
    elif ROMNAME == TROME:
        datax = (EROM[line])[6] + (EROM[line])[7] + (EROM[line])[8] + (
            EROM[line])[9] + (EROM[line])[10] + (EROM[line])[11] + (
                EROM[line])[12] + (EROM[line])[13] + (EROM[line])[14]
        EROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET inst. TROME, Addr:" + romaddr + " line:" +
                           str(line) + " inst:" + inst + "\n")
    elif ROMNAME == TROMF:
        datax = (FROM[line])[6] + (FROM[line])[7] + (FROM[line])[8] + (
            FROM[line])[9] + (FROM[line])[10] + (FROM[line])[11] + (
                FROM[line])[12] + (FROM[line])[13] + (FROM[line])[14]
        FROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET inst. TROMF, Addr:" + romaddr + " line:" +
                           str(line) + " inst:" + inst + "\n")
    ROMDICT[ROMNAME][line] = (inst + datax)
示例#2
0
def sampleconv(offset, length, bank, freq):
	samplebuff=""
	
	dlen=abs(libbaltcalc.BTTODEC(length)+9841)
	for x in xrange(1, dlen):
		samplebuff=samplebuff+(bank[libSBTCVM.numstruct(offset)])[6:]
		offset=libbaltcalc.btadd(offset, "+")
	return PCMcrunch(samplebuff, freq)
示例#3
0
def tromsetdata(romaddr, datax, ROMNAME):
    line = libSBTCVM.numstruct(romaddr)
    global AROM
    global BROM
    global CROM
    global DROM
    global EROM
    global FROM
    global ROMDICT
    if ROMNAME == TROMA:
        inst = (AROM[line])[0] + (AROM[line])[1] + (AROM[line])[2] + (
            AROM[line])[3] + (AROM[line])[4] + (AROM[line])[5]
        AROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET DATA. TROMA, Addr:" + romaddr + " line:" +
                           str(line) + " Data:" + datax + "\n")
    elif ROMNAME == TROMB:
        inst = (BROM[line])[0] + (BROM[line])[1] + (BROM[line])[2] + (
            BROM[line])[3] + (AROM[line])[4] + (AROM[line])[5]
        BROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET DATA. TROMB, Addr:" + romaddr + " line:" +
                           str(line) + " Data:" + datax + "\n")
    elif ROMNAME == TROMC:
        inst = (CROM[line])[0] + (CROM[line])[1] + (CROM[line])[2] + (
            CROM[line])[3] + (AROM[line])[4] + (AROM[line])[5]
        CROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET DATA. TROMC, Addr:" + romaddr + " line:" +
                           str(line) + " Data:" + datax + "\n")
    elif ROMNAME == TROMD:
        inst = (DROM[line])[0] + (DROM[line])[1] + (DROM[line])[2] + (
            DROM[line])[3] + (AROM[line])[4] + (AROM[line])[5]
        DROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET DATA. TROMD, Addr:" + romaddr + " line:" +
                           str(line) + " Data:" + datax + "\n")
    elif ROMNAME == TROME:
        inst = (EROM[line])[0] + (EROM[line])[1] + (EROM[line])[2] + (
            EROM[line])[3] + (AROM[line])[4] + (AROM[line])[5]
        EROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET DATA. TROME, Addr:" + romaddr + " line:" +
                           str(line) + " Data:" + datax + "\n")
    elif ROMNAME == TROMF:
        inst = (FROM[line])[0] + (FROM[line])[1] + (FROM[line])[2] + (
            FROM[line])[3] + (AROM[line])[4] + (AROM[line])[5]
        FROM[line] = (inst + datax)
        if logwrites == 1:
            tromlog1.write("SET DATA. TROMF, Addr:" + romaddr + " line:" +
                           str(line) + " Data:" + datax + "\n")
    ROMDICT[ROMNAME][line] = (inst + datax)
示例#4
0
def tromreaddata(romaddr, ROMNAME):
    line = libSBTCVM.numstruct(romaddr)
    #n = open(ROMNAME)
    linecnt = 1
    if ROMNAME == TROMA:
        fdelta = AROM[line]
        if logreads == 1:
            tromlog1.write("READ DATA. TROMA, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMB:
        fdelta = BROM[line]
        if logreads == 1:
            tromlog1.write("READ DATA. TROMB, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMC:
        fdelta = CROM[line]
        if logreads == 1:
            tromlog1.write("READ DATA. TROMC, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMD:
        fdelta = DROM[line]
        if logreads == 1:
            tromlog1.write("READ DATA. TROMD, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROME:
        fdelta = EROM[line]
        if logreads == 1:
            tromlog1.write("READ DATA. TROME, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMF:
        fdelta = FROM[line]
        if logreads == 1:
            tromlog1.write("READ DATA. TROMF, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    #for fdelta in n:
    #	if linecnt==line:
    dataret = ((fdelta[6]) + (fdelta[7]) + (fdelta[8]) + (fdelta[9]) +
               (fdelta[10]) + (fdelta[11]) + (fdelta[12]) + (fdelta[13]) +
               (fdelta[14]))
    return dataret
示例#5
0
def tromreadinst(romaddr, ROMNAME):
    line = libSBTCVM.numstruct(romaddr)
    #n = open(ROMNAME)
    linecnt = 1
    #for fdelta in n:
    #	if linecnt==line:
    if ROMNAME == TROMA:
        fdelta = AROM[line]
        if logreads == 1:
            tromlog1.write("READ INST. TROMA, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMB:
        fdelta = BROM[line]
        if logreads == 1:
            tromlog1.write("READ INST. TROMB, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMC:
        fdelta = CROM[line]
        if logreads == 1:
            tromlog1.write("READ INST. TROMC, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMD:
        fdelta = DROM[line]
        if logreads == 1:
            tromlog1.write("READ INST. TROMD, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROME:
        fdelta = EROM[line]
        if logreads == 1:
            tromlog1.write("READ INST. TROME, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    elif ROMNAME == TROMF:
        fdelta = FROM[line]
        if logreads == 1:
            tromlog1.write("READ INST. TROMF, Addr:" + romaddr + " line:" +
                           str(line) + "\n")
    dataret = ((fdelta[0]) + (fdelta[1]) + (fdelta[2]) + (fdelta[3]) +
               (fdelta[4]) + (fdelta[5]))

    return dataret
示例#6
0
    def render(self, x=0, y=0):
        if self.mode == "G0":
            dispsurf0.lock()
            self.pixy = 0
            self.pixx = 0
            self.chunkcnt = 0
            self.addr = self.offset
            self.chunk = self.membus[libSBTCVM.numstruct(self.addr)]
            while self.pixy != 81:
                self.pixx = 0
                while self.pixx != 114:
                    if self.chunkcnt == 0:
                        self.chunkcnt = 1
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[6]) + (self.chunk[7]) +
                                     (self.chunk[8]))
                    elif self.chunkcnt == 1:
                        self.chunkcnt = 2
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[9]) + (self.chunk[10]) +
                                     (self.chunk[11]))
                    elif self.chunkcnt == 2:
                        self.chunkcnt = 0

                        self.part = ((self.chunk[12]) + (self.chunk[13]) +
                                     (self.chunk[14]))
                        self.addr = libSBTCVM.trunkto6(
                            libbaltcalc.btadd(self.addr, "+"))
                        self.chunk = self.membus[libSBTCVM.numstruct(
                            self.addr)]
                    self.R1 = shadlook0(self.part[0])
                    self.G1 = shadlook0(self.part[1])
                    self.B1 = shadlook0(self.part[2])
                    #print (self.R1, self.G1, self.B1)
                    #dispsurf0.set_at((self.pixx, self.pixy),(self.R1, self.G1, self.B1))
                    dispsurf0pixarray[self.pixx,
                                      self.pixy] = (self.R1, self.G1, self.B1)
                    self.pixx += 1
                self.pixy += 1
            dispsurf0.unlock()
            return self.screensurf.blit(
                pygame.transform.scale(dispsurf0, (648, 460)), (x, y))
        if self.mode == "G2":
            dispsurf0.lock()
            self.pixy = 0
            self.pixx = 0
            self.chunkcnt = 0
            self.addr = self.offset
            self.chunk = self.membus[libSBTCVM.numstruct(self.addr)]
            while self.pixy != 81:
                self.pixx = 0
                while self.pixx != 114:
                    if self.chunkcnt == 0:
                        self.chunkcnt = 1
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[6]))
                    elif self.chunkcnt == 1:
                        self.chunkcnt = 2
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[7]))
                    elif self.chunkcnt == 2:
                        self.chunkcnt = 3
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[8]))
                    elif self.chunkcnt == 3:
                        self.chunkcnt = 4
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[9]))
                    elif self.chunkcnt == 4:
                        self.chunkcnt = 5
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[10]))
                    elif self.chunkcnt == 5:
                        self.chunkcnt = 6
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[11]))
                    elif self.chunkcnt == 6:
                        self.chunkcnt = 7
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[12]))
                    elif self.chunkcnt == 7:
                        self.chunkcnt = 8
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[13]))
                    elif self.chunkcnt == 8:
                        self.chunkcnt = 0

                        self.part = ((self.chunk[14]))
                        self.addr = libSBTCVM.trunkto6(
                            libbaltcalc.btadd(self.addr, "+"))
                        self.chunk = self.membus[libSBTCVM.numstruct(
                            self.addr)]
                    self.GREY = shadlook0mapped0(self.part)
                    #dispsurf0.set_at((self.pixx, self.pixy),(self.GREY, self.GREY, self.GREY))
                    dispsurf0pixarray[self.pixx, self.pixy] = self.GREY
                    #print self.chunkcnt
                    #print self.pixx
                    #print self.pixy
                    self.pixx += 1
                self.pixy += 1
            dispsurf0.unlock()
            return self.screensurf.blit(
                pygame.transform.scale(dispsurf0, (648, 460)), (x, y))
        if self.mode == "G3":
            dispsurf1.lock()
            self.pixy = 0
            self.pixx = 0
            self.chunkcnt = 0
            self.addr = self.offset
            self.chunk = self.membus[libSBTCVM.numstruct(self.addr)]
            while self.pixy != 38:
                self.pixx = 0
                while self.pixx != 54:
                    if self.chunkcnt == 0:
                        self.chunkcnt = 1
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[6]) + (self.chunk[7]) +
                                     (self.chunk[8]))
                    elif self.chunkcnt == 1:
                        self.chunkcnt = 2
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[9]) + (self.chunk[10]) +
                                     (self.chunk[11]))
                    elif self.chunkcnt == 2:
                        self.chunkcnt = 0

                        self.part = ((self.chunk[12]) + (self.chunk[13]) +
                                     (self.chunk[14]))
                        self.addr = libSBTCVM.trunkto6(
                            libbaltcalc.btadd(self.addr, "+"))
                        self.chunk = self.membus[libSBTCVM.numstruct(
                            self.addr)]
                    self.R1 = shadlook0(self.part[0])
                    self.G1 = shadlook0(self.part[1])
                    self.B1 = shadlook0(self.part[2])
                    #print (self.R1, self.G1, self.B1)
                    #dispsurf1.set_at((self.pixx, self.pixy),(self.R1, self.G1, self.B1))
                    dispsurf1pixarray[self.pixx,
                                      self.pixy] = (self.R1, self.G1, self.B1)
                    self.pixx += 1
                self.pixy += 1
            dispsurf1.unlock()
            return self.screensurf.blit(
                pygame.transform.scale(dispsurf1, (648, 460)), (x, y))
        if self.mode == "G4":
            dispsurf1.lock()
            self.pixy = 0
            self.pixx = 0
            self.chunkcnt = 0
            self.addr = self.offset
            self.chunk = self.membus[libSBTCVM.numstruct(self.addr)]
            while self.pixy != 38:
                self.pixx = 0
                while self.pixx != 54:
                    if self.chunkcnt == 0:
                        self.chunkcnt = 1
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[6]))
                    elif self.chunkcnt == 1:
                        self.chunkcnt = 2
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[7]))
                    elif self.chunkcnt == 2:
                        self.chunkcnt = 3
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[8]))
                    elif self.chunkcnt == 3:
                        self.chunkcnt = 4
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[9]))
                    elif self.chunkcnt == 4:
                        self.chunkcnt = 5
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[10]))
                    elif self.chunkcnt == 5:
                        self.chunkcnt = 6
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[11]))
                    elif self.chunkcnt == 6:
                        self.chunkcnt = 7
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[12]))
                    elif self.chunkcnt == 7:
                        self.chunkcnt = 8
                        #self.chunk=self.membus[libSBTCVM.numstruct(self.addr)]
                        self.part = ((self.chunk[13]))
                    elif self.chunkcnt == 8:
                        self.chunkcnt = 0
                        self.part = ((self.chunk[14]))
                        self.addr = libSBTCVM.trunkto6(
                            libbaltcalc.btadd(self.addr, "+"))
                        self.chunk = self.membus[libSBTCVM.numstruct(
                            self.addr)]
                    self.GREY = shadlook0mapped1(self.part)
                    #dispsurf1.set_at((self.pixx, self.pixy),(self.GREY, self.GREY, self.GREY))
                    dispsurf1pixarray[self.pixx, self.pixy] = self.GREY
                    #print self.chunkcnt
                    #print self.pixx
                    #print self.pixy
                    self.pixx += 1
                self.pixy += 1
            dispsurf1.unlock()
            return self.screensurf.blit(
                pygame.transform.scale(dispsurf1, (648, 460)), (x, y))
            return self.screensurf.blit(dispsurf1, (x, y))
示例#7
0
 def render(self, x=0, y=0):
     if self.mode == "G0":
         self.pixy = 0
         self.pixx = 0
         self.chunkcnt = 0
         self.addr = self.offset
         while self.pixy != 81:
             self.pixx = 0
             while self.pixx != 114:
                 if self.chunkcnt == 0:
                     self.chunkcnt = 1
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[6]) + (self.chunk[7]) +
                                  (self.chunk[8]))
                 elif self.chunkcnt == 1:
                     self.chunkcnt = 2
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[9]) + (self.chunk[10]) +
                                  (self.chunk[11]))
                 elif self.chunkcnt == 2:
                     self.chunkcnt = 0
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[12]) + (self.chunk[13]) +
                                  (self.chunk[14]))
                     self.addr = libSBTCVM.trunkto6(
                         libbaltcalc.btadd(self.addr, "+"))
                 self.R1 = shadlook0(self.part[0])
                 self.G1 = shadlook0(self.part[1])
                 self.B1 = shadlook0(self.part[2])
                 #print (self.R1, self.G1, self.B1)
                 #dispsurf0.set_at((self.pixx, self.pixy),(self.R1, self.G1, self.B1))
                 self.cubeblocksurf0.fill((self.R1, self.G1, self.B1))
                 self.screensurf.blit(self.cubeblocksurf0,
                                      (((self.pixx * 5) + x),
                                       ((self.pixy * 5) + y)))
                 self.pixx += 1
             self.pixy += 1
         cubedisprect0.x = x
         cubedisprect0.y = y
         return cubedisprect0
         #return self.screensurf.blit(pygame.transform.scale(dispsurf0, (648, 460)), (x, y))
     if self.mode == "G2":
         self.pixy = 0
         self.pixx = 0
         self.chunkcnt = 0
         self.addr = self.offset
         while self.pixy != 81:
             self.pixx = 0
             while self.pixx != 114:
                 if self.chunkcnt == 0:
                     self.chunkcnt = 1
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[6]))
                 elif self.chunkcnt == 1:
                     self.chunkcnt = 2
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[7]))
                 elif self.chunkcnt == 2:
                     self.chunkcnt = 3
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[8]))
                 elif self.chunkcnt == 3:
                     self.chunkcnt = 4
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[9]))
                 elif self.chunkcnt == 4:
                     self.chunkcnt = 5
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[10]))
                 elif self.chunkcnt == 5:
                     self.chunkcnt = 6
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[11]))
                 elif self.chunkcnt == 6:
                     self.chunkcnt = 7
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[12]))
                 elif self.chunkcnt == 7:
                     self.chunkcnt = 8
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[13]))
                 elif self.chunkcnt == 8:
                     self.chunkcnt = 0
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[14]))
                     self.addr = libSBTCVM.trunkto6(
                         libbaltcalc.btadd(self.addr, "+"))
                 self.GREY = shadlook0(self.part)
                 #dispsurf0.set_at((self.pixx, self.pixy),(self.GREY, self.GREY, self.GREY))
                 self.cubeblocksurf0.fill((self.GREY, self.GREY, self.GREY))
                 self.screensurf.blit(self.cubeblocksurf0,
                                      (((self.pixx * 5) + x),
                                       ((self.pixy * 5) + y)))
                 #print self.chunkcnt
                 #print self.pixx
                 #print self.pixy
                 self.pixx += 1
             self.pixy += 1
         #return self.screensurf.blit(pygame.transform.scale(dispsurf0, (648, 460)), (x, y))
         cubedisprect0.x = x
         cubedisprect0.y = y
         return cubedisprect0
     if self.mode == "G3":
         self.pixy = 0
         self.pixx = 0
         self.chunkcnt = 0
         self.addr = self.offset
         while self.pixy != 38:
             self.pixx = 0
             while self.pixx != 54:
                 if self.chunkcnt == 0:
                     self.chunkcnt = 1
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[6]) + (self.chunk[7]) +
                                  (self.chunk[8]))
                 elif self.chunkcnt == 1:
                     self.chunkcnt = 2
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[9]) + (self.chunk[10]) +
                                  (self.chunk[11]))
                 elif self.chunkcnt == 2:
                     self.chunkcnt = 0
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[12]) + (self.chunk[13]) +
                                  (self.chunk[14]))
                     self.addr = libSBTCVM.trunkto6(
                         libbaltcalc.btadd(self.addr, "+"))
                 self.R1 = shadlook0(self.part[0])
                 self.G1 = shadlook0(self.part[1])
                 self.B1 = shadlook0(self.part[2])
                 #print (self.R1, self.G1, self.B1)
                 #dispsurf1.set_at((self.pixx, self.pixy),(self.R1, self.G1, self.B1))
                 self.cubeblocksurf1.fill((self.R1, self.G1, self.B1))
                 self.screensurf.blit(self.cubeblocksurf1,
                                      (((self.pixx * 12) + x),
                                       ((self.pixy * 12) + y)))
                 self.pixx += 1
             self.pixy += 1
         cubedisprect1.x = x
         cubedisprect1.y = y
         return cubedisprect1
         #return self.screensurf.blit(pygame.transform.scale(dispsurf1, (648, 460)), (x, y))
     if self.mode == "G4":
         self.pixy = 0
         self.pixx = 0
         self.chunkcnt = 0
         self.addr = self.offset
         while self.pixy != 38:
             self.pixx = 0
             while self.pixx != 54:
                 if self.chunkcnt == 0:
                     self.chunkcnt = 1
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[6]))
                 elif self.chunkcnt == 1:
                     self.chunkcnt = 2
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[7]))
                 elif self.chunkcnt == 2:
                     self.chunkcnt = 3
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[8]))
                 elif self.chunkcnt == 3:
                     self.chunkcnt = 4
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[9]))
                 elif self.chunkcnt == 4:
                     self.chunkcnt = 5
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[10]))
                 elif self.chunkcnt == 5:
                     self.chunkcnt = 6
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[11]))
                 elif self.chunkcnt == 6:
                     self.chunkcnt = 7
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[12]))
                 elif self.chunkcnt == 7:
                     self.chunkcnt = 8
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[13]))
                 elif self.chunkcnt == 8:
                     self.chunkcnt = 0
                     self.chunk = self.membus[libSBTCVM.numstruct(
                         self.addr)]
                     self.part = ((self.chunk[14]))
                     self.addr = libSBTCVM.trunkto6(
                         libbaltcalc.btadd(self.addr, "+"))
                 self.GREY = shadlook0(self.part)
                 #dispsurf1.set_at((self.pixx, self.pixy),(self.GREY, self.GREY, self.GREY))
                 #cubeblock1.x=((self.pixx * 12) + x)
                 #cubeblock1.y=((self.pixy * 12) + y)
                 #pygame.draw.rect(self.screensurf, (self.GREY, self.GREY, self.GREY), cubeblock1)
                 self.cubeblocksurf1.fill((self.GREY, self.GREY, self.GREY))
                 self.screensurf.blit(self.cubeblocksurf1,
                                      (((self.pixx * 12) + x),
                                       ((self.pixy * 12) + y)))
                 #print self.chunkcnt
                 #print self.pixx
                 #print self.pixy
                 self.pixx += 1
             self.pixy += 1
         cubedisprect1.x = x
         cubedisprect1.y = y
         return cubedisprect1