Previous Thread
Next Thread
Print Thread
Page 4 of 14 1 2 3 4 5 6 13 14
Ensjo #52893 08/19/09 10:02 PM
Joined: Jul 2007
Posts: 4,625
A
Very Senior Member
Very Senior Member
A Offline
Joined: Jul 2007
Posts: 4,625
Yes.

Last edited by Anna Wu; 08/19/09 10:04 PM.
Ensjo #52904 08/20/09 07:36 AM
Joined: Feb 2005
Posts: 449
C
Senior Member
Senior Member
C Offline
Joined: Feb 2005
Posts: 449
Originally Posted by Ensjo
Curt: Why is this line commented in the code?
Code
// data &= (((cassette_input(state->cassette) < +0.0) << 7) | 0x7f);
This prevents the emulator from "hearing" the .wav files. Is the line commented because it generates some error?

It was commented out because it messed with the keyboard. It is implemented in current svn, but tapes still don't load. The screen changes colors a couple of times during loading, but after the tape ends, there is no program.

Curt Coder #52909 08/20/09 01:15 PM
Joined: Jul 2009
Posts: 78
Member
Member
Joined: Jul 2009
Posts: 78
Originally Posted by Curt Coder
Originally Posted by Ensjo
Curt: Why is this line commented in the code?
Code
// data &= (((cassette_input(state->cassette) < +0.0) << 7) | 0x7f);
This prevents the emulator from "hearing" the .wav files. Is the line commented because it generates some error?

It was commented out because it messed with the keyboard.

Yes, it happens in the actual machine as well, since the tape signal is "in the same wire" as the CTRL key. Just imagine trying to type something while the CTRL key is flickering madly. smile

Originally Posted by Curt Coder
It is implemented in current svn, but tapes still don't load. The screen changes colors a couple of times during loading, but after the tape ends, there is no program.

Aha, I downloaded the current version and confirm what you say. It's funny that I have converted some real (machine code) game tapes .WAV into .BIN and back into .WAV and they are loading fine in M.E.S.S. But the .BAS->.BIN->.WAV files don't finish loading... it's as if, say, a last byte is missing or something like that. But theses files DID load fine in my real MC-1000 when I tested them! Something to review...

I have an ALTERNATE SOLUTION, though: The recording function is working fine, so you can type and SAVE a program in M.E.S.S., and LOAD it later. I tested it, and it worked.

BUG NOTE (in the actual machine, not in your implementation smile ): When you load a program saved without the optional filename, it runs automatically after loading. But for some reason the PRINT commands don't get displayed on screen! Only after the program ends (or is stopped with CTRL+C) and you run it again it works properly. MC-1000 is such a weird machine... :p )

You can save a program with a filename up to 5 characters long, but then you'll have to remember the filename to load it back.

Ensjo #52910 08/20/09 01:25 PM
Joined: Apr 2004
Posts: 1,563
Likes: 12
J
Very Senior Member
Very Senior Member
J Offline
Joined: Apr 2004
Posts: 1,563
Likes: 12
This sounds a lot like an issue i encountered before with a different system (exidy sorcerer). Is there some feedbackish frequency detecting hardware in the original system?

judge #52911 08/20/09 01:30 PM
Joined: Jul 2009
Posts: 78
Member
Member
Joined: Jul 2009
Posts: 78
None that I'm aware of. smirk

Ensjo #52912 08/20/09 01:53 PM
Joined: Apr 2004
Posts: 1,563
Likes: 12
J
Very Senior Member
Very Senior Member
J Offline
Joined: Apr 2004
Posts: 1,563
Likes: 12
Are there any schematics available of the system somewhere?

judge #52913 08/20/09 01:57 PM
Joined: Jul 2009
Posts: 78
Member
Member
Joined: Jul 2009
Posts: 78
Unfortunately the only schematics I ever found is awfully blurred. frown

Ensjo #52914 08/20/09 02:02 PM
Joined: Oct 2006
Posts: 1,017
Likes: 21
S
Very Senior Member
Very Senior Member
S Offline
Joined: Oct 2006
Posts: 1,017
Likes: 21
Crap. With that level of quality, you'll really need high-definition PCB scans and/or photos and someone willing to make a new schematic based on this poor scan.

Or you'll need to find a better source (if possible).

Stiletto #52920 08/20/09 03:42 PM
Joined: Apr 2004
Posts: 1,563
Likes: 12
J
Very Senior Member
Very Senior Member
J Offline
Joined: Apr 2004
Posts: 1,563
Likes: 12
At what frequencies are the signals stored on tape? 1200hz and 2400hz?

Stiletto #52926 08/20/09 04:03 PM
Joined: Jul 2009
Posts: 78
Member
Member
Joined: Jul 2009
Posts: 78
Curt, the graphic modes aren't working fine. I found there's a problem in this section of code:
Code
  277 static const UINT8 *mc1000_get_video_ram(running_machine *machine, int scanline)
  278 {
  279     mc1000_state *state = machine->driver_data;
  280 
  281     return state->mc6847_video_ram + (scanline / 12) * 0x20;
  282 }
If I understand this correctly, this causes MC6847 to get the same 32 bytes (one screen row) from the VRAM during 12 scanlines. While this is correct for the text and semigraphic modes (where each character/box is composed of 12 lines), it's not true for the graphic modes.

If the MC6847 works the way I guess it works, these return values should do:
Code
   12     AG  AS  INTEXT  INV  GM2  GM1  GM0
   13     --  --  ------  ---  ---  ---  ---
   14      0   0       0    0    X    X    X  Internal Alphanumerics
   15      0   0       0    1    X    X    X  Internal Alphanumerics Inverted
   16      0   0       1    0    X    X    X  External Alphanumerics
   17      0   0       1    1    X    X    X  External Alphanumerics Inverted
   18      0   1       0    X    X    X    X  Semigraphics 4
   19      0   1       1    X    X    X    X  Semigraphics 6

For these: return state->mc6847_video_ram + (scanline / 12) * 0x20;

   20      1   X       X    X    0    0    0  Graphics CG1 (64x64x4)    (16 bpr)
   21      1   X       X    X    0    0    1  Graphics RG1 (128x64x2)   (16 bpr)

For these: return state->mc6847_video_ram + (scanline / 3) * 0x10;

   22      1   X       X    X    0    1    0  Graphics CG2 (128x64x4)   (32 bpr)

For this: return state->mc6847_video_ram + (scanline / 3) * 0x20;

   23      1   X       X    X    0    1    1  Graphics RG2 (128x96x2)   (16 bpr)

For this: return state->mc6847_video_ram + (scanline / 2) * 0x10;

   24      1   X       X    X    1    0    0  Graphics CG3 (128x96x4)   (32 bpr)

For this: return state->mc6847_video_ram + (scanline / 2) * 0x20;

   25      1   X       X    X    1    0    1  Graphics RG3 (128x192x2)  (16 bpr)

For this: return state->mc6847_video_ram + (scanline / 2) * 0x10;

   26      1   X       X    X    1    1    0  Graphics CG6 (128x192x4)  (32 bpr)
   27      1   X       X    X    1    1    1  Graphics RG6 (256x192x2)  (32 bpr)

For these: return state->mc6847_video_ram + scanline * 0x20;

Page 4 of 14 1 2 3 4 5 6 13 14

Link Copied to Clipboard
Who's Online Now
0 members (), 131 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,345
Posts122,350
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