nedoPC.org

Community for electronics hobbyists, established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 24 Jun 2024 03:50



Reply to topic  [ 64 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Текстовый эмулятор Pseudo-86RK 
Author Message
Devil

Joined: 26 May 2003 06:57
Posts: 874
Reply with quote
Code:
  if(a>=0x77C0 && a<0x8000 && b>0 && b<128) // Screen
  {
     a -= 0x77C0;
     print(b,a%78,a/79);
  }


Какие-то странные у тебя константы: 0x77C0 вместо 0x76D0 (тут я ещё понимаю, начало видимой области учтено), но 79 вместо 78? Рано или поздно координата Y будет меньше, чем надо.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


18 May 2024 03:16
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
79 я исправил на сегодняшнем стриме - это я изначально поторопился :roll:

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


18 May 2024 05:25
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Обновил репу последними сырцами:

https://gitlab.com/nedopc/sdk/-/tree/master/pseudo-86rk

Кстати это книжка "Домашний компьютер" ввела меня в заблуждение - там буфер экрана "начинается" с 37C0H (77C0H):

Attachment:
RK-screen-buffer.jpg
RK-screen-buffer.jpg [ 254.24 KiB | Viewed 1326 times ]

Наверное в случае доса надо начинать с начала первой видимой строки - 77BAH (т.к. в досе 25 строк по умолчанию)

А для терминала линукса можно и во весь рост плясать - начиная с 76D0H...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


18 May 2024 10:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Сегодня планирую подключить клаву:


https://www.youtube.com/watch?v=2sCuhropwhQ

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


18 May 2024 18:13
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Стрим закончился - клава подключена (пока в досе):

Attachment:
Screenshot from 2024-05-19 02-54-06.png
Screenshot from 2024-05-19 02-54-06.png [ 268.6 KiB | Viewed 1266 times ]

(тут сравнение выхлопа от вручную введённой директивы DF800,F8FF между онлайн эмулятором и моим новым DOS-эмулятором)

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


19 May 2024 02:55
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Планирую добавить измерение тактов через «бесполезные» инструкции:
Code:
mov a,a - A event
mov b,b - B event
mov c,c - C event
mov d,d - D event
mov e,e - E event
mov h,h - save BC bytes from HL to filename DE
mov l,l - save lower 32K to the file with incremental name
При возникновении события A,B,C,D,E будут выводится в фигурных скобках разницы в тактах от последних событий каждого типа, например {b-event:201:0:::} что значит событие B произошло через 201 такт после события A и других событий в этой сессии небыло...

P.S. В итоге ещё сделал чтобы после окончания работы программы по HLT оно ещё печатало сколько прошло тактов от последнего события каждого типа A,B,C,D,E (если они были):
Code:
{pseudo-86rk:v0.1}                                                           
                                                                             
radio-86rk                                                                   
-->                                                                           
{a-event:0::::}                                                               
{b-event:12:0:::}                                                             
{a-event:34:22:::} 
{halt}                                                                       
{from-last-a:7}                                                               
{from-last-b:29}                                                             
{bye}   

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


21 May 2024 06:52
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Подходит время CI/CD :lol:


https://www.youtube.com/watch?v=fXn2dQR6jqE

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


23 May 2024 08:56
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Стрим закончился - репа обновлена:

https://gitlab.com/nedopc/sdk/-/commit/315b1137d0109c44dd87d12fddd39dfb3506c8fb

P.S. rk86ex1.bin у меня пока глючит :cry:


Attachments:
Screenshot from 2024-05-24 02-07-36.png
Screenshot from 2024-05-24 02-07-36.png [ 18.43 KiB | Viewed 984 times ]

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973
24 May 2024 02:02
Profile WWW
Senior
User avatar

Joined: 17 Jun 2014 04:29
Posts: 139
Location: 93.80.157.217
Reply with quote
точно также выглядит на rk86.ru.
думаю, проблема в программе.

Attachment:
august_radio-86rk_.png
august_radio-86rk_.png [ 17.29 KiB | Viewed 980 times ]

_________________
https://radio-86rk.ru
кто я такой, чтобы спорить с самим собой


24 May 2024 02:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Да - мой вариант http://rk86.net точно также намусорил и показал ошибку контрольных сумм:


Attachments:
Screenshot from 2024-05-24 08-55-48.png
Screenshot from 2024-05-24 08-55-48.png [ 42.95 KiB | Viewed 952 times ]

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973
24 May 2024 08:57
Profile WWW
Devil

Joined: 26 May 2003 06:57
Posts: 874
Reply with quote
Какая-то странная особенность. Тот-же самый тест, с тем же кодом эмуляции процессора, но в среде CP/M, работает без проблем, ошибок не выявляет.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


25 May 2024 05:01
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
Ещё вот такой тест есть (тоже из CP/M-80 похоже т.к. стартовать надо через G100):

Attachment:
Screenshot from 2024-05-25 10-35-27.png
Screenshot from 2024-05-25 10-35-27.png [ 38.65 KiB | Viewed 896 times ]

У меня он проходит:
Code:
./pseudo-86rk-stdout -s100 cputest.bin
{pseudo-86rk:v0.1}

radio-86rk
-->

DIAGNOSTICS II V1.2 - CPU TEST
COPYRIGHT (C) 1981 - SUPERSOFT ASSOCIATES
ABCDEFGHIJKLMNOPQRSTUVWXYZ
CPU IS 8080/8085
BEGIN TIMING TEST
END TIMING TEST
CPU TESTS OK
-->
{bye}


P.S. Может заменить опцию s на g? Чтобы было -g100 как при ручном старте...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


25 May 2024 10:36
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
b2m wrote:
Какая-то странная особенность. Тот-же самый тест, с тем же кодом эмуляции процессора, но в среде CP/M, работает без проблем, ошибок не выявляет.
Ты про 8080EX1.COM? Он всё-таки немного другой по коду т.к. печатает маленькими буквами и я свой класс Process8080 ещё в 2012 году поправил, чтобы проходил все тесты:
Code:
*********************************
File "8080EX1.COM" loaded, size 4608
8080 instruction exerciser (KR580VM80A CPU)
dad <b,d,h,sp>................  OK
aluop nn......................  OK
aluop <b,c,d,e,h,l,m,a>.......  OK
<daa,cma,stc,cmc>.............  OK
<inr,dcr> a...................  OK
<inr,dcr> b...................  OK
<inx,dcx> b...................  OK
<inr,dcr> c...................  OK
<inr,dcr> d...................  OK
<inx,dcx> d...................  OK
<inr,dcr> e...................  OK
<inr,dcr> h...................  OK
<inx,dcx> h...................  OK
<inr,dcr> l...................  OK
<inr,dcr> m...................  OK
<inx,dcx> sp..................  OK
lhld nnnn.....................  OK
shld nnnn.....................  OK
lxi <b,d,h,sp>,nnnn...........  OK
ldax <b,d>....................  OK
mvi <b,c,d,e,h,l,m,a>,nn......  OK
mov <bcdehla>,<bcdehla>.......  OK
sta nnnn / lda nnnn...........  OK
<rlc,rrc,ral,rar>.............  OK
stax <b,d>....................  OK
Tests complete
Jump to 0000 from 0137
Может когда переделывали 8080EX1.COM в RK86EX1.BIN чего-то напортачили? Надо сравнить побайтно...

P.S. Вот репа с сырцами: https://github.com/begoon/rk86-ex1

P.P.S. Hex разница между 8080EX1.COM и RK86EX1.BIN:
Code:
1c1,9
< 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
---
> 00000000  c3 6c f8 ff ff 79 fe 02  ca 1c 00 fe 09 ca 39 00  |.l...y........9.|
> 00000010  cd 15 f8 21 45 00 cd 18  f8 c3 6c f8 4b 79 fe 61  |...!E.....l.Ky.a|
> 00000020  fa 2b 00 fe 7b f2 2b 00  d6 20 4f 2a 48 00 71 23  |.+..{.+.. O*H.q#|
> 00000030  36 00 22 48 00 cd 09 f8  c9 1a fe 24 c8 4f cd 1d  |6."H.......$.O..|
> 00000040  00 13 c3 39 00 0a 0d 00  00 40 ff ff ff ff ff ff  |...9.....@......|
> 00000050  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
> *
> 00000080  21 00 40 cd 18 f8 c3 6c  f8 ff ff ff ff ff ff ff  |!.@....l........|
> 00000090  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
200c208
< 00000d70  a9 0d f9 fb 2a 03 01 22  99 0d 21 a5 0d 7e e6 ff  |....*.."..!..~..|
---
> 00000d70  a9 0d f9 00 2a 03 01 22  99 0d 21 a5 0d 7e e6 ff  |....*.."..!..~..|
284,289c292,293
< 000012b0  05 df 1b 2d 02 ef 8d a0  0a e2 78 d7 0d d2 ee 4e  |...-......x....N|
< 000012c0  04 83 54 39 03 b3 c2 a7  67 26 61 d0 60 16 f7 49  |..T9....g&a.`..I|
< 000012d0  69 47 4d 3e 6e 77 db ae  d1 6a 4a d9 d6 5a dc 40  |iGM>nw...jJ..Z.@|
< 000012e0  df 0b 66 37 d8 3b f0 a9  bc ae 53 de bb 9e c5 47  |..f7.;....S....G|
< 000012f0  b2 cf 7f 30 b5 ff e9 bd  bd f2 1c ca ba c2 8a 53  |...0...........S|
< 00001300
---
> 000012b0  05 df 1b 2d 02 ef 8d                              |...-...|
> 000012b7
Такое ощущение, что бинарник 8080EX1.COM не соответствует исходнику 8080EX1.MAC в котором тоже отсутствуют эти последние 73 байта...

P.P.P.S. Лишние 73 байта в конце похоже ни при чём - я попробовал их добавить и всё равно программа мусорит в том же самом месте...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


25 May 2024 10:54
Profile WWW
Devil

Joined: 26 May 2003 06:57
Posts: 874
Reply with quote
Shaos wrote:
Ты про 8080EX1.COM? Он всё-таки немного другой по коду

Я специально взял тот самый .bin и откусил первые 256 байт, чтобы получить .com

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


26 May 2024 12:17
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22902
Location: Silicon Valley
Reply with quote
b2m wrote:
Shaos wrote:
Ты про 8080EX1.COM? Он всё-таки немного другой по коду

Я специально взял тот самый .bin и откусил первые 256 байт, чтобы получить .com

Xм, странно - значит косячит процедура подмены вызовов CP/M?

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


26 May 2024 13:03
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 64 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 15 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.