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

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

  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
    [IMG]https://upload.wikimedia.org/wikipedia/commons/b/ba/Inside-out_torus_%28animated%2C_small%29.gif[/IMG][IMG]https://upload.wikimedia.org/wikipedia/commons/7/7e/Duocylinder_ridge_animated.gif[/IMG]
    :v2_dizzy_aaaaa:
    Обновлено 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
    [quote="Шынни"]( К чему такой замысловатый формат .p?[/quote]
    по моему это тоже самое что сказать
    К чему такой замысловатый формат gb?
    или например rk
    ...тысячи их
  12. Аватар для NEO SPECTRUMAN
    [quote="Шынни"]не качается[/quote]
    ага что то да...
    ...
    щас скачал от туда же с зеркала free France.

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

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

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

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

    [CODE]
    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[/CODE]
  16. Аватар для Shiny
    ок попробую, как время будед
  17. Аватар для NEO SPECTRUMAN
    [COLOR="#808080"]Кстате там у буржуев есть всякие доработки для zx81
    для сокращения времени простоя проца при выполнении прерывания (что то такое)

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

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

    [/COLOR]
    а может это было для новодельных zx80 расширенных до zx81
    не могу найти статью щас...
    Обновлено 13.07.2017 в 17:45 NEO SPECTRUMAN
  18. Аватар для NEO SPECTRUMAN
    [quote="Шынни"]Кстати, а реально сделать двойной буффер, записывая значения в D_File?[/quote]
    Попробуй (я не делал)
    Лучше вообще отказаться от ПЗУ (практически)
    и рисовать что хош своей процедурой
    хоть двойной буффер
    хоть тройной
    хоть восьмерной...
    хоть аппаратный скролл по 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'