Statistics: Posted by Shaos — 06 Jan 2024 20:31
PastaGirl-384x288.jpg | ||
PastaGirl-EGA16.png | ||
PastaGirl-EGA2VGA.png | ||
PastaGirl-GigasRGBx.png | ||
PastaGirl-Optimal.png | ||
Statistics: Posted by Shaos — 18 Oct 2023 00:20
goldengate-384x288.jpg | ||
goldengate-EGA16.png | ||
goldengate-EGA2VGA.png | ||
goldengate-GigasRGBx.png | ||
goldengate-optimal.png | ||
Statistics: Posted by Shaos — 17 Oct 2023 23:45
ShaosBuick-384x288.jpg | ||
ShaosBuick-EGA16.png | ||
ShaosBuick-EGA2VGA.png | ||
ShaosBuick-GigasRGBx.png | ||
ShaosBuick-optimal.png | ||
Statistics: Posted by Shaos — 17 Oct 2023 23:05
Shaos wrote: Википедия говорит вот такие цифры для палитры ZX-спектрума:
Точно таких цветов нету ни в стандартной EGA, ни в микшированной палитре EGA2VGA - значит придётся создавать пользовательскую палитру только под спектрум... P.S. Можно ещё туда добавить цвета из палитры "аппаратный GigaScreen" - это 102 цвета, получающиеся путём мерцания двух спектрумовских экранов. | |||||||||||
GigasRGBx.png | ||
FakeEGA.png | ||
Statistics: Posted by Shaos — 17 Oct 2023 22:33
Shaos wrote: наверное по большому счёту полноэкранные режимы 800x300 и даже 800x600 по сути и не очень то требуются, а самым большим разрешением первое время может быть околоспектрумовополутекстовый Mode 0x01 с "бордюром": | ||
SpiritRetroHandheld-prototype-6.jpg | ||
SpiritRetroHandheld-prototype-6-HDMI.jpg | ||
Statistics: Posted by Shaos — 14 Oct 2023 02:08
Shaos wrote:
Вот вставил пикселизированное лого в эмуль: | |||||||||||
SpiritRetroHandheld-prototype-5.jpg | ||
SpiritRetroHandheld-prototype-5-HDMI.jpg | ||
Statistics: Posted by Shaos — 13 Oct 2023 09:33
Statistics: Posted by Shaos — 10 Oct 2023 23:21
Shaos wrote:
На самом деле в текстовом режиме будет не 80 чтений в пределах одной строки, а 80 чтений по ДВА 32-битных слова (8 байт, чтобы вычитать букву из знакогенератора) в пределах горизонтального ряда квадратиков (8 строк), так что наверное надо будет конвеерно готовить цепочку квадратиков 8x8 разве что под это дело надо будет найти 480x8=3840 байт (причём дважды ибо конвеер). Однако для графических режимов всё-таки придётся вычитывать построчно, причём заранее подсчитав если видеопамять идёт линейно через несколько квадратов, то читать её надо за "один присест" одним DMA запросом. Усложняет задачу ещё и то, что теоретически текстовые и графические режимы могут перемешиваться и нужно уметь правильно настраивать DMA по ходу пьесы. Другой сложный момент заключается в том, что например расположенная выше картинка (FN с запредельной рамкой-оконтовкой) на реальном Спринтере состоит из квадратиков разной цветности и разрешения - FN имеет высокое разрешение и 16-цветные пиксела, а рамка - низкое разрешение и 256-цветные пикселы (а в примере выше я просто привёл рамку к высокому разрешению и 16-цветам, чтобы не усложнять пример). Так как я предполагаю "сплющивать" высокое разрешение, а низкое оставлять "как есть", мне придётся отслеживать встречались ли в пределах кадра (по видимому прошлого) квадратики высокого разрешения и если был хотя бы один, то надо будет включать "сплюскивание" для квадратиков повышенной чёткости, а квадратики пониженной чёткости придётся "апскейлить", превращая каждые 3 пиксела в 4 (повторяя каждый третий пиксел 2 раза). Если же весь экран состоит из квадратиков пониженной чёткости (и повышенной цветности с 8-битными пикселами), то графика должна выводиться как есть (выдавая в пределе 448 пикселов в ширину - максимум того, что может себе позволить описатель экранов Спринтера, состоящий из 56 квадратиков по горизонтали). | |||||||||||
Statistics: Posted by Shaos — 08 Oct 2023 12:37
Shaos wrote: Кстати у бейджа есть интерфейс "картриджа" - у меня например сзади воткнут картридж-макетка со вторым последовательным EEPROM 16MB, который также как и бортовая EEPROM подключается по USB к компу как флеш-накопитель (я туда свои эльфы на погонять заливаю), а так там ног полно (30 штук) - можно поди и Z80 живой прицепить | ||
Code: soc.v: input [29:0] genio_in, soc.v: output reg [29:0] genio_out, soc.v: output reg [29:0] genio_oe, ... soc.v: parameter MISC_REG_GENIO_IN = 17; soc.v: parameter MISC_REG_GENIO_OUT = 18; soc.v: parameter MISC_REG_GENIO_OE = 19; soc.v: parameter MISC_REG_GENIO_W2S = 20; soc.v: parameter MISC_REG_GENIO_W2C = 21; ... soc.v: end else if (mem_addr[6:2]==MISC_REG_GENIO_IN) begin soc.v: mem_rdata = {2'h0, genio_in}; soc.v: end else if (mem_addr[6:2]==MISC_REG_GENIO_OUT) begin soc.v: mem_rdata = {2'h0, genio_out}; soc.v: end else if (mem_addr[6:2]==MISC_REG_GENIO_OE) begin soc.v: mem_rdata = {2'h0, genio_oe}; ... soc.v: end else if (mem_addr[6:2]==MISC_REG_GENIO_OUT) begin soc.v: genio_out <= mem_wdata[29:0]; soc.v: end else if (mem_addr[6:2]==MISC_REG_GENIO_OE) begin soc.v: genio_oe <= mem_wdata[29:0]; soc.v: end else if (mem_addr[6:2]==MISC_REG_GENIO_W2S) begin soc.v: genio_out <= genio_out | mem_wdata[29:0]; soc.v: end else if (mem_addr[6:2]==MISC_REG_GENIO_W2C) begin soc.v: genio_out <= genio_out & ~mem_wdata[29:0]; | ||
Statistics: Posted by Shaos — 07 Oct 2023 20:10
Badge-cartridge-proto.jpg | ||
Badge-cartridge-pcb.png | ||
Badge-cartridge-sch.png | ||
Statistics: Posted by Shaos — 06 Oct 2023 20:47
fifan wrote: Неа, только гербер, я уже пытался им впихнуть не гербер от игла - не взяли. | ||
Screenshot from 2023-10-06 20-31-22.png | ||
Screenshot from 2023-10-06 22-22-46.png | ||
Statistics: Posted by Shaos — 06 Oct 2023 10:30