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

User Tag List

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 41 по 50 из 51

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

  1. #41

    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,605
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    269
    Поблагодарили
    188 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от drbars Посмотреть сообщение
    с сохранением содержимого бейсика.
    Мож ему без сохранения надо. Мож ему токенами удобнее набивать.
    ___________

  2. #42

    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,801
    Спасибо Благодарностей отдано 
    178
    Спасибо Благодарностей получено 
    64
    Поблагодарили
    49 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С рамдиском есть подвох: если на него много записать, то сохранения будут портиться. Что-то в духе "каталог рамдиска повстречается с содержимым рамдиска и начнут затирать друг друга". Он вроде растёт навстречу типа стека.
    Не помню где читал про это, может в описании ошибок пзу128.
    ZX-Evo Rev. C4 (Double-config) / VDAC2 / NeoGS / ZX-Multisound / NemoIDE / ZiFi
    Scorpion ZS 256 Turbo+ (Light) / GMX / ZXM-GS / TSFM / SMUC / ZXKM / Gotek

  3. #43

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну экран 6912 байт. 10-12 экранов влезет в рам диск

  4. #44

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Подкиньте, пожалуйста, прожку, одна часть которой бы считывала содержимое заданной экранной области (например что-либо в верхнем левом углу определённых размеров) , и сейвила в сис. память подобно LDIR'у.
    А вторая часть уже выплёскивала бы это содержимое в любую позицию экрана (сойдёт и познакоместное позиционирование) с учётом цветовых атрибутов.
    В ZX Like Pascal для этого имеются встроенные операторы WindowGet, WindowPut и WindowSet.
    Но если надо на ассемблере, то вот они:

    Код:
    ; ===== _window_get_put =====
    
    ; сохранение окна в памяти
    ; вход: нет
    ; выход: нет
    
    getimage	ld	de,addr_virt_screen
    		ld	hl,col_window
    		ldi
    		ldi
    		ldi
    		ldi
    
    		ld	hl,(col_window)			; l=col_window, h=row_window
    		ld	a,(height_window)
    		ld	b,a
    
    getimage_01	push	bc
    		push	hl
    
                    LD      A,H				; расчет адреса первого байта знакоместа в HL
                    RRCA
                    RRCA
                    RRCA
                    AND	A,224
    		ADD	A,L
                    LD	L,A
                    LD	A,H
                    AND	24
                    OR	64
                    LD	H,A
    
    		dup	8
    		push	hl
    		ld	bc,(width_window)
    		ld	b,0
    		ldir
    		pop	hl
    		inc	h
    		edup
    
    		pop	hl
    
    		inc	h
    
    		pop	bc
    		djnz	getimage_01
    
    ; +++++ _flag_attr_window +++++
    
    		ld	hl,(col_window)			; l=col_window, h=row_window
    		ld	a,(height_window)
    		ld	b,a
    
    getimage_02	push	bc
    		push	hl
    
                    LD	A,H				; расчет адреса атрибутов знакоместа в BC
                    RRCA
                    RRCA
                    RRCA
                    LD	C,A
                    AND	31
                    OR	88
                    LD	B,A
                    LD	A,C
                    AND	252
                    OR	L
                    LD	C,A
    
    		ld	h,b
    		ld	l,c
    		ld	bc,(width_window)
    		ld	b,0
    		ldir
    
    		pop	hl
    
    		inc	h
    
    		pop	bc
    		djnz	getimage_02
    
    ; ----- _flag_attr_window -----
    
    		ret
    
    
    ; вывод окна из памяти
    ; вход: нет
    ; выход: нет
    
    putimage	ld	hl,addr_virt_screen+2
    		ld	de,col_window+2
    		ldi
    		ldi
    
    		ld	de,(col_window)			; e=col_window, d=row_window
    		ld	a,(height_window)
    		ld	b,a
    
    putimage_01	push	bc
    		push	de
    
                    LD      A,D				; расчет адреса первого байта знакоместа в DE
                    RRCA
                    RRCA
                    RRCA
                    AND	A,224
    		ADD	A,E
                    LD	E,A
                    LD	A,D
                    AND	24
                    OR	64
                    LD	D,A
    
    		dup	8
    		push	de
    		ld	bc,(width_window)
    		ld	b,0
    		ldir
    		pop	de
    		inc	d
    		edup
    
    		pop	de
    
    		inc	d
    
    		pop	bc
    		djnz	putimage_01
    
    ; +++++ _flag_attr_window +++++
    
    		ld	de,(col_window)			; e=col_window, d=row_window
    		ld	a,(height_window)
    		ld	b,a
    
    putimage_02	push	bc
    		push	de
    
                    LD	A,D				; расчет адреса атрибутов знакоместа в BC
                    RRCA
                    RRCA
                    RRCA
                    LD	C,A
                    AND	31
                    OR	88
                    LD	B,A
                    LD	A,C
                    AND	252
                    OR	E
                    LD	C,A
    
    		ld	d,b
    		ld	e,c
    		ld	bc,(width_window)
    		ld	b,0
    		ldir
    
    		pop	de
    
    		inc	d
    
    		pop	bc
    		djnz	putimage_02
    
    ; ----- _flag_attr_window -----
    
    		ret
    
    addr_virt_screen	equ	57344				; адрес вирт.экрана
    col_window			defb	0					; столбец окна
    row_window			defb	0					; строка окна
    width_window			defb	0					; ширина окна
    height_window			defb	0					; высота окна

  5. #45

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пока что до кода не добрался. Пилю арты и музло. Где-то половина работы проделана в этом направлении.
    А вот что касается кода... Ну вроде бы Барсовы процедурки устраивают, правда на деле ещё не гонял.
    Но помимо этого мне бы процедурку заполнения экрана заданными тайлами 8*8 (например дизеринг, или диагональные полосочки), но не просто заполнение, а OR.
    Понели как хочу? Типа шоб предыдущие слайды были на месте, но они как бы покрывались дизерингом, а поверх накладывался следующий слайд, как диалоги диззи.
    Надо бы ещё окантовку какую-то. Типа Bright 0 падающую тень. Или, фиг знает, синий пэйпер. Шото такое. Как в дос-окнах.

  6. #46

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Во, такое реализовать хочется в виде комикса.
    https://youtu.be/NpNTAf1gAho?t=14

    В смысле сам принцип отображения слайдов

    - - - Updated - - -

    музон уже готов. Осталось арты дорисовать... ну и запихнуть в прогу как-то.

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

  8. #47

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Делай спрайтами тогда, а не экранами.

  9. #48

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё ещё рисую арты. И всё меньше верую в то, что оно уместится в память, если не использовать хотя бы RLE-компрессию.

  10. #49

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    И всё меньше верую в то, что оно уместится в память, если не использовать хотя бы RLE-компрессию.
    А что мешает использовать?

  11. #50

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    А что мешает использовать?
    Я конкретный нуб в ZX-прогинге. Бейсик - максимум что осилю на этой платформе.

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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