This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//код расжатия: | |
private void reloadMap() | |
{ | |
int romAddr = 0x83FC; | |
while (Globals.romdata[romAddr] != 0xFF) | |
{ | |
int videoAddr = Utils.readWord(Globals.romdata, romAddr) - 0x2000; | |
romAddr += 2; | |
int count = Globals.romdata[romAddr++]; | |
for (int i = 0; i < count; i++) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "binio" | |
local time, cnt | |
time = 0 | |
cnt = 1 | |
memory.registerexec(0xCFC2, function() | |
log = io.open ("data1.log", "a"); | |
local pr = string.format("addr: %02X:%02X%02X to:%02X%02X\n", memory.readbyte(0x69), memory.readbyte(0x68),memory.readbyte(0x67), memory.readbyte(0x6B), memory.readbyte(0x6A)) | |
log:write(pr) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Суть алгоритма: | |
# 1. Находим для всех массивов, какой длины у него есть "торчащие" голова и хвост из одинаковых элементов. Получаем массив из туплов - голова, хвост, индекс элемента. | |
# 2. Выбираем самую лучшую пару для соединения - ищем, какие голова и хвост могут образовать самую длинную цепочку | |
# 3. Соединяем два элемента массива в один - склеиваем голову и хвост, получаем элемент с новыми концами. Запоминаем также, какая пара элементов была склеена - храним список того, какие именно элементы были соединены. | |
# 4. Повторяем шаг 2 до тех пор, пока это возможно - пока будут находится пары элементов, у которых значение головы первого элемента пары совпадает со значением хвоста второго элемента. | |
# 5. Когда таких пар не нашлось - список невозможно дальше склеивать, теперь проходим по нему слева направо и восстанавливаем все списки индексов элементов - это лучшая последовательность для сжатия её алгоритмом RLE. | |
#------------------------------------------------------------ | |
def calcEnds(arr): | |
repeatBegin = 0 | |
for |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
fn = os.path.expanduser("~/desktop/dump.bin") | |
with open(fn, "rb")as f: | |
d = f.read() | |
d = map(ord, d) | |
def repWord(d): | |
ans = [] | |
for x in xrange(0,len(d),2): | |
ans.append(d[x]*256+d[x+1]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object james_bond_jr { | |
type State = Vector[Int] | |
val initialState: State = Vector(1,2,2,1, 3,4,4,3, 3,4,4,3, 2,4,4,2) | |
val endState: State = Vector(4,3,4,2, 3,1,2,4, 4,2,4,3, 2,4,3,1) | |
trait Move { | |
def act(state: State): State | |
} | |
case class MoveLeft(row: Int) extends Move { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
import re | |
import urllib | |
import urllib2 | |
import os.path | |
import md5 | |
import threading | |
import time | |
import vk_param |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package scala_vk_get | |
import scala.sys.process._ | |
import scala.concurrent._ | |
import scala.concurrent.duration._ | |
import scala.xml.XML | |
import scala.io.Source | |
import java.net.URL | |
import java.io.File | |
import java.util.concurrent.Executors |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--загружаем библиотеку gd | |
require "gd" | |
--начальный адрес для коррапта (сразу от заголовка образа ROM) | |
START_ADDR = 0x10 | |
--конечный адрес для коррапта (зависит от маппера, на котором сделан картридж, можно просто выставить размер файла) | |
END_ADDR = 0x20010 | |
CUR_ADDR = START_ADDR | |
--конечный номер кадра, после которого нужно сделать скриншот (когда игровой экран уже отображается для игрока, номер замерен для созданного сохранения) | |
FRAME_FOR_SCREEN = 7035 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BANK6:8C34 ; state (81 - patrol, 82 - attack dw) | |
BANK6:8C34 | |
BANK6:8C34 enemy0_behaviour: | |
BANK6:8C34 LDA $4D0,X | |
BANK6:8C37 AND #$F ; state (81 - patrol, 82 - attack dw) | |
BANK6:8C39 BNE loc_50C51 ; present | |
BANK6:8C3B STA $530,X ; live state | |
BANK6:8C3E LDA #1 | |
BANK6:8C40 STA $540,X ; pot.speed = 1 | |
BANK6:8C43 INC $4D0,X ; init state "not viewing dw" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ROM:B676 ; =============== S U B R O U T I N E ======================================= | |
ROM:B676 | |
ROM:B676 | |
ROM:B676 gen_next_level: ; CODE XREF: ROM:B45Ep | |
ROM:B676 LDA #0 | |
ROM:B678 STA byte_DB ; счетчик переходов по пройденным этапам (до 4х раз) | |
ROM:B67A LDA byte_D1 ; текущее значение уровня | |
ROM:B67C STA byte_DA ; DA = текущее смещение в мапе | |
ROM:B67E | |
ROM:B67E generate_next: ; CODE XREF: gen_next_level+76j |
OlderNewer