Важная информация

User Tag List

Страница 1 из 6 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 51

Тема: Картинки в 128кб

  1. #1
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Картинки в 128кб

    Не имею опыта в программировании.
    Подкиньте, пожалуйста, прожку, одна часть которой бы считывала содержимое заданной экранной области (например что-либо в верхнем левом углу определённых размеров) , и сейвила в сис. память подобно LDIR'у.
    А вторая часть уже выплёскивала бы это содержимое в любую позицию экрана (сойдёт и познакоместное позиционирование) с учётом цветовых атрибутов.

    Подобную считывалку делал на бейсике когда-то через PEEK/POKE, а выплёскивал потом подпрограммой на машинных кодах. Но там был монохром, да и многое забыл уже. Тем более как работать со 128кб, это для меня тёмный лес. Ведь у poke peek адресное пространство только до 65535.

    Заранее спасибо!

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,094
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не очень понятно, что и куда вы собираетесь "выплескивать"?

    Если, что, страницу второго экрана 128 Кб машины можно "впечатать" в верхнюю область памяти.
    Когда есть, но не знаешь где - это все равно, что нету.

  4. #3
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хочу поочерёдно загруженное через Screen$ скопировать в ОЗУ, да так, чтоб впритык заполнило 128кб. При этом размеры картинок не 256*192, а разные. Допустим, 96*64, 88*56 и т.д.
    Затем эти самые картинки в любой момент отобразить на экране в любой области X Y (с познакоместным позиционирование 32 значений по X, 24 значений по Y)

  5. #4
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,486
    Спасибо Благодарностей отдано 
    219
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    115 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Хочу поочерёдно загруженное через Screen$ скопировать в ОЗУ, да так, чтоб впритык заполнило 128кб. При этом размеры картинок не 256*192, а разные.
    Спрайты.

    Нет такого понятия, как 128кб одним куском. Это набор блоков памяти по 16кб, причём некоторые использовать не получится - например, экранную область, или пзу.

    Кроме этого, "поочерёдно загруженное" - если с разных экранов нужны разные куски, потребуется уже какая-то обвязка для выбора нужного кусочка и сохранения в память, да ещё и хранить размеры сохранёнок где-то.

    Чтоб не возиться с программированием - ZX paintbrush в помощь. Загружаешь туда экран, вырезаешь нужный кусок, и сохраняешь как последовательность байт.
    Потом все эти куски клеишь в большие блоки по 16кб или около того. Тут главное не забыть про размеры спрайтов и не перепутать порядок, эта информация потребуется для последующей отрисовки.

  6. #5
    Guru Аватар для ALKO
    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,257
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    183
    Поблагодарили
    86 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Это набор блоков памяти по 16кб
    Мне непонятно, как эти самые страницы адресуются.
    Ведь что в бейсике, что в ассемблере с адресами работают сдвоенные регистры 16 бит, а это 65536 байт.

    - - - Добавлено - - -

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Загружаешь туда экран, вырезаешь нужный кусок, и сохраняешь как последовательность байт.
    Но это всего лишь инфа изображений ? А как же подпрограмма отрисовки ?

    - - - Добавлено - - -

    Подпрограмма вывода изображений не генерится.
    Ну и опять же, как эти данные запихнуть в адреса выше 64кб, не представляю даже.

    Скрытый текст

    [свернуть]


    Скрытый текст


    [свернуть]


    - - - Добавлено - - -

    и почему-то оно перегнало всю экранную область, а не выделенную. Хотя нажимал save selection

  7. #6
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,554
    Спасибо Благодарностей отдано 
    922
    Спасибо Благодарностей получено 
    871
    Поблагодарили
    635 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Ну и опять же, как эти данные запихнуть в адреса выше 64кб, не представляю даже.
    А там и нет выше. Просто странички памяти втыкаются вместо других те же 64к. Они через порт переключаются, как (грубо) сменные картриджи. Почитай вот тут, там должно быть. Только лучше скачай и читай. Вот нужное место.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  8. #7
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,767
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    770 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Мне непонятно, как эти самые страницы адресуются.
    Ведь что в бейсике, что в ассемблере с адресами работают сдвоенные регистры 16 бит, а это 65536 байт.
    часть памяти (четвертинка) просто подменяется другой
    Цитата Сообщение от ALKO Посмотреть сообщение
    как эти данные запихнуть в адреса выше 64кб, не представляю даже.
    в 128ом бейсике есть рамдиск.
    save! / load ! / cat ! только размер сохранённых файлов надо держать в голове/на листе
    cat! показывает только имена

    а программы для вырезания спрайтов в окне конечно есть.
    (только я названий не помню).
    вспоминаю что была аж от THD (экран для удобства временно заливался шахматкой)
    ну и алексрайдер делал подобное (вроде его aer просил), прога должна быть тут на форуме
    Последний раз редактировалось goodboy; 23.10.2018 в 10:51.

  9. #8
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Нет такого понятия, как 128кб одним куском. Это набор блоков памяти по 16кб, причём некоторые использовать не получится - например, экранную область, или пзу.
    Однако 128Кб - это всё ОЗУ, и среди этого ОЗУ нет ПЗУ. ПЗУ - отдельно.

  10. #9
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,979
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    99 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Держи дружище

    Когда содержимое считывается, то координаты X,Y должны быть в пределах экрана, а длина и высота не выходить за границы экрана. Также длина и высота не должны быть нулевыми. Каждый вызов подпрограммы считывания запоминает новый спрайт и даёт ему номер. Подпрограмма последовательно заполняет всю 128-ую память на страницах 1,3,4,6. Можно запомнить до 256 спрайтов, если памяти хватит. Обработки ошибок почти нет, так что внимательнее с цифрами.

    Выплёскивание возможно с любыми X,Y, даже отрицательными. Границы экрана отсекаются. Для выплёскивания задаёшь X,Y и номер спрайта.

    Пример работы на бейсике во вложении.
    Вложения Вложения
    Последний раз редактировалось drbars; 23.10.2018 в 12:41.

  11. #10
    Guru Аватар для SoftLight
    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    2,082
    Спасибо Благодарностей отдано 
    736
    Спасибо Благодарностей получено 
    451
    Поблагодарили
    250 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Он пишет 'Не имею опыта в программировании' ты бы хоть с исходниками выложил так то все здорово работает да.

Страница 1 из 6 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 15
    Последнее: 19.07.2016, 23:21
  2. Расширение памяти Дельта СА до 128КБ
    от VETER в разделе Дельта-С
    Ответов: 1
    Последнее: 01.12.2015, 11:06
  3. [москва] Куплю спек 128кб
    от REMR в разделе Барахолка (архив)
    Ответов: 14
    Последнее: 15.01.2010, 17:07
  4. Возможно ли расширение Кворума до 128кб?
    от Михайла в разделе Кворум
    Ответов: 27
    Последнее: 17.06.2009, 22:20
  5. Куплю спектрум 128кб
    от Rosh в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 05.11.2006, 01:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •