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

User Tag List

Страница 23 из 23 ПерваяПервая ... 1920212223
Показано с 221 по 226 из 226

Тема: Самодельный комп на i8080

  1. #221
    Activist Аватар для Voxel
    Регистрация
    18.01.2005
    Адрес
    Тихвин
    Сообщений
    470
    Благодарностей: 225
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И так... Разобрался как передавать файлы. Закинул на диск базу CP/M файлов, что в сети нашел.

    Инструкция: http://www.cpm.z80.de/manuals/cpm22-m.pdf
    Сайт: http://www.cpm.z80.de/
    Файлы от сюда: http://www.cpm.z80.de/download/cpm22-b.zip

    И вот ни как у меня ED.COM не работает. Либо я туплю, либо... В итоге запуска и перезапуска этого файла, случилось странное... Пишу DIR а диск пустой((( пока не понял в чем косяк.

    На текущий момент хотелось бы узнать следующее:

    1. Какой софт использовать для написания и компиляции на ASMе под Windows?
    2. Как это возможно прогнать(запустить) не на реальной машине?
    3. Как компилировать под CP/M из под Windows?
    4. Какой редактор использовать уже на реальной машине в связке с ASM.COM и DDT.COM?

    Добавлю ссылку на книгу по cp/m: http://files.nehudlit.ru/books/013/o...tema-cp-m.djvu
    Последний раз редактировалось Voxel; 03.05.2018 в 11:02.
    УКНЦ+FDD+HDD; ZX-NEXT; Scorpion 256k; ZXM Phoenix+TurboSoundFM; Spectrum 48k; ZX Hobbit; Radio 86RK

  2. #222
    Master
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    635
    Благодарностей: 283
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1. Какой софт использовать для написания и компиляции на ASMе под Windows?
    TASM от Squak Valley Software . Гуглить версию 3.2 для win32.
    Еще вариант: http://sensi.org/~svo/i8080/
    2. Как это возможно прогнать(запустить) не на реальной машине?
    Есть эмуляторы cp/m, емнип файл именуется либо cpm.exe либо cpm80.exe, Как вариант, вообще взять эмулятор Корвета и запустить в нем
    3. Как компилировать под CP/M из под Windows?
    Ну, есть кросс-компиляторы, например компилятор си от Vinxru https://github.com/alemorf/retro/tree/master/c8080 (пункт 1 в комплекте). Библиотеки, правда, нет - придется писать самому. Или вот Manx Aztec C80, у него и библиотека есть, но exe-файлы там досовские.
    Последний раз редактировалось marinovsoft; 03.05.2018 в 11:40.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY

  3. Эти 2 пользователя(ей) поблагодарили marinovsoft за это полезное сообщение:
    TomaTLAB (03.05.2018), Voxel (03.05.2018)

  4. #223
    Activist
    Регистрация
    05.01.2009
    Адрес
    г. Одесса, Украина
    Сообщений
    375
    Благодарностей: 241
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Voxel Посмотреть сообщение
    4. Какой редактор использовать уже на реальной машине в связке с ASM.COM и DDT.COM?
    "WORDSTAR 3.0" попробуйте, вдруг понравится. Мне он кажется более удобным, чем "ED".

    Для пунктов 2,3 есть ооооочень много разных эмуляторов, запускалок CP/M софта под вин32. Я пользуюсь эмулятором от b2m.
    А для п.1 есть вобще бесчисленное множество ассемблеров, многие поддерживают табличную настройку. Можно свои мнемоники и макросы делать.
    Свой вариант я где то в середине ветки приводил и ассемблер выкладывал.
    Real Hardware!

  5. Этот пользователь поблагодарил freddy за это полезное сообщение:
    Voxel (03.05.2018)

  6. #224
    Master Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    757
    Благодарностей: 301
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Лучше Wordstar4.0 патченый под 8 бит.

  7. #225
    Master
    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    635
    Благодарностей: 283
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У Vinxru есть еще один вариант компилятора си, совмещенного с ассемблерами 8080 и pdp11 https://github.com/alemorf/pdp11asm Точнее даже наоборот, этол ассемблер со встроенным компилятором си
    Собрал под винду https://ru.files.fm/u/7y8wcm9p#_

    Исходник должен иметь примерно такой вид:
    Код:
    .i8080
    org 100h
    entry:
        jmp main
    {
    void main() {
      uint8_t a[1];
      a[0] = 0;
    }
    }
    Есть еще один вариант компилятора си того же авторства, умеет некоторые оптимизации, ищется на просторах инета вместе с исходниками по имени "C8080-master.zip", например здесь:
    https://github.com/andykarpov/radio-...080-master.zip
    Последний раз редактировалось marinovsoft; 09.05.2018 в 12:14.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY

  8. Этот пользователь поблагодарил marinovsoft за это полезное сообщение:
    Voxel (09.05.2018)

  9. #226
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,137
    Благодарностей: 1094
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Версию от Vinxru можно условно называть C, а скорее С--, т.к. ЕМНИП нормальную обработку стека он так и не допилил (переменные на стеке, рекурсивные вызовы, вот это всё).
    Что до инструментария, то для разработки под WIN я использую эмулятор CPM от уважаемого Keiji Murakami который удобен тем, что консольный и работает с локальными файлами на файловой системе Винды, а не образами. Т.е. просто накидал в каталог Винды файлов и выполняешь любую команду как если бы сидел в CP/M просто добавив в начале CPM. Это удобно автоматизируется например в make которые есть для Винды (GUI-шные эмуляторы или работающие с образами дисков а не отдельными файлами так не подвяжешь)

    Пример команд для компиляции на С:

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


    cpm era libff.lib
    cpm era libscr.lib
    cpm era libmenu.lib

    cpm c -o -x -c screen.c
    cpm c -o -x -c windows.c
    cpm c -o -x -c controls.c

    cpm libr r libscr.lib screen.obj windows.obj controls.obj

    cpm c -o -x -c diskio.c
    cpm c -o -x -c ff.c
    cpm c -o -x -c ffp.c

    cpm libr r libff.lib ffp.obj ff.obj diskio.obj

    cpm c -o -x -c filemgr.c
    cpm c -o -x -c stringz.c
    cpm c -o -x -c menu1.c
    cpm c -o -x -c menu2.c
    cpm c -o -x -c scanFAT.c
    cpm c -o -x -c scanCPM.c

    cpm libr r libmenu.lib stringz.obj scanFAT.obj scanCPM.obj
    cpm libr r libmenu.lib filemgr.obj menu2.obj menu1.obj

    cpm c -o -x fat.c -lff -lmenu -lscr
    [свернуть]


    Пример make для С:

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


    # Makefile for UZIX modules

    .SUFFIXES: .c .obj .as .lib

    CPM = cpm -h
    CC = cpm -h c
    AS = cpm -h zas
    LINK = cpm -h link
    LIBR = cpm -h libr
    OBJHEX = cpm -h objtohex
    M80 = cpm m80n
    L80 = cpm l80m
    RM = rm
    #DEFINES = -DORI_UTIL
    #DEFINES = -DORI_UZIX
    DEFINES = -DORI_FDISK
    CFLAGS = -O -x
    ASFLAGS = -N
    OBJ_MKFS = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj data.obj
    OBJ_BD = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj data.obj
    OBJ_FSCK = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj data.obj
    OBJ_UCP = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj sc2.obj XFS.obj ucs.obj data.obj
    OBJ_UZIX = md.obj fs.obj dmisc.obj dsk.obj dio.obj dfd.obj dtty.obj sc1.obj sc2.obj sc3.obj pr1.obj pr2.obj swp.obj
    OBJ_FDSK = fdisk2.obj fdisk1.obj f_mkfs.obj dsk.obj

    .c.obj :
    $(CC) $(CFLAGS) $(DEFINES) -c $*.c

    .as.obj :
    $(AS) $(ASFLAGS) -L$*.lst $*.as

    # compiled without optimization (-O) because optimizer spoiling #asm blocks :
    md.obj : md.c machdep.orn machdep2.orn
    $(CC) $(DEFINES) -x -c md.c

    # corecompiled (step-by-step) because no memory for $$EXEC (sc1.c too big)
    sc1.obj : sc1.c
    $(CPM) CPP -DCPM -DHI_TECH_C -Dz80 $(DEFINES) -I sc1.c CTMP1.TMP
    $(CPM) P1 CTMP1.TMP CTMP2.TMP CTMP3.TMP
    $(CPM) CGEN CTMP2.TMP CTMP1.TMP
    $(CPM) OPTIM CTMP1.TMP CTMP2.TMP
    $(CPM) ZAS -X -J -N -osc1.obj CTMP2.TMP
    $(RM) CTMP1.TMP CTMP2.TMP

    # corecompiled (step-by-step) because no memory for $$EXEC (sc2.c too big)
    sc2.obj : sc2.c
    $(CPM) CPP -DCPM -DHI_TECH_C -Dz80 $(DEFINES) -I sc2.c CTMP1.TMP
    $(CPM) P1 CTMP1.TMP CTMP2.TMP CTMP3.TMP
    $(CPM) CGEN CTMP2.TMP CTMP1.TMP
    $(CPM) OPTIM CTMP1.TMP CTMP2.TMP
    $(CPM) ZAS -X -J -N -osc2.obj CTMP2.TMP
    $(RM) CTMP1.TMP CTMP2.TMP

    idebdos.com : idebdos.mac
    $(M80) idebdos,=idebdos
    $(L80) /p:100,idebdos,idebdos/n/e

    bd.com : $(OBJ_BD) bd.c
    $(CC) $(CFLAGS) $(DEFINES) bd.c $(OBJ_BD)

    fsck.com : $(OBJ_FSCK) fsck.c
    $(CC) $(CFLAGS) $(DEFINES) fsck.c $(OBJ_FSCK)

    mkfs.com : $(OBJ_MKFS) mkfs.c
    $(CC) $(CFLAGS) $(DEFINES) mkfs.c $(OBJ_MKFS)

    ucp.com : $(OBJ_UCP) ucp.c
    $(CC) $(CFLAGS) $(DEFINES) ucp.c $(OBJ_UCP)

    uzix.com : $(OBJ_UZIX) uzix.c dispatch.c
    $(CC) -x $(DEFINES) uzix.c $(OBJ_UZIX)

    fdisk.com : $(OBJ_FDSK) fdisk.c
    $(CC) $(CFLAGS) fdisk.c $(OBJ_FDSK)

    # set "DEFINES" to "-DORI_UTIL" and do "make clean" before doing "make utils" !
    utils : idebdos.com bd.com fsck.com mkfs.com ucp.com

    # set "DEFINES" to "-DORI_UZIX" and do "make clean" before doing "make kernel" !
    kernel : idebdos.com uzix.com

    clean :
    $(RM) $(OBJ_UZIX) data.obj XFS.obj ucs.obj bd.obj fsck.obj mkfs.obj ucp.obj uzix.obj F_MKFS.OBJ FDISK.OBJ FDISK1.OBJ FDISK2.OBJ
    [свернуть]


    В качестве ассемблера использую пакет M80/L80 от Микрософт (ИМХО лучший), а редактор - SED (он для VT52 - а какой у вас тип драйвера CRT?) тоже пока ничего лучше не нашел. Это для 8080.

    В качестве С использую Hitech C, но это уже для Z80.
    Последний раз редактировалось Error404; 09.05.2018 в 15:13.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  10. Этот пользователь поблагодарил Error404 за это полезное сообщение:
    Voxel (09.05.2018)

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

Страница 23 из 23 ПерваяПервая ... 1920212223

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

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

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

Похожие темы

  1. PMI-80 - одноплатник на i8080
    от rw6hrm в разделе Разное
    Ответов: 70
    Последнее: 24.01.2018, 19:24
  2. Мнемоники i8080 vs Z80
    от Vladimir_S в разделе Разное
    Ответов: 153
    Последнее: 20.12.2016, 14:02
  3. Ответов: 25
    Последнее: 29.09.2016, 21:39
  4. Квадратный корень на i8080
    от shoorick в разделе Разное
    Ответов: 31
    Последнее: 25.08.2016, 14:04
  5. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 10:43

Ваши права

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