nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Apr 2024 19:04



Reply to topic  [ 35 posts ]  Go to page 1, 2, 3  Next
Разработка ПО для 580ВМ80 
Author Message
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Есть вариант:

1.поддержка ассемблера 8080 в fasm через макросы
2.подсветка синтаксиса в WinAsm Studio

и то и другое реализовано, только не обкатано (позавчера взялся :) )

иде позволяет также запускать эмулятор после компиляции.

есть ли интерес? если да - то нужна помощь хотя бы в тестировании.

как установить и настроить IDE - я расскажу ;)

Image


Image


05 Nov 2007 23:55
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Какая платформа?


06 Nov 2007 05:02
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
IDE - Windows
fasm - любая
-----------
в том что я сделал есть макрос - перекодировщик строк из 1251 в кои7, т.е. для других платформ напрямую он не подойдет, но можно адаптировать


06 Nov 2007 05:10
Profile WWW
Devil

Joined: 26 May 2003 06:57
Posts: 864
Reply with quote
Post 
Оригинальный вариант :)
Хотя, в том, что в FASM это возможно, никто и не сомневался.
А редактор с подсветкой синтаксиса всё равно каждый возьмёт свой любимый :)


07 Nov 2007 06:02
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
как это примерно выглядит - можно глянуть здесь

попричёсываю - сообчу.
конечно, главный недостаток - отсутствие проверки синтаксиса. например, "mov b,7" будет закодировано как "mov b,a" - ну, насколько это критично - пока не знаю ;)


07 Nov 2007 06:11
Profile WWW
Devil

Joined: 26 May 2003 06:57
Posts: 864
Reply with quote
Post 
Ага, и LDAX SP и т.п. никто не мешает сделать. На самом деле всё это легко проверяется, я бы сделал парочку-тройку макросов для перевода регистров в нужные добавки к командам, там же и проверки сделал, типа:

Code:
macro RP_LDAX cmdfix, rp {
  if rp eq B
    cmdfix = 0
  else if rp eq D
    cmdfix = 10h
  end if
}

macro RP_PSW cmdfix, rp {
  if rp eq B
    cmdfix = 0
  else if rp eq D
    cmdfix = 10h
  else if rp eq H
    cmdfix = 20h
  else if rp eq PSW
    cmdfix = 30h
  end if
}

macro LDAX rp {
  local xx
  RP_LDAX xx, rp
  DB 0Ah+xx
}

macro PUSH rp {
  local xx
  RP_PSW xx, rp
  DB 0C5h+xx
}


Сообщение об ошибке будет, конечно, кривое, типа "неопределённая метка ?xx00000123", но это лучше чем ничего.


Last edited by b2m on 07 Nov 2007 07:01, edited 1 time in total.



07 Nov 2007 06:52
Profile WWW
Devil

Joined: 26 May 2003 06:57
Posts: 864
Reply with quote
Post 
Во как ругается:
Code:
flat assembler  version 1.64
test.asm [40]:
        LDAX PSW
test.asm [29] LDAX [3]:
  DB 0Ah+xx
error: undefined symbol.


07 Nov 2007 06:58
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
ну, я просто исходил из того, что соблюдая правильный синтаксис можно так же накуралесить, как и не соблюдая его - все равно отлаживать ;)

другое дело - чем отлаживать... в бытность железного Спеца меня вполне устраивал его отладчик, но при загрузке эмулятора из IDE текущая директория - директория проекта, не держать же отладчик в каждой директории...


07 Nov 2007 07:22
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
А я старым-добрым тасмом пользуюсь. Причем табличку свою сделал - скрестил i8080 и команды Z80. Могу написать как LXI H,xxx или LD HL,xxx. А могу применить MOV A,MX+3 вместо тупого LD A,(IX+3). Ну соответственно, M, MX и MY (MXH, MXL, MYH, MYL) и т.д.


07 Nov 2007 08:49
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 864
Reply with quote
Post 
shoorick wrote:
другое дело - чем отлаживать...

В моём эмуляторе есть встроенный отладчик. Если интересует, расскажу как подключить: достаточно немного изменить конфигурацию, выглядеть будет например так
Code:
mydbg : debug {
}

