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

User Tag List

Страница 46 из 113 ПерваяПервая ... 424344454647484950 ... ПоследняяПоследняя
Показано с 451 по 460 из 1128

Тема: ЭТЮДЫ

  1. #451

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    нет, у тебя же сначала создает какую-то табличку длиной #180 начиная с #7c00, а потом че-то умножается на что-то, и там такой код:

    Код:
     pop hl
     inc h
     ld (hl),a
     dec h
     inc l
    Так что ты забиваешь в #7d00 и дальше, при это затирая половину данных, которые нагенерило в первом шаге. Я хз, это так задумано или что.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

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

  3. #452

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    Так что ты забиваешь в #7d00 и дальше, при это затирая половину данных, которые нагенерило в первом шаге.
    с генерацией косяк, да. только при вычислении участвуют данные с $7C00 по $7CFF.
    Ладно, буду думать позжее, я сомневаюсь с переполнением.

  4. #453

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я не зря попросил "зоркий глаз"
    поменял генерацию таблицы синуса:
    Код:
    loc_602D:
    		ld	a, (hl)
     add a,a
     ld (hl),a
    		neg
    		ld	(de), a
    		inc	l;de
    		inc	e;l
    		jr	nz, loc_602D
    Shadow Maker, спасибо за наводку!

    погрешность вычислений есть все же..

  5. #454

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    господа кодеры, ткните меня носом в процедуру печати текста 2х2 пожалуйста.

  6. #455

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так оно ж несложно. Сдвигаешь в цикле байт из фонта, достаешь сдвинутый бит 2 раза, собираешь в регпару удвоенную по ширине линию буквы, и пихаешь ее в экран по два раза. Вот тут принцип описан, но там отдельно 1x2 и 2x1.

  7. #456

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Так оно ж несложно.
    Да, знаю.
    просто табличка лукап строится медленно, придется на время самому текст нарисовать.

  8. #457

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

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    господа кодеры, ткните меня носом в процедуру печати текста 2х2 пожалуйста.
    можь поможет - процедура вывода масштабированного в 2 раза спрайта: http://zx-pk.ru/showpost.php?p=371414&postcount=50

    А мне вот сейчас понадобилась для будущего компилятора процедура ввода с клавиатуры чисел и строк, короче, аналог бейсиковского оператора INPUT. Ни у кого не завалялась? А то с нуля лень писать

  9. #458

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    процедура ввода с клавиатуры чисел и строк
    Можно позвать ПЗУшный если устроит. У меня есть свой редактор, но он черезчур сильно дружит с процедурой вывода символов 6x8.

    ---------- Post added at 00:27 ---------- Previous post was at 00:17 ----------

    ПЗУшный примерно вот так звать:
    Код:
    ; ROM routines
    @chan_open              equ #1601
    @cl_lines               equ #0e44
    @set_min                equ #16b0
    @editor                 equ #0f2c
    @break_key              equ #1f54
    @key_input              equ #10a8
    
    ; System variables
    @k_cur                  equ #5c5b
    @err_sp                 equ #5c3d
    @worksp                 equ #5c61
    @curchl                 equ #5c51
    
    input_file_name:
            ld hl,Variables.input_buffer
            ld de,Variables.input_buffer+1
            ld bc,#0a
            ld (hl),#20
            ldir
    
            xor a
            call chan_open
            ld b,#02
            call cl_lines
    
    input_line:
            ld hl,flagx
            set 7,(hl)
            set 5,(hl)
            call set_min
    
            ld bc,#0001
            rst #30
            ld (hl),#0d
            ld (k_cur),hl
            ld hl,input_line_error
            push hl
            ld (err_sp),sp ;ERR-SP
            ld bc,new_key_input
            call set_key_input_routine
            call editor
            pop hl
            ld hl,(worksp)
            ld de,Variables.input_buffer
            ld b,#08
    input_line_copy:
            ld a,(hl)
            cp #0d
            jr z,input_line_exit
            ld (de),a
            inc hl
            inc de
            djnz input_line_copy
            jr input_line_exit
    
    input_line_error:
            ld de,Variables.input_buffer
            ld a,(iy + #00)
            cp #10
            jr z,input_line_exit
            ld a,#02
            out (#0fe),a
    input_line_exit:
            ld bc,key_input
            call set_key_input_routine
            xor a
            ld (de),a
            ld a,2
            call chan_open
            jp set_min
    
    set_key_input_routine:
            ld hl,(curchl)
            inc hl
            inc hl
            ld (hl),c
            inc hl
            ld (hl),b
            ret
    
    new_key_input:
            call break_test
            jp c,key_input
            ld a,#0a
            scf
            ret

  10. #459

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    есть древняя процедура опроса клавиатуры, дизассемблирована неизвестно откуда. Естественно, таблица недоделана.

    Код:
    	device zxspectrum128
            ORG #7000
    
    begin
     ld de,#4000
    ;ENTER CALL KEY:CP 255
    ; JR NZ,ENTER
    E0 CALL KEY
     CP 255:JR Z,E0
    ; CP 13:JR Z,ENDOF
    ; LD C,A:CP 8:JR Z,E2
     ld l,a,h,0
     add hl,hl
     add hl,hl
     add hl,hl
     ld bc,#3C00:add hl,bc
     push de
     ld b,8
     ei
     halt
    charlp: ld a,(hl),(de),a
     inc hl,d
     djnz charlp
     pop de:inc de
     jr E0
    ;
    ;--- K E Y B O A R D ---
    ;
    KEY PUSH HL:PUSH DE
     PUSH BC
     LD HL,KEYS:LD D,#FE
    K1 LD A,D:IN A,(254)
     LD E,1:LD B,5
    K2 RRCA:JR NC,K3
     INC HL:SLA E:DJNZ K2
     RLC D:JR C,K1
    K3 LD A,(HL):POP BC
     POP DE:POP HL:RET
    KEYS DB 8,"zxcvasdfg"
     DB "qwert1"
     DB 124,96,126,91;|`~[
     DB "0987",93;]
     DB "poiuy"
     DB 13,"lkjh ",8
     DB "mnb",255
    
    end
    	display /d,end-begin
    	savesna "!ants.sna",begin

  11. #460

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://baze.au.com/misc/z80bits.html#2.1
    Не знает ли кто-нибудь похожую процедуру, но попроще?
    Нужно деление на 3 с получением остатка.

Страница 46 из 113 ПерваяПервая ... 424344454647484950 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Этюды: как бы написать поизящнее.
    от AndTorp в разделе Программирование
    Ответов: 5
    Последнее: 17.03.2008, 00:43
  2. Ответов: 0
    Последнее: 18.08.2006, 22:40
  3. Этюды: печать шрифтом 5x5...
    от breeze в разделе Программирование
    Ответов: 12
    Последнее: 27.03.2005, 05:21

Метки этой темы

Ваши права

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