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

User Tag List

Страница 24 из 38 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя
Показано с 231 по 240 из 377

Тема: Ищу Си для Z80

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

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    про кросс средства ничего не слышал. кажется, таких нет. под трдос ещё что-то было. ну, ещё оберон какой-то в соседних темах предлагают
    Не, оберон в топку. cp/m похоже гонит бинарники, а не листинг. Видел некое кросс-средство под msx, это уже интереснее.

  2. #232
    Veteran Аватар для savelij
    Регистрация
    23.03.2007
    Адрес
    г. Сухиничи, Калужская обл.
    Сообщений
    1,793
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    DI DI/Gl.vars Коэфф.
    Ассемблер (эталон) 323 323 1,00
    HiTech C v.7.50 (MS-DOS) 432 1814 0,74
    Z88DK (Win32) 512 - 0,631
    SDCC v.3.51 (Win32) 528 765 0,612
    IAR (Win32) 803 858 0,4022
    HiTech C v.3.09 (cp/m, z80) 979 856 0,3320/0,3773
    Aztec C (cp/m, i8080) 1738 - 0,186
    HiSoft-C v.1.35 (CP/M, Z80) 3660 0,0000/0,0882
    MI-C v3.18I (CP/M, Z80) 4160 3760 0,0776/0,0859
    WarpC 14.01 (TR-DOS, Z80) 4910 4640 0,0660/0,0696
    MeSCC 1.08 (CP/M, i8080) 8370 4850 0,0386/0,0667
    Тут поступило ценное предложение, мопед не мой потому просто процитирую:

    Исправить тест и перетестировать iar, hitech 7.50 и sdcc (iar не умеет оптимизировать деление на степень двойки, вызывает библиотечную функцию деления)

    заменить
    dest = (unsigned char*)(ScreenTable[atY]+atX/2);
    на
    dest = (unsigned char*)(ScreenTable[atY]+(atX>>1));

    заменить
    *dest = q | ((*src++)/16&0x0f);
    на
    *dest = q | (((*src++)>>4)&0x0f);

    компилировать iar'ом с опциями
    iccz80.exe -K -T -e -uua -g -s9 -q

    Скрытый текст

    Profi 4.02 512k
    Profi 5.04 1024k нижняя плата здесь
    Scorpion 256k+ProfROM+SMUC 1.3+SMUC 2.0+ZXMC2
    Pentagon v2.2+Z-controller+ZXMC2+NeoGS
    АТМ 7.10 1024k
    Pentagon 2.666LE
    ZX Evolution 4Mb rev B
    [свернуть]


    Извещение лички отключено, захожу редко.

  3. #233
    Activist Аватар для Sergey
    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    474
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от savelij Посмотреть сообщение
    Тут поступило ценное предложение...
    Увы, пока некогда. Позже.
    Но то, что ИАР так с делением на степени двойки обходится - слов нет... Это уже минус - т.к. придётся вручную править исходник при портировании.

    - - - Добавлено - - -

    1. Найди CP/M паскаль, который может генерить код под произвольный адрес, поставишь REXX, и будет тебе счастье.
    2. Найди конвертер исходников, и тоже будет тебе счастье.
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

  4. #234
    Veteran Аватар для perestoronin
    Регистрация
    25.11.2011
    Адрес
    г. Красногорск
    Сообщений
    1,389
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще один компилятор Small C version C3.0R1.1 (SCC3) Chris Lewis (пока лишь для 8080, 8085 и 6809)

    Все из категории СПО.

    А также и сам кросс-ассемблер, последнюю версию которого планируют полностью включить в sdcc 3.6.0
    http://shop-pdp.net/ashtml/asxxxx.htm

    Если кто Linux Gentoo пользует, то будет полезной ссылка, не все там рабочее, но я работаю над тем, чтобы все работало.
    Последний раз редактировалось perestoronin; 13.05.2016 в 17:43.

  5. #235
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,850
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    168 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Еще один компилятор Small C version C3.0R1.1 (SCC3) Chris Lewis (пока лишь для 8080, 8085 и 6809)
    crt0 (т.е. cret.asm) у них там какой-то неправильный, не взлетит.
    Первая команда д.б не sphl, а lxi h,0 / dad sp
    Перед вызовом Xarglist надо положить в стек адрес DMA по-умолчанию (где будут аргументы, в CP/M это 80h), т.е. lxi h,128 / push h

  6. #236
    Veteran Аватар для perestoronin
    Регистрация
    25.11.2011
    Адрес
    г. Красногорск
    Сообщений
    1,389
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    какой-то неправильный
    У них все "неправильное", например System14 (a CP/M look alike / replacement for Z80 based systems), кстати в исходниках на ассемблере Z80.
    А руки на что? Чтобы под себя править, исходники то есть, а это главное условие, чтобы править и совершенствовать инструменты, а не писать эмуляторы и трансляторы нативные для запуска проприетарных непотребностей.
    Последний раз редактировалось perestoronin; 14.05.2016 в 06:59.

    Ретрокладовая продажи

    продажи
    [свернуть]

  7. #237
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    837
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    99
    Поблагодарили
    66 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Скажите почему функция курсор не работает? Должна менять позицию вывода. Правильно ли я получаю параметры в ассемблерных вставках?
    #include <stdio.h>
    #include <stdlib.h>

    int print(char* string, unsigned int length );
    void cursor(char x, char y);
    void cls();
    void pause (unsigned int delay);
    int main()
    {
    int i=0;
    cls();
    print("TEST", 4);
    pause(0);
    cls();
    for(i=0;i<11;i++){
    cursor(i, 10);
    print("TEST2", 5);
    }
    return 0;
    }
    int print(char* string, unsigned int length ){
    __asm
    ld hl, #2
    add hl, sp
    ld e, (hl)
    inc hl
    ld d, (hl)
    inc hl
    ld c, (hl)
    inc hl
    ld b, (hl)
    call 8252
    ret
    __endasm;
    }
    void cursor(char x, char y){
    __asm
    ld hl, #2
    add hl, sp
    ld a, #2
    call 5633
    ld b, (hl)
    inc hl
    inc hl
    ld c, (hl)
    ld a,#22
    rst 16
    ld a, c
    rst 16
    ld a, b
    rst 16
    ret
    __endasm;
    }
    void cls(){
    __asm
    call 3435
    ld a, #2
    call 5633
    ret
    __endasm;
    }
    void pause (unsigned int delay){
    __asm
    ld hl, #2
    add hl, sp
    ld c, (hl)
    inc hl
    ld b, (hl)
    call 7997
    ret
    __endasm;
    }
    ¡Un momento, señor fiscal!


  8. #238
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Какой компилятор использовался Си? Для начала хотя бы. С какими параметрами компиляции? Какая платформа? Что это за вызовы внутри ассемблерный вставок?
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  9. #239
    Master
    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    837
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    99
    Поблагодарили
    66 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ощепринятый компилятор среди спектрумистов - SDCC. Параметры компиляции - -mz80, --no-std-crt0. Платформа - спекки48. Параметры линкера - --code-loc 0x7530, --data-loc 0xA530. Файл хекс прогнал через хекс2бин и бин2тап.
    В функции курсор, сначала устанавливается поток 2( экран), затем вывадятся в поток управляющие символы - 22( позиция курсора) и переданые координаты вывода на экране. Результат - выводится TEST, пауза до нажатия клавиши, очистка экрана, вывод десять раз TEST2 в одно и тоже место на экране без смены позиции вывода. Позиция вывода должна меняться в цикле, но на экране изменения нет.
    Последний раз редактировалось Smalovsky; 08.09.2016 в 23:57.
    ¡Un momento, señor fiscal!


  10. #240
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    SDCC, меня аж дергает. Тут нужен специалист, который познал инь и ян А если серьезно посмотрите на выходе компилятора, что у вас получилось на ассемблере. У меня SDCC эти вставки (кусочки) иногда съедал без следа, и все это называлось оптимизацией.

    И версию SDCC? От этого много зависит)
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

Страница 24 из 38 ПерваяПервая ... 202122232425262728 ... ПоследняяПоследняя

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

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

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

Ваши права

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