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

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 31

Тема: Расширение возможностей Evo SDK

  1. #21
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что подвинуть вверх? 0xdfff?

  2. #22
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если стек, то двигать вниз надо. Где память то нужна?

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

    По умолчанию

    Я, значит, маленько расширил возможности SDK (версия для TS-Config/SDCC v.3.xx) в части увеличения памяти под си-программу.
    Вполне возможно сделать это и для оригинальной SDK и любую версию компилятора.

    Суть улучшений: был один большой rel-файл, который целиком линковался в компилируемую программу, - стал один большой lib-файл, состоящий из кучи мелких rel-файлов, из которых в конечную программу линкуются только те, которые в ней задействованы.
    Так на игре XNX выигрыш составил целых 226 (Двести двадцать шесть) байт.
    Прилагаю архив. Более подробно всё описано в read_me.

    Замечания и критика приветствуются.
    Вложения Вложения
    Последний раз редактировалось Sergey; 20.04.2014 в 17:36.
    С уважением,
    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. #24
    Activist Аватар для Sergey
    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    473
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Есть способ читать/писать нужные ячейки памяти в страничках (например, чтобы хранить большую карту).
    ...
    void put_mem(u8 pg, u16 addr, u8 data)
    ...
    u8 get_mem(u8 pg, u16 addr)
    Тогда уж неплохо бы и для int и long данных процедурки добавить, а то по байту читать дюже накладно.
    Профит для АТМ в архивчике - проверяйте.
    void put_memw(u8 pg, u16 addr, u16 data)
    u16 get_memw(u8 pg, u16 addr)
    void put_meml(u8 pg, u16 addr, u32 data)
    u32 get_meml(u8 pg, u16 addr)

    Добавил версию для TS-Config. Дополнительно нужно добавить экспорт переменной CC_PAGE2.
    В версии для TS-Config в целях ускорения п/п отказался от индексной адресации в пользу адресации через HL относительно стэка.
    (Не совсем понимаю, почему в оригинале используется IX).
    Проверяйте.

    void put_mem(unsigned char pg, unsigned char *addr, unsigned char data)
    unsigned char get_mem(unsigned char pg, unsigned char *addr)
    void put_memw(unsigned char pg, unsigned int *addr, unsigned int data)
    unsigned int get_memw(unsigned char pg, unsigned int addr)
    void put_meml(unsigned char pg, unsigned long *addr, unsigned long data)
    unsigned long get_meml(unsigned char pg, unsigned long *addr)

    P.S.
    В общем-то, всё это - "хак", с расчетом, что стэк и временные переменные программы не "раздуются" настолько, что вылезут из области 0xE000 - 0xC000.
    P.P.S.
    Пожалуй, удалю остальные свои сообщения как бесполезные. Призываю народ поступить аналогично.
    Вложения Вложения
    Последний раз редактировалось Sergey; 25.04.2014 в 10:30.
    С уважением,
    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

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

    По умолчанию

    Добавлены функции для TS-Config. См.выше.
    С уважением,
    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

  6. #26
    Activist Аватар для hippiman
    Регистрация
    29.02.2008
    Адрес
    Ростов-на-Дону
    Сообщений
    435
    Записей в дневнике
    27
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А нет возможности сделать загрузку/выгрузку посекторно? Допустим я выделяю где-то в памяти буфер нужного объема, указываю функции номер дорожки, сектора и она уже делает свое дело. Такое реализовать возможно?
    Dizzy Scripting Engine:http://www.dizzy-se.ru/

  7. #27
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hippiman Посмотреть сообщение
    А нет возможности сделать загрузку/выгрузку посекторно? Допустим я выделяю где-то в памяти буфер нужного объема, указываю функции номер дорожки, сектора и она уже делает свое дело. Такое реализовать возможно?
    Такое реализовать легко: http://alonecoder.nedopc.com/evo_sdcc_3d13.rar
    Буфер в окне #8000..#bfff, подпрограмма туда подключает страницу, которую укажешь в регистре A'. Остальные параметры идут в #3D13 напрямую.

    Во время работы с диском устанавливается IM 1, EI, экран 6912.

    После завершения #3D13 состояние системы восстанавливается обратно: IM 2, экран EGA, старая страница в окне #8000.

    Область #5c00..#5fff сохраняется в конце PAL_PAGE (4-я страница), поэтому дополнительных ограничений на программу нет.
    Взносы в призовой фонд конкурса "Твоя игра 5" принимаются с помощью PaуPal, ЯндексДенег или перевода на карту Сбербанка (см. http://ti5.retropc.ru)

  8. #28
    Activist Аватар для hippiman
    Регистрация
    29.02.2008
    Адрес
    Ростов-на-Дону
    Сообщений
    435
    Записей в дневнике
    27
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    alone, спасибо! Вечером начну разбираться.
    Dizzy Scripting Engine:http://www.dizzy-se.ru/

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

    По умолчанию

    Цитата Сообщение от hippiman Посмотреть сообщение
    А нет возможности сделать загрузку/выгрузку посекторно? Допустим я выделяю где-то в памяти буфер нужного объема, указываю функции номер дорожки, сектора и она уже делает свое дело. Такое реализовать возможно?
    Есть такая возможность. Но только для ТС-Конфы. Готовность 70%. Надеюсь, за предстоящие праздники добью.
    Будет что-то типа:
    unsigned char rdsect(unsigned char *buffer, unsigned char NumSect, unsigned char *path)
    unsigned char wrsect(unsigned char *buffer, unsigned char NumSect, unsigned char *path)

    Пока затык из-за возможной нечетности адреса буфера - ПДП только с четными адресами работает.
    С уважением,
    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

  10. #30
    Activist Аватар для hippiman
    Регистрация
    29.02.2008
    Адрес
    Ростов-на-Дону
    Сообщений
    435
    Записей в дневнике
    27
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sergey, тс конфа - не вариант. Мне для базовой нужно
    Dizzy Scripting Engine:http://www.dizzy-se.ru/

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 11
    Последнее: 16.11.2012, 00:28
  2. Расширение возможностей Ленинград1
    от DVS в разделе Ленинград
    Ответов: 53
    Последнее: 24.05.2009, 18:14
  3. Расширение рефреша до 9 бит
    от IanPo в разделе Зарубежные компьютеры
    Ответов: 2
    Последнее: 17.07.2008, 11:12

Ваши права

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