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

Комментарии к дневнику

  1. Аватар для fomonster
    Скорее всего Вы правы насчет этого алгоритма. Вот кстати интереса ради. Сейчас фракталы народ тоже использует, но пишет их на GPU т.к. это самый быстрый вычислитель, доступный обывателю.
    Вот несколько примеров:
    https://www.shadertoy.com/results?query=fractal
    Код достаточно простой и коротокий, но то что они рисуют. Просто за гранью добра и зла.
  2. Аватар для axe_chita
    Извиняюсь что надолго пропал, очень долго пытался подружить BlueMSX и MSXDOS2 но к сожалению безуспешно.
    Потом был аврал на работе, и все было поставлено на паузу.
    Но неделю назад, совесть меня всетаки замучала, и я решил добить чтоза чудеса творятся при компиляции исходного кода
    Во-первых средой разработки был выбран ASCII C 1.10 и соответственно MSX DOS1 (Танцы с DOS2 я оставил нак потом)
    Во-вторых код который компилятор переваривает до стадии исполняемого файла стал выглядит так
    #include <stdio.h>
    #include <glib.h>

    int main()
    {

    unsigned int i,x,y;
    TINY color,op;
    screen((TINY)4);
    ginit();

    cls();

    pset (0,0,(TINY)4,(TINY)0);
    for (i = 0; i < 212; i++) {
    /* pset(i,i,(uchar)i,(char)0); uchar не определен в stdio.h Там определен тип TINY соответствующий знаковому char, соответственно логичнее использовать его. Далее, желательно отслеживать чтоб координаты и номер цвета не выходили за ограничения режима экрана 4 (256х192 16 цветов)*/
    x=(i % 256);
    y=(i % 192);
    color=i % 16;

    pset(x,y,color,PSET);/* используя остаток от целочисленного деления координаты X,Y добиваемся того чтобы точка всегда выводилась на экран, а цвет точек соответственного менялся от 0 до 15 */
    }

    getchar();
    screen((TINY)0);
    }


    В третих код пакетного файла которым компилируется Си шный файл выглядит так
    cf %1
    rem в командной строке fpc обязательно должна быть mlib в ней содержаться описания функций CURSES, GLIB, MSXBIOS, MATH
    fpc lib mlib %1
    cg -k %1
    m80 =%1
    rem del %1.mac
    rem соответственно линковщику указываем библиотеку mlib
    l80 ck,%1,clib/s,mlib/s,crun/s,cend,%1/n/e:xmain


    результат компиляции COM файл https://cloud.mail.ru/public/Gs54/fbap1dUTH

    соответственно результат исполнения
    https://cloud.mail.ru/public/JHVa/nBdLVS4Qz
    Обновлено 05.10.2017 в 19:08 axe_chita (не смог вставить скриншоты)
  3. Аватар для Shiny
    Цитата Сообщение от NEO SPECTRUMAN

    омг топология отаке!11
  4. Аватар для NEO SPECTRUMAN

    Обновлено 24.08.2017 в 11:32 NEO SPECTRUMAN
  5. Аватар для Shiny
    Цитата Сообщение от NEO SPECTRUMAN
    Сорец утянул.
    вот только его еще нужно раздуплить...
    эффект нарисовался в WebGL, гугли sripe torus или swirl torus, не помню названия.
  6. Аватар для NEO SPECTRUMAN
    Сорец утянул.
    вот только его еще нужно раздуплить...
  7. Аватар для Shiny
    Цитата Сообщение от NEO SPECTRUMAN
    А как получить такую внутренность бублика с использованием матана?
    Я рендерил бублик с разноцветной текстурой в 3dmax-е а потом гонял результат как вормхол.
    http://www.pouet.net/prod.php?which=70002
  8. Аватар для NEO SPECTRUMAN
    А как получить такую внутренность бублика с использованием матана?
    Я рендерил бублик с разноцветной текстурой в 3dmax-е а потом гонял результат как вормхол.
  9. Аватар для Shiny
    .h взяты из описания:

    http://www.lavandeira.net/2014/12/re...onment-part-1/

    Если есть, варианты, то предложите, попробую заменить.
  10. Аватар для axe_chita
    Цитата Сообщение от Шынни
    Теперь ругается на
    [b:\INCLUDE\msxbios.h] line 0 column 17: redeclaration of 'NAT'
    [b:\INCLUDE\msxbios.h] line 2 column 21: duplicate tag '_regs'
    [b:\INCLUDE\msxbios.h] line 8 column 2: redeclaration of 'REGS'
    на самом деле первое и третье сообщение является предупреждением, а не ошибкой в которой компилятор предупреждает нас о переопределении типjd NAT и REGS
    Второе сообщение чуть серьезнее "повторная метка _regs"
    Вообще возникает впечатление что вы пользуетесь модифицированными хидерами .
    Вы сможете привести содержимое ваших хидеров stdio.h, msxbios.h, glib.h ?
  11. Аватар для NEO SPECTRUMAN
    Цитата Сообщение от Шынни
    ( К чему такой замысловатый формат .p?
    по моему это тоже самое что сказать
    К чему такой замысловатый формат gb?
    или например rk
    ...тысячи их
  12. Аватар для NEO SPECTRUMAN
    Цитата Сообщение от Шынни
    не качается
    ага что то да...
    ...
    щас скачал от туда же с зеркала free France.

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

    ...а дебагер как был никаким
    так и остался...
    Обновлено 13.07.2017 в 19:05 NEO SPECTRUMAN
  13. Аватар для Shiny
    не качается Eighty One ( К чему такой замысловатый формат .p?
  14. Аватар для NEO SPECTRUMAN

    последний eightyone
    брать тут
    https://sourceforge.net/projects/eig...lair-emulator/
  15. Аватар для NEO SPECTRUMAN
    У меня твой сорец запустился из коробки в eightyone
    при том я скомпилировал sjasm-ом

    короче на вид мож менять когда захочеш
    пзу те даже vsync сделает

    Код:
        device zxspectrum48
        org $4009
    
    VERSN:          defb 0
    E_PPC:          defw 2
    D_FILE:         defw Display
    DF_CC:          defw Display+1                  ; First character of display
    VARS:           defw Variables
    DEST:           defw 0
    E_LINE:         defw BasicEnd 
    CH_ADD:         defw BasicEnd+4                 ; Simulate SAVE "X"
    X_PTR:          defw 0
    STKBOT:         defw BasicEnd+5
    STKEND:         defw BasicEnd+5                 ; Empty stack
    BREG:           defb 0
    MEM:            defw MEMBOT
    UNUSED1:        defb 0
    DF_SZ:          defb 2
    S_TOP:          defw $0002                      ; Top program line number
    LAST_K:         defw $FDBF
    DEBOUN:         defb 15
    MARGIN:         defb 55
    NXTLIN:         defw Line2                      ; Next line address
    OLDPPC:         defw 0
    FLAGX:          defb 0
    STRLEN:         defw 0
    T_ADDR:         defw $0C8D
    SEED:           defw 0
    FRAMES:         defw $F5A3
    COORDS:         defw 0
    PR_CC:          defb $BC
    S_POSN:         defw $1821
    CDFLAG:         defb $40
    PRBUFF:         ;defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$76 ; 32 Spaces + Newline
                    defw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
                    defb $76
    MEMBOT:         defb 0,0,0,0,0,0,0,0,0,0,$84,$20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; 30 zeros
    UNUNSED2:       defw 0
    
    ; End of system variables
    
    Program:        
    Line1:          defb $00,$01                    ; Line 1
                    defw Line1End-Line1Text         ; Line 1 length
    Line1Text:      defb $EA                        ; REM             
       
    ; ===========================================================
    ; Insert your program here....
    
    
    lppp    ld hl,Display
        ld (D_FILE),hl
        ld hl,Display2
        ld (D_FILE),hl
        jp lppp
    
    ; ===========================================================
    
                LD         A,1                 ; start with 1
    loop:                                        ; label used for jump
                RST        $10                     ; PRINT 
                INC        A                     ; increment A
                CP         36                     ; stop at 36
                JP         NZ,loop            ; if not 36, then goto/jump to LOOP
                RET                             ; Return to BASIC
    
    ; Programme +йquivalent en Basic
    ; 10 LET A = 1
    ; 20 PRINT CHR$(A)
    ; 30 LET A = A + 1
    ; 40 IF A <> 36 THEN GOTO 20
    ; 50 STOP
    
    ; ===========================================================
    ; That's it.  End of user program
    ; ===========================================================
    
                    defb $76                        ; Newline
    Line1End:       
    Line2:          defb $00,$02                    ; Line 2
                    defw Line2End-Line2Text
    Line2Text:      defb $F9,$D4                    ; RAND USR
                    defb $1D,$22,$21,$1D,$20        ; 16514
                    defb $7E                        ; Number
                    defb $8F,$01,$04,$00,$00        ; Numeric encoding
                    defb $76                        ; Newline
    Line2End: 
    
    Display:        defb $76                        ; Newline
                    defb $76 ; Line 0
                    defb $76 ; Line 1
                    defb $76 ; Line 2
                    defb $76 ; Line 3
                    defb $76 ; Line 4
                    defb $76 ; Line 5
                    defb $76 ; Line 6
                    defb $76 ; Line 7
                    defb $76 ; Line 8
                    defb $76 ; Line 9 
                    defb $76 ; Line 10
                    defb $20,$21,$22,$23,$24,$25,$76 ; Line 11
                    defb $76 ; Line 12
                    defb $76 ; Line 13
                    defb $76 ; Line 14
                    defb $76 ; Line 15
                    defb $76 ; Line 16
                    defb $76 ; Line 17
                    defb $76 ; Line 18
                    defb $76 ; Line 19
                    defb $76 ; Line 20
                    defb $76 ; Line 21
                    defb $76 ; Line 22
                    defb $76 ; Line 23
    
    Display2:        defb $76                        ; Newline
                    defb $76 ; Line 0
                    defb $76 ; Line 1
                    defb $76 ; Line 2
                    defb $76 ; Line 3
                    defb $76 ; Line 4
                    defb $76 ; Line 5
                    defb $20,$21,$22,$23,$24,$25,$76 ; Line 11
                    defb $76 ; Line 7
                    defb $76 ; Line 8
                    defb $76 ; Line 9 
                    defb $76 ; Line 10
                    defb $20,$21,$22,$23,$24,$25,$76 ; Line 11
                    defb $76 ; Line 12
                    defb $76 ; Line 13
                    defb $76 ; Line 14
                    defb $76 ; Line 15
                    defb $76 ; Line 16
                    defb $76 ; Line 17
                    defb $20,$21,$22,$23,$24,$25,$76 ; Line 11
                    defb $76 ; Line 19
                    defb $76 ; Line 20
                    defb $76 ; Line 21
                    defb $76 ; Line 22
                    defb $76 ; Line 23
    
    ; Variables area (empty)
    Variables:      
    VariablesEnd:   defb $80
    BasicEnd:                              
                          
    endfile
    
    
        savebin "1.p", $4009, endfile
  16. Аватар для Shiny
    ок попробую, как время будед
  17. Аватар для NEO SPECTRUMAN
    Кстате там у буржуев есть всякие доработки для zx81
    для сокращения времени простоя проца при выполнении прерывания (что то такое)

    так что
    совмещать в одном кадре строки нарисованный без прерываний (просто с точной растактовкой на 207 тактов)
    и строки с синхронизацией по инту

    думаю, в расчете на работоспособность на таких машинах, не сильно безопасно...
    яхз когда появилась эта доработка и на каком количестве машин она применена


    а может это было для новодельных zx80 расширенных до zx81
    не могу найти статью щас...
    Обновлено 13.07.2017 в 17:45 NEO SPECTRUMAN
  18. Аватар для NEO SPECTRUMAN
    Цитата Сообщение от Шынни
    Кстати, а реально сделать двойной буффер, записывая значения в D_File?
    Попробуй (я не делал)
    Лучше вообще отказаться от ПЗУ (практически)
    и рисовать что хош своей процедурой
    хоть двойной буффер
    хоть тройной
    хоть восьмерной...
    хоть аппаратный скролл по 2-м осям(по крайней мере по одной полноценный)

    правда памяти маловато у стоковой машины для этого...
    Обновлено 13.07.2017 в 17:27 NEO SPECTRUMAN
  19. Аватар для Shiny
    NEO SPECTRUMAN,спасибо, нашел эту инфу. EightyOne никак не ест эти .p (

    Кстати, а реально сделать двойной буффер, записывая значения в D_File?
  20. Аватар для Shiny
    Теперь ругается на
    [b:\INCLUDE\msxbios.h] line 0 column 17: redeclaration of 'NAT'
    [b:\INCLUDE\msxbios.h] line 2 column 21: duplicate tag '_regs'
    [b:\INCLUDE\msxbios.h] line 8 column 2: redeclaration of 'REGS'