CPU : K580wm80a {
  debug=mydbg


В отдадчике:
F5 - запуск (скрыть окно отладчика)
F4 - до курсора
F8 - одна команда (с Shift-ом не заходя внутрь процедур)
F9 - точка останова
Ctrl+G - перейти на другие адреса
Break - прервать выполнение и показать окно отладчика


08 Nov 2007 01:48
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
интересует :)

"в моем" - это который? (я еще не знаю - кто есть кто и что есть чье ;) )
-------------
понял - www нам поможет!


08 Nov 2007 02:00
Profile WWW
Devil

Joined: 26 May 2003 06:57
Posts: 864
Reply with quote
Post 
http://bashkiria-2m.narod.ru/
в разделе "Файлы"


08 Nov 2007 04:25
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
да, только что скачал, но есть проблемы по использованию из IDE - текущая папка у меня - папка проекта. если я запускаю эмулятор - он здесь не находит конфигурацию, а если я ее подкладываю - предлагает открыть файл из "Моих документов". Передача файла в командной строке также не поддерживается...
-----------------------
проблему запуска решил пакетным файлом, но опять же - каждый раз нужно выбирать конфигурацию и открывать файл вручную, к тому же он сразу же запускается.

плюс простая программа на этом эмуляторе ведет себя не так как нужно (на эму80 - правильно)...


Last edited by shoorick on 08 Nov 2007 06:38, edited 1 time in total.



08 Nov 2007 04:44
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
кстати, здесь есть фото моего последнего пк (к сожалению, сдохшего :)) на базе специалиста:

адресное пространство для портов ужато в 256 байт в конце памяти
освободившееся от портов пространство 3.75 кб использовалось 2-мя ру10
главная страница озу (48кб) свопировалась со неиспользованой скрытой страницей (16кб)
основная линейка озу свопировалась с параллельной, причем переключение памяти не влияло на видео - оно всегда шло из основной памяти откуда положено
пзу 12кб свопировалось с озу 12кб (на ру10)
запись в скрытую страницу, в параллельную линейку ру5 и в параллельную линейку ру10 блокировалась переключателями п2к на клавиатуре, т.е. после записи туда данных можно было нажать кнопку и не бояться, что сбой в программе все испортит ;)
стояла дополнительная вв55, которая все это переключало, правда, не успел я его до ума довести - помешал 386 :)
единственное, что было - программа в пзу, которая загружала с кассеты заранее заготовленный блок 16кб в скрытую страницу, а потом при необходимости из этого блока можно было при помощи менюшки загружать редактор, ассемблер, дизассемблер, отладчик, редактор дампа и программатор :) ру10 позволяли мне попользовать разные мониторы без программатора, а также грузить отладчик вне программ :)
вот такой был зверъ...


08 Nov 2007 05:07
Profile WWW
Devil

Joined: 26 May 2003 06:57
Posts: 864
Reply with quote
Post 
shoorick wrote:
есть проблемы по использованию из IDE

Я сегодня дважды обновлял эмулятор. Ты, видимо, скачал первую версию. Я подправил, чтобы файлы конфигурации читались оттуда, где лежит .exe

shoorick wrote:
Передача файла в командной строке также не поддерживается...

Должно. Тоже сегодня обновлял.

shoorick wrote:
каждый раз нужно выбирать конфигурацию и открывать файл вручную, к тому же он сразу же запускается.

При передаче через командную строку файла с расширением .rks должна автоматически выбираться конфигурация specialist.cfg, затем загружается файл, и наконец запускается монитор, а не загруженная программа. Только вот монитор пытается сразу грузить что-то с магнитофона, поэтому выходит диалог открытия файла. Но можно просто отказаться, тогда монитор продолжит сам попытку загрузки с магнитофона, это тоже можно отменить (например F1, Enter)

shoorick wrote:
плюс простая программа на этом эмуляторе ведет себя не так как нужно (на эму80 - правильно)...

Это какая? Тот пример выше, что-ли?


08 Nov 2007 06:56
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 35 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 25 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.