Previous Thread
Next Thread
Print Thread
Page 8 of 14 1 2 6 7 8 9 10 13 14
Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
You can disable the artifacting from MESS user interface. It's under Options-Configuration menu.

Joined: Jul 2009
Posts: 78
Ensjo Offline OP
Member
OP Offline
Member
Joined: Jul 2009
Posts: 78
Originally Posted By Curt Coder
You can disable the artifacting from MESS user interface. It's under Options-Configuration menu.


No, no, no... The dark green background is not a M.E.S.S. artifacting... It's what happens in the REAL machine, even though MC6847's specification says it should be fully black. I wonder if it is a particular MC-1000 "glitch", or if it is the standard functioning of MC6847, in which case the emulation should be changed accordingly.

That's why I asked for people who have a real MC6847 based machine to test it, if possible.

(I wonder if I should turn these posts into a separate thread, so that more people will see it.)

(Edit: I'll do it.)

Last edited by Ensjo; 09/03/09 12:33 PM.
Joined: Jul 2009
Posts: 78
Ensjo Offline OP
Member
OP Offline
Member
Joined: Jul 2009
Posts: 78
Here's the separate discussion on MC6847's dark green background:

http://www.bannister.org/forums/ubbthreads.php?ubb=showflat&Number=53498&#Post53498

Joined: Jul 2009
Posts: 78
Ensjo Offline OP
Member
OP Offline
Member
Joined: Jul 2009
Posts: 78
Curt,

I see that M.E.S.S. MC-1000's SOUND command doesn't work. The emulation halts. The following sample program should produce a continuous siren-like sound:
Code:
10 TEMPO 150,2,1
20 SOUND 87,15,1
30 SOUND 96,15,1
40 GOTO 20

The SOUND command depends on Z80's interrupt. In the list of TODOs there is:
Code:
   16     - interrupt from NE555

What do you mean by that? To copy the interrupt solution from another computer? (I can't find any "ne555" under /machine or /driver.

Joined: Mar 2001
Posts: 16,892
Likes: 51
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,892
Likes: 51
NE555 is a timer chip.

Joined: May 2009
Posts: 2,023
Likes: 59
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,023
Likes: 59
http://en.wikipedia.org/wiki/555_timer_IC

Hopefully you can now guess what the comment means. smile

Edit: Dang it RB, 11 seconds.

Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Originally Posted By Ensjo
I see that M.E.S.S. MC-1000's SOUND command doesn't work.


Fixed in svn 5651.

Joined: Jul 2009
Posts: 78
Ensjo Offline OP
Member
OP Offline
Member
Joined: Jul 2009
Posts: 78
Originally Posted By R. Belmont
NE555 is a timer chip.
Originally Posted By Just Desserts
Thank you guys. Indeed, there's a NE555P among MC-1000's chips (#28).

Originally Posted By Curt Coder
Fixed in svn 5651.
I'll check it out tomorrow. smile

Joined: Jul 2009
Posts: 78
Ensjo Offline OP
Member
OP Offline
Member
Joined: Jul 2009
Posts: 78
Hey, Curt.

Well, yes, the SOUND program works at first, but once you stop it with CTRL+C and RUN it again, no sound is produced.

Also, I TLOAD-ed the Music Composer program. It plays a music right after loading, but in M.E.S.S. the music is unrecognizable (notes have very short duration?), and not synchronized with the appearing of the notes on screen. After a little while (when there's no more notes to play?) the program halts.

There's still something that needs to be adjusted, but I don't know what.

Last edited by Ensjo; 09/09/09 08:11 PM.
Joined: Jul 2009
Posts: 78
Ensjo Offline OP
Member
OP Offline
Member
Joined: Jul 2009
Posts: 78
Hey, Curt!

Recently I discovered MESS' debug functionality. As I traced a machine language program in MC-1000 step by step, I realized something weird: Once the automatic interruption RST #38 was called, it didn't run only once, but MANY TIMES IN SEQUENCE before returning to the normal running code. It seems that once the interruption is activated, it is called again at every line that MC6847 sends to the screen. (!?!?!)

I did a little machine code program to confirm the multiple interruption calls. You can use the debugger to put it in memory:
Code:
3f00 f3 21 00 00 22 4b 3f 2a 39 00 22 49 3f 21 3c 3f
3f10 22 39 00 fb 11 00 01 d5 2a 4b 3f 7c b5 28 09 cd
3f20 8b ee 21 00 00 22 4b 3f 0e 2e cd 97 c8 d1 1b 7a
3f30 b3 20 e4 f3 2a 49 3f 22 39 00 fb c9 f3 e5 2a 4b
3f40 3f 23 22 4b 3f e1 fb ed 4d 00 00 00 00

Essentially, this program implements the following pseudo-code:
Code:
main() {
 counter = 0;
 set rst#38 to myint;
 for (i = 256; i != 0; i--) {
  if (counter != 0) {
   print(counter);
   counter = 0;
  }
  print(".");
 }
 set rst#38 to default;
}

myint() {
 counter++;
}

The program was expected to print 256 dots, with some "1"s here and there accusing that the interruption has been called and increased the counter to 1.

BUT... what we actually see in MESS is that, instead of "1", the number "574" is displayed every now and then. The RST#38 interruption is being called 574 times in sequence before returning control to the running program!!!
Code:
CALL 16128
................................
..................574...........
.............................574
................................
.......574......................
..................574...........
............................574.
................................
......574.........
OK

Maybe this explains what is happenning to the Music Composer program, as described in my previous message. The routine originally called by the RST#38 interruption is responsible for the timing of music. If RST#38 is being overcalled 574 times in a row, the notes are rapidly consumed, and this unexpected condition somehow crashes the program.

How could this be fixed?

(Tonight I'll run this machine code program on my real MC-1000 and see what it displays. It could give us some clues for calibrating MESS — how many times the RST#38 is called during execution and if it produces only "1"s as expected.)

Page 8 of 14 1 2 6 7 8 9 10 13 14

Link Copied to Clipboard
Who's Online Now
1 members (mixmaster), 27 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,070
Posts118,932
Members5,014
Most Online890
Jan 17th, 2020
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com