Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
A bug in i8275 emulation #112416
01/31/18 05:43 PM
01/31/18 05:43 PM
Joined: Mar 2015
Posts: 52
F
fulivi Offline OP
Member
fulivi  Offline OP
Member
F
Joined: Mar 2015
Posts: 52
The moment I saw the log message on commit f652d21e16 "i8275: handle invisible field attributes and "end of row - stop dma" special code better...." I knew it was going to break video emulation on hp64k..
And indeed, video stays black now.. no sign of life.
Should I report the bug somewhere else besides here, please?
Thanks.
--F.Ulivi

Re: A bug in i8275 emulation [Re: fulivi] #112417
01/31/18 06:15 PM
01/31/18 06:15 PM
Joined: Apr 2006
Posts: 702
USA
Tafoid Offline
Senior Member
Tafoid  Offline
Senior Member
Joined: Apr 2006
Posts: 702
USA
Originally Posted by fulivi
The moment I saw the log message on commit f652d21e16 "i8275: handle invisible field attributes and "end of row - stop dma" special code better...." I knew it was going to break video emulation on hp64k..
And indeed, video stays black now.. no sign of life.
Should I report the bug somewhere else besides here, please?
Thanks.
--F.Ulivi


I've posted an issue I found earlier in testing to the GitHub commit . It basically hard locks the emulation nearly 10 seconds in as I've noted.
https://github.com/mamedev/mame/commit/f652d21e167265bded620fab397f142d18bd7b45

There may be other sets with regressions - those are the only ones I was able to determine via snapshot/watchdog checking.




Re: A bug in i8275 emulation [Re: fulivi] #112420
01/31/18 07:44 PM
01/31/18 07:44 PM
Joined: May 2012
Posts: 470
S
shattered Offline
Senior Member
shattered  Offline
Senior Member
S
Joined: May 2012
Posts: 470
Oops. attotime::zero is not the same as attotime::never apparently smile Testing the fix.

Re: A bug in i8275 emulation [Re: fulivi] #112421
01/31/18 08:09 PM
01/31/18 08:09 PM
Joined: Mar 2001
Posts: 16,005
USA
R
R. Belmont Offline
Very Senior Member
R. Belmont  Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,005
USA
attotime::never is the opposite of attotime::zero, never = the largest possible attotime (which would be like years in the future, but the code generally all treats it specially so it never happens).

Set a timer to zero and it fires immediately. Set it to never and it never fires.

Re: A bug in i8275 emulation [Re: fulivi] #112426
01/31/18 10:25 PM
01/31/18 10:25 PM
Joined: May 2012
Posts: 470
S
shattered Offline
Senior Member
shattered  Offline
Senior Member
S
Joined: May 2012
Posts: 470
This diff fixes hp64k and breaks only one other driver (tim100). I've not tested rt1715 and sm1800, which are 'not working'.

Code
@@ -516,7 +517,7 @@ WRITE8_MEMBER( i8275_device::write )
                        LOG("I8275 IRQ 0\n");
                        m_write_irq(CLEAR_LINE);
                        m_write_drq(0);
-                       m_drq_on_timer->adjust(attotime::zero);
+                       m_drq_on_timer->adjust(attotime::never);
 
                        m_param_idx = REG_SCN1;
                        m_param_end = REG_SCN4;

Re: A bug in i8275 emulation [Re: fulivi] #112428
02/01/18 03:04 AM
02/01/18 03:04 AM
Joined: Aug 2004
Posts: 1,358
Robbbert Offline
Very Senior Member
Robbbert  Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,358
sm1800 currently shows a grey screen with a blinking black cursor in the home position.


tim100 is now causing MAME to freeze, which is unacceptable. Please fix that.

Re: A bug in i8275 emulation [Re: fulivi] #112446
02/01/18 09:49 PM
02/01/18 09:49 PM
Joined: May 2012
Posts: 470
S
shattered Offline
Senior Member
shattered  Offline
Senior Member
S
Joined: May 2012
Posts: 470
rt1715 and sm1800 (and ipds) don't actually hook up the 8275 to DMAC (no MCFG_I8275_DRQ_CALLBACK defined) so nothing should change for them either way.

tim100 is a puzzle so far.

Re: A bug in i8275 emulation [Re: fulivi] #112616
02/14/18 06:31 PM
02/14/18 06:31 PM
Joined: May 2012
Posts: 470
S
shattered Offline
Senior Member
shattered  Offline
Senior Member
S
Joined: May 2012
Posts: 470
https://github.com/mamedev/mame/commit/a2ad15beef865aa22f5b77e3d2e83f3b95b91f17 restores visuals in hp64k and doesn't break tim100 & others in the process (at least not in first 10 seconds of run time). I could not test trs80dt1, though.

Re: A bug in i8275 emulation [Re: fulivi] #112829
03/10/18 03:04 PM
03/10/18 03:04 PM
Joined: Dec 2015
Posts: 83
A
AJR Offline
Member
AJR  Offline
Member
A
Joined: Dec 2015
Posts: 83
ms6102 now piles endless amounts of garbage text on the screen. I had hoped that that driver would at least be half-working, which it wasn't really even before the recent 8275 changes, since this Soviet terminal clones at least the VT100 keyboard interface circuit.

Re: A bug in i8275 emulation [Re: fulivi] #112831
03/10/18 03:37 PM
03/10/18 03:37 PM
Joined: May 2012
Posts: 470
S
shattered Offline
Senior Member
shattered  Offline
Senior Member
S
Joined: May 2012
Posts: 470
ms6102 is a mystery -- every other char in video memory is a field attribute code. Maybe the other 8275 is reading them while the first one is not looking...

Page 1 of 2 1 2

Who's Online Now
0 registered members (), 63 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Shout Box
Forum Statistics
Forums9
Topics8,575
Posts112,029
Members4,812
Most Online225
May 26th, 2014
Powered by UBB.threads™ PHP Forum Software 7.6.1.1
(Release build 20180111)
Page Time: 0.035s Queries: 14 (0.018s) Memory: 5.7182 MB (Peak: 5.9384 MB) Zlib enabled. Server Time: 2018-09-20 09:36:18 UTC