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
Senior Member
C Offline
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
Member
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
Member
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
Member
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: 17,258
Likes: 267
R
Very Senior Member
Very Senior Member
R Online: Content
Joined: Mar 2001
Posts: 17,258
Likes: 267
NE555 is a timer chip.

Joined: May 2009
Posts: 2,225
Likes: 387
J
Very Senior Member
Very Senior Member
J Offline
Joined: May 2009
Posts: 2,225
Likes: 387
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
Senior Member
C Offline
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
Member
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
Member
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
Member
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
0 members (), 142 guests, and 0 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,355
Posts122,423
Members5,082
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Powered by UBB.threads™ PHP Forum Software 8.0.0