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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: Старый-Новый Язык Noahsoft PL65

  1. #11
    Activist Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    217
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Новая библиотека

    Всем ГОРЯЧИЙ ПРИВЕТ!

    Начал создавать библиотеку ассемблерного доступа к экрану.
    Вот видео https://www.youtube.com/watch?v=5CHvHxoi78I&t=3476s

    Вот коды:
    Код:
    !====================================!
    ! BLOKS.LIB                  zenSoft !
    !          Text Screen               !
    ! Block oriented assembly procedures !
    !    for PL65 Programming Language   !
    !------------------------------------!
    ! Evgeny Zolotarev,(aka 576XE), 2019 !
    !====================================!
    
    != Globals ==========================!
    POINTER src,dst
    INT SAVMSC=$58,BUFR=$4000
    
    != Block Oriented Procedures ========!
    !- Save Block to Buffer -------------!
    PROC saveBlk(BYTE x,y,w,h)
      BYTE wid,hei
    BEGIN
      wid=w hei=h
      src=SAVMSC+y*40+x-1 dst=.BUFR
            STX XSAVE
            LDX #$00
    !- Lines treatment ------------------!
    :nxtln LDY wid
    !- Bytes treatment ------------------!
    :nxtby LDA (src),Y STA (dst),Y
            LDA #$00    STA (src),Y
            DEY
            BNE nxtby
    !- Line_start plus 40 ---------------!
            CLC
            LDA src
            ADC #40
            STA src
            LDA src+1
            ADC #$00
            STA src+1
    !- Add wid to Buffer ----------------!
            CLC
            LDA dst
            ADC wid
            STA dst
            LDA dst+1
            ADC #$00
            STA dst+1
    !- To next Line ... -----------------!
            INX
            CPX hei
            BNE nxtln
            LDX XSAVE
    END
    !- Restore Block from Buffer --------!
    PROC restBlk(BYTE x,y,w,h)
      BYTE wid,hei
    BEGIN
      wid=w hei=h
      src=.BUFR dst=SAVMSC+y*40+x-1
            STX XSAVE
            LDX #$00
    !- Lines treatment ------------------!
    :nxtln LDY wid
    !- Bytes treatment ------------------!
    :nxtby LDA (src),Y STA (dst),Y
            DEY
            BNE nxtby
    !- Line_start plus 40 ---------------!
            CLC
            LDA dst
            ADC #40
            STA dst
            LDA dst+1
            ADC #$00
            STA dst+1
    !- Add wid to Buffer ----------------!
            CLC
            LDA src
            ADC wid
            STA src
            LDA src+1
            ADC #$00
            STA src+1
    !- To next Line ... -----------------!
            INX
            CPX hei
            BNE nxtln
            LDX XSAVE
    END
    !- Invert Screen Block --------------!
    PROC invBlok(BYTE x,y,w,h)
      BYTE wid,hei
    BEGIN
      wid=w hei=h src=SAVMSC+y*40+x-1
            STX XSAVE
            LDX #$00
    !- Lines treatment ------------------!
    :nxtln  LDY wid
    !- Bytes treatment ------------------!
    :nxtby  LDA (src),Y
            EOR #$80
            STA (src),Y
            DEY
            BNE nxtby
    !- Line_start plus 40 ---------------!
            CLC
            LDA src
            ADC #40
            STA src
            LDA src+1
            ADC #$00
            STA src+1
    !- To next Line ... -----------------!
            INX
            CPX hei
            BNE nxtln
            LDX XSAVE
    END
    !====================================!
    ! End of Library
    ENDFILE

    Код:
    !====================================!
    ! BLOKS.PRG                  zenSoft !
    !     PL65 Programming Language      !
    !------------------------------------!
    ! Evgeny Zolotarev,(aka 576XE), 2019 !
    !====================================!
    
    CONST void=$FF,esc=$1C
    BYTE CH=$02FC
    INCLUDE BLOKS.LIB
    
    != Miscellaneous Proces & Funcs =====!
    FUNC readKey()
      BYTE chr
    BEGIN
      WHILE CH=void DO ENDWHILE ! wait...
      chr=CH CH=void
    END chr
    
    MAIN()
      BYTE x,y,w,h,c
    BEGIN
      x=3 y=3 w=20 h=10
      REPEAT
        c=readKey()
        IF c=esc THEN RETURN ENDIF
        invBlok(x,y,w,h)
        c=readKey()
        IF c=esc THEN RETURN ENDIF
        invBlok(x,y,w,h)
        c=readKey()
        IF c=esc THEN RETURN ENDIF
        saveBlk(x,y,w,h)
        c=readKey()
        IF c=esc THEN RETURN ENDIF
        restBlk(x,y,w,h)
      FOREVER
    END
    Надеюсь кому пригодится...
    zen
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  2. Этот пользователь поблагодарил ezswift за это полезное сообщение:

    Oleg N. Cher (27.10.2019)

  3. #12
    Activist Аватар для nihirash
    Регистрация
    22.05.2005
    Адрес
    г. Санкт-Петербург
    Сообщений
    253
    Записей в дневнике
    16
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ох уж этот модула-пободный синтаксис.

    Меня Amiga E коробит исключительно этим.
    Composite 48
    Harlequin Superfo 128K Rev. 3E + WiFi + divMMC
    Minstrel ZX-80 V2.6
    Reverse U8
    Zx Spectrum 48K + Interface 2
    ZXEvo Rev.C4 + ZXM Sound Card Extreme + ZiFi + VDac
    ZXUno 4.2 + WiFi + Midi
    +UNO 2m + WiFi
    Commodore Amiga A600 + Furia EC20 + WorkBench 3.1.4 + DIY WiFi modem
    Commodore 64 + SD2IEC
    Atari 130XE+SDrive

  4. #13
    Veteran Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    Kiev/Ukraine
    Сообщений
    1,973
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    62
    Поблагодарили
    52 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Mда синтаксис содран с алгола, ну и потому похож на pascal, modula. В принципе обкатанный синтаксис легко воспринимаемый студентами. В совдепии был "алгоритмический язык" тоже самое примерно что и тут, только сокращения с русского языка ЕСЛИ ... ТО ... ИНАЧЕ ... ВСЕ

  5. #14
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    920
    Спасибо Благодарностей отдано 
    172
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А язычок-то смотрится поприятнее, чем PL/M.

  6. Этот пользователь поблагодарил Oleg N. Cher за это полезное сообщение:

    ezswift (30.10.2019)

  7. #15
    Veteran Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    1,696
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще есть Action! https://en.wikipedia.org/wiki/Action...ming_language) Описание, примеры, доступен в исходниках

  8. #16
    Activist Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    217
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Здравствуйте ВСЕ!!!

    2Oleg N. Cher
    Pl65 даже приятнее, чем я думал, когда изменил ему ради Паскаля... Скорблю!

    У него, ПАРДОН, Атарьское распределение Памяти. (Sic!)

    Я ведь, не зря прячу окна по адресу $4000!
    Надеюсь, когда-то, разродится всё - работой на Куче.

    Об этом видео запилю... "Славься Кей!..."

    Очень страдаю от отсутствия 8-bit алгоритмов... Разных... Рою интернет как ломовая лошадь!
    А Гуголь - не Гоголь. Он покруче муть выдаёт!!!

    В общем, с Паскалем (Прости, Блез) я распрощался на время...

    Сейчас вошкаюсь по теме вертикальная линия на Ассемблере PL65
    Ну, не устраивает меня скорость её прорисовки в нативе !!!
    Я пробовал внутренние процедуры FILL и MOVE.
    Они и вправду эффективны и быстры, но их вызов(ы) безумно медленный(е).
    Как только ВСЁ ЭТО попадает в цикл Вы видете, что линия РИСУЕТСЯ, а отнюдь не ВОЗНИКАЕТ!

    Надо на ассемблере...

    С Паскалем - не справляюсь, с PL65 пжалста!

    Я не гоню на Паскаль!
    Любой Язык Высокого Уровня Ущербен Изначально!
    Так как вынужден применять ДОПУЩЕНИЯ.

    Но, на ассемблере сами возИтесь! Кто мешает?

    Теперь про ACTION!
    Это - Стопроцентно Атарьский язык!!!
    Но, с ним работать, как в лужу пукать.
    Эффектно (Effectus), но мокро и муторно.

    Это - просто ПЕРЕХОДНЫЙ язык.
    Ему надо ВЗРОСЛЕТЬ!

    И PL65 - просто его старший брат.
    zen
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  9. Этот пользователь поблагодарил ezswift за это полезное сообщение:

    Oleg N. Cher (29.10.2019)

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

  11. #17
    Activist Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    217
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    [QUOTE=pinny;1031144]Ох уж этот модула-пободный синтаксис.


    Ну НЕТ у Атари фигурных скобок !!! Матчасть!
    zen
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

  12. #18
    Activist Аватар для nihirash
    Регистрация
    22.05.2005
    Адрес
    г. Санкт-Петербург
    Сообщений
    253
    Записей в дневнике
    16
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ezswift Посмотреть сообщение
    Ну НЕТ у Атари фигурных скобок !!! Матчасть!
    Я затупил, что это не кросскомпилятор.

    Да и на атари я только играю)
    Composite 48
    Harlequin Superfo 128K Rev. 3E + WiFi + divMMC
    Minstrel ZX-80 V2.6
    Reverse U8
    Zx Spectrum 48K + Interface 2
    ZXEvo Rev.C4 + ZXM Sound Card Extreme + ZiFi + VDac
    ZXUno 4.2 + WiFi + Midi
    +UNO 2m + WiFi
    Commodore Amiga A600 + Furia EC20 + WorkBench 3.1.4 + DIY WiFi modem
    Commodore 64 + SD2IEC
    Atari 130XE+SDrive

  13. #19
    Activist Аватар для ezswift
    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    217
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2pinny
    Атари - интересная машинка - факт.

    Её подсистемы при должном развитии плавно перешли к Северному и Южному мостам, USB и одноплатному конструктиву.
    Более того, система обработки картриджей позволяет такое, что и не снилось никаким PC.
    Вставил картридж и заменил системный БИОС... Где такой слот у Писюка?

    Ну, я не маньячу, хотя похоже...
    Я просто ЛЮЛЮ Атари.
    Пытаюсь сделать для неё что-то и пр.
    zen
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. ПК8000 - Софт: Старый и Новый
    от ivagor в разделе ПК8000
    Ответов: 284
    Последнее: 21.01.2020, 00:30
  2. Ответов: 51
    Последнее: 01.10.2011, 08:41
  3. про новый-старый спектрум
    от xailar в разделе ZX Концепции
    Ответов: 3
    Последнее: 06.12.2010, 10:42

Ваши права

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