diff --git a/LUA/Functions.lua b/LUA/Functions.lua index 5a56e8e..55d85a5 100644 --- a/LUA/Functions.lua +++ b/LUA/Functions.lua @@ -467,7 +467,6 @@ function get_build(fname) end return build end - -- []===========================[] @@ -475,5 +474,28 @@ end function make_string_version(ver_, mod_, build_) return (tostring(ver_) .. "." .. tostring(mod_) .. "." .. tostring(build_)) end +-- []===========================[] -- []===========================[] +--for MAME lua console +function dump_vram(fname,from_m,to_m,step_m) +local fvram = io.open("./" .. fname, "w+b") +local vram_d = {} +if from_m == nil then from_m = 0 end +if from_m == "tbl" then from_m = 768 to_m = 927 step_m = 256 end +if from_m == "fnt" then from_m = 704 to_m = 767 step_m = 256 end +if to_m == nil then to_m = 262143 end +if step_m == nil then step_m = 1 end +local mem_d = -1024 + to_m +for step_i = 1, step_m, 1 do +mem_d = mem_d + from_m + 1024 - to_m +for mem_i = from_m, to_m, 1 do +fvram:write(string.char(manager.machine.memory.shares[':vram']:read_u8(mem_d))) +mem_d = mem_d + 1 +end +mem_d = mem_d - 1 +end +fvram:flush() +fvram:close() +end +-- []===========================[] diff --git a/constants/SP2000.inc b/constants/SP2000.inc index 46acecf..2a0dc0b 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -564,7 +564,7 @@ Spec_Page EQU #41 .bitstream_pages EQU .init_acex-(4+1) ;!TEST ;!HARDCODE количество страниц в кэш для бистрима плюс одна ;LD (#FFF3),A ; сохраняем в спецстраницу номер Spec_Page ;ZX_RAM_ID EQU 1 ; рамблок со страницами для режима спектрума. УБРАНО -MODE_PAGE EQU #FC ;????? если рудимент, то убрать из резервирования в таблице страниц + RESET_PAGE EQU #A0 ; Сброс может быть осуществлен записью в страницу #A0, установленную в расширенную ; страницу Scorpion-овского распределения портов, т.е. следующей программой: @@ -1085,19 +1085,6 @@ CheckSum EQU CMOS.Cell.CheckSum ;----------------------------------------------------------------------- - - -GR_BIT_END EQU 7 - -S_BIT_END EQU 7 -S_BIT_LIN EQU 6 -S_BIT_MOD EQU 5 - -BIT_1440 EQU 1 -BIT_MASK_1440 EQU %00000010 -;--------------------------------------- - - ; Порты КР1818ВГ93 и т.п. FDC_93: .Command EQU #0F ; WG_COM R_COM ;Command/Status @@ -2215,7 +2202,7 @@ REG: ;│ Каждое знакоместо по размеру соответствует квадрату 8x8 режима│ ;│ 320 точек в линии. Всего на экране 40x32 знакомест. Физически │ ;│ имеется 64x64 знакомест, но часть из них никогда не попадает │ -;│ на экран, а часть находится в области импульсов цинхронизации │ +;│ на экран, а часть находится в области импульсов синхронизации │ ;│ и гашения луча. В каждом знакоместе можно установить свой │ ;│ режим, вплоть до установки режимов бордера и гашения луча. │ ;│ Основные режимы, устанавливаемые в знакоместах: │ @@ -2332,7 +2319,7 @@ REG: ;│ можно использовать для вывода на экран. │ ;│ Байты 300h..3A0h являются байтами режима экрана. │ ;│ Байты 3E0h..3FFh - байты палитр. │ -;│ Адрес квадрата данных, которое выводится в знакоместо задается│ +;│ Адрес квадрата данных, которые выводится в знакоместо задается│ ;│ в байтах режима экрана. │ ;└───────────────────────────────────────────────────────────────┘ ;__________________________________________________________________________________________________________# @@ -2517,6 +2504,21 @@ REG: ; P_HD3F6 EQU #4154 ; WRITE 3F6 ; P_HD3F7 EQU #4055 ; READ 3F7 + +;--------------------------------------- +; GR_BIT_END EQU 7 + +; S_BIT_END EQU 7 +; S_BIT_LIN EQU 6 +; S_BIT_MOD EQU 5 + +; BIT_1440 EQU 1 +; BIT_MASK_1440 EQU %00000010 + +; если рудимент, то убрать из резервирования в таблице страниц +;MODE_PAGE EQU #FC +;--------------------------------------- + ;================================================================================= ; Поpты Sprinter. (байты PORT_X)<< ; 0 - port FF<<