Author Topic: Meteor Blaster DX Reprint  (Read 6746 times)

Bernie

  • Guest
Re: Meteor Blaster DX Reprint
« Reply #240 on: June 09, 2013, 01:37:07 PM »
Implode is a pressed disc, and IMO way more fun than Meteor Blaster.  :) 

Necromancer

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 21366
Re: Meteor Blaster DX Reprint
« Reply #241 on: June 11, 2013, 04:43:49 AM »
Mine arrived today but the packaging is the same as the original. How will I be able to distinguish them apart?

Besides the obvious tray difference, they're similar but not identical:

-  slight color shift, most obviously on the spine title
-  new version's font is less bold and less condensed (enough to shift line breaks even)
-  new disc's label is printed further into the hub area
-  new disc's printing is much clearer and easier to read (small white text)
-  one of the three screen shots on the case back is different
-  "Made in Canada" was added to the case back
U.S. Collection: 97% complete    155/159 titles

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Meteor Blaster DX Reprint
« Reply #242 on: June 11, 2013, 11:21:26 AM »
Yellowbook standard isn't applicable here. PCE cds predate that.


Meh, I would've responded sooner, but I lost a post a few days ago - browser crash. Anyway, you didn't at all find saying this counter-intuitive, that PCE CDs somehow predate Yellowbook ?? What else would they be following ?? They use Yellowbook mode 1 data sectors, they're not anything else, then you have the mixed mode CD layout, like the extended 3 second pregap rule when it comes to track type transitions that we were previously talking about, all of which comes from Yellowbook... Moreover, a CD-R is based on Orangebook which is meant to allow everyone to burn Redbook or Yellowbook type discs, and CD-Rs in fact work on all NEC systems (burning software would only know how to do Yellowbook, not something custom NEC might've done) which also support CD+G discs, though that apparently came with an updated revision of Redbook.

Yellowbook is an extension to Redbook that was developed in 1985 by Sony and Phillips because the industry wanted reliable digital data storage (audio discs have no CRC checking) etc. You'd have to believe Hudson/NEC created their own data sector format here... No, they got licensing from Sony/Phillips obviously... I suspect you've been misled by inaccurate information, possibly by Wikipedia or other places... I discovered it because I was googling around enough trying to understand why you would've said this. So first note on the Compact Disc page, they have the correct information:

Quote from: http://en.wikipedia.org/wiki/Compact_disc link=http://en.wikipedia.org/wiki/Compact_disc
For the first few years of its existence, the CD was a medium used purely for audio. However, in 1985 the Yellow Book CD-ROM standard was established by Sony and Philips,


HOWEVER, on the CD-ROM page, they have a clear error:

Quote from: http://en.wikipedia.org/wiki/CD-ROM link=http://en.wikipedia.org/wiki/CD-ROM
"the Yellow Book, created by Sony and Philips in 1988, was the first extension of Compact Disc Digital Audio."


In actuality, all that happened in 1988 was that the ISO and ECMA groups adopted Yellowbook as a standard (it was also extended, CD-ROM/XA, by adding "mode 2" type data sectors). They gave out free information with that standard too, whereas normally you had to pay Sony/Phillips to get a full copy of Yellowbook. Anyhow, it had in fact been around for 3 years, available for licensing from Sony/Phillips, so plenty of time for NEC to have developed a system around it. Wiki says that NEC released their first CD add-on unit in 1988 (I'm trusting it here), so yeah, that's 3 years later... That timeline fits! If both Yellowbook and NEC's CD unit were released in 1988, NEC would've had to work pretty damn fast to support it... But yeah, you can verify that many documents state 1985 as the year Yellowbook was developed (it seems the 1988 error is widespread though). I just kept digging further which is how I found this error because reading that both were released in 1988 just didn't make sense; NEC couldn't have worked that fast so somebody had the wrong year. Sure enough, it was whatever wiki-knucklehead that edited that CD-ROM page.

Quote from: TheOldMan
Except thats not what I'm seeing in the code. The cd electronics has a register the holds the pq-code for the current frame. Bios monitors that register (and &'s it with a mask ) looking for a particular bit to be turned on. Then it starts loading into memory, and starts executing code when the read finishes.... (it's a 1 sector read, the ipl)
Please note, it is not requesting to read a particular sector. It checks the bit, and then starts reading....

As far as I can tell, it doesn't read the TOC until -after- it has checked for a bootable cd.
I'll keep looking into the bios, though. I haven't drilled all the way down into all of the routines to see what is going on.


Alright, I did a simple test to put this to bed. I put a plain music CD in a drive I have that has no top cover so I can fully see the laser (connected via IDE to USB) - it's a useful drive I have around for other purposes. Anyway, then I fired up some emulators, MagicEngine and Ootake, booted with the System Card 3, and within ONE second, the Audio CD Player menu had booted showing you all available tracks on the CD, ready to play 'em, etc. The laser never really moved from the inner-most center of the CD to the outer-most, it stayed right there at the beginning of the CD... So, simply put, that tells me that the BIOS read the TOC, looped through all tracks, detected them as all of type 'audio' and acted accordingly. The laser didn't seek from the start to the end of the CD as you have suggested, looking for the first sector that is of type data as the first course of action. Again, that info is all right in the TOC, so why would you first blindly seek-scan the whole disc ??? Don't get lost in BIOS assembly, just think intuitively about it...

I tried another test with Ys IV as well. I burned a test disc where I removed track 2 from the CUE file, so the whole disc was all audio, except for the final data track. So within a second, the laser flew from left to right, all the way to the end of the disc and started booting the game, etc. Booting took ~3 seconds once it was there.

What I don't know is how seeking works exactly though, is it efficient or blindly linear, like if you ask the laser to seek to a LBA that is at the end of the CD or wherever, does it predict/compute a distance to move so it can be done quickly, possibly over/under-shooting in the process and then read the sector's Q subcode data and move accordingly (recovering), OR, does it read every sector's Q subcode data from start to finish until it finally gets to that sector that was asked for, etc. Cause if it's completely linear, then your suggestion about seeking the first sector that is of type data makes sense - It'll work and you wouldn't have to know the exact LBA in this case.

But anyhow, the relevancy of the 2 tests is that it clearly knows *in advance* from the TOC whether all tracks are of type 'audio' (in which case it boots the CD player menu) OR if there is at least one data track to try to boot from, etc. Conclusion: It scans the TOC first, as is normal and intuitive. As for how it seeks that data track, once it knows from the TOC that there is at least one, you could be correct about not using the LBA. It doesn't sound intuitive to me, but the technique you're describing based on the code could work. Perhaps it's a faster comparison in the seeking process, detecting a data sector versus the 4-byte comparison of the LBA. Not sure the easiest or fastest way to detect a data sector over an audio one, though. SectorHeader[15] would equal 01, indicating a mode 1 sector, but that means reading the sector data (which would slow things down), so rather, there'd have to be further flagging in the Q subcode data that's read in seek operations and that'd require less comparison op-codes for detection, etc.





Hey, Necro's avatar is back, slightly newer and improved! Or wait, is that exactly the same ?? The coloring or something seemed different to me at first. I guess it's the same.
« Last Edit: June 11, 2013, 01:14:11 PM by NightWolve »

TheOldMan

  • Hero Member
  • *****
  • Posts: 958
Re: Meteor Blaster DX Reprint
« Reply #243 on: June 11, 2013, 01:19:17 PM »
Quote
Yellowbook is an extension to Redbook that was created in 1985
Was going by dates in the ecma doc you posted. "High-Sierra" was 85, iso-9660 was 86, and yellowbook was 87. Not that there is that much difference, I suspect.
I did however mis-remember the sys 2.0 bios date. I thought it said 86, but in fact it says 89.
Given that it had to take time to develope and finalize everything, I could see them using high-sierra format for cds. It takes a while for production to catch up to the standards. So there could be minor differences, not that it matters.

Quote
Again, that info is all right in the TOC, so why would you first blindly seek-scan the whole disc ??? Don't get lost in BIOS assembly, just think intuitively about it...
Personally, I would use the TOC as well. But who know what the guys at NEC were thinking. I do wonder what exactly they thought of the ramifications of Section 20 in iso-10149 and emca-130. If you unravel the description, you will find that a cd isn't required to have a TOC - the lead-in area can be pure audio. Maybe they were thinking of how to deal with that.
[As an aside, I wonder what bozo left that hole in, and if there are actually any cds that -don't- have a TOC. I've never seen one, personally]

Quote
So, simply put, that tells me that the BIOS read the TOC
Probably. It may be doing the Q channel check on TOC data. I just don't see that in the bios code.
But then, I haven't unraveled it all yet, either :)

Quote
What I don't know is how seeking works exactly though, is it efficient or blindly linear,
I don't understand seeks that well either. I suspect that a seek is a high-speed read, where only the timestamps and channel codes are decoded.

Quote
Not sure the easiest or fastest way to detect a data sector over an audio one, though.
All you would need to do is monitor the Q channel bit. When it changes, you've hit a data sector. The Q bit is also encoded in the data stream, so it would be simple to check - at the hardware level. Maybe not so easy in packetized software, where you get a whole 2352 bytes at once.

After writing that, I opted to check it on my tg16. The 'seek' button is faster than playing, about 10 to 1. But that would still be too slow for the kind of performance we're looking at. However, the 'next track' button is awfully fast.
So maybe there is a faster speed for that operation. Even if we assume it goes directly to a particular track on the disc, the hardware still has to recognize that track, probably by watching the P channel bit. In theory, that same operation could apply to the Q channel bit, for recognizing a data track.

In theory, of course...

Back to the original question, though. The P bit has something to do with detecting the beginning and end of a track. I suspect that's why you can stuff extra audio in the 'gap' between 2 audio tracks - there is no way to check to make sure the data written is actually a 'gap'  (Audio tracks are pure data.)
The Q bit is used to recognize a data track - and that's probably how newer audio-only players mute those tracks (and refuse to play them) So if you are trying to get the actual start/end of the tracks you would need to check those bits yourself, instead of trying to calculate where the tracks start/end by the TOC times.
[And, from a programming point of view, if you get a 2352 byte sector back with the channel codes, it should be easy to switch between handling an audio sector (Q=0) and a data sector (Q=1).]

The problem with calculating start/end based on time is that the gap times given in all the documents are minimum times. The gaps can be longer, and that's perfectly acceptable. Iirc, one of the early us cds had the data track aligned to a second boundary - which meant it's gap was 00:03:01. That's right, 1 extra frame there. Drove me nuts for a while... (Fighting Street, I think it was)

As for not replying, don't sweat it. I've been busy myself trying to debug this demo for ccag. That's why I haven't started testing all this stuff. Or finishing the bios disassembly. Or any of the million other things I need to do. Reply when you get a chance.
And I'll probably hear from arkhan about spending an hour replying to this, instead of bug-squashing :)

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: Meteor Blaster DX Reprint
« Reply #244 on: June 11, 2013, 02:16:03 PM »
Quote
Was going by dates in the ecma doc you posted. "High-Sierra" was 85, iso-9660 was 86, and yellowbook was 87. Not that there is that much difference, I suspect.
I did however mis-remember the sys 2.0 bios date. I thought it said 86, but in fact it says 89.
Given that it had to take time to develope and finalize everything, I could see them using high-sierra format for cds. It takes a while for production to catch up to the standards. So there could be minor differences, not that it matters

 Not sure what doc that is, but yeah.. yellow book format was defined before ISO-9660. ISO-9660 was developed because of a need for a standardize file system for the data CDs, hence CDFS was born. That, and it standardized how the data and audio disc should be laid out for a CDFS setup (one data track, the first, followed by audio tracks). I'm pretty sure the boot identity string at the certain sector address wasn't originally in the ISO-9660 spec, but I could be wrong on that.

Quote
Again, that info is all right in the TOC, so why would you first blindly seek-scan the whole disc ??? Don't get lost in BIOS assembly, just think intuitively about it...  

 I doubt the sys card disassembly is going to get you much. It's at least one layer above the CD hardware. There's an embedded MCU (z80 based) with embedded ram that controls and interfaces with the CD (sony, last I checked) ICs. The 6280 communicates with this MCU device (hence the SCSI CD extension type command structure).

 On a side note, the data in the sector on the disc isn't exactly stored in linear format (though I think that's already known here), even though it's accessed as such. It's interleaved with other bits on the disc. For subchannel data on the TGCD (which is how it can play CD-Gs), you can get access to all of it per data sector - but it's given in something like 91 interrupts that are spaced out as the sector is being read (as opposed to just accessing it in linear fashion like you do with reading the data port for the sector data).

 BTW, love this discussion :D
« Last Edit: June 11, 2013, 02:17:48 PM by Bonknuts »

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Meteor Blaster DX Reprint
« Reply #245 on: June 11, 2013, 04:53:34 PM »
Quote
Was going by dates in the ecma doc you posted. "High-Sierra" was 85, iso-9660 was 86, and yellowbook was 87. Not that there is that much difference, I suspect.

 Not sure what doc that is, but yeah.. yellow book format was defined before ISO-9660.

I suspect he read this part from the ECMA-130 PDF I posted earlier: "The specification of the disk itself was contained in a document called “Yellow Book” issued by the Philips and Sony Companies for their licensees only. In Spring 1987 ECMA was asked to produce a standard reflecting the contents of the “Yellow Book” as the necessary complement to Standard ECMA-119", and from that, I guess concluded that Yellow Book was of 1987. But a proper inference is that it was already privately available to licensees-only (one or more years prior to 1987, '85 as stated), just that ECMA was asked to produce a standard based on it in the Spring of 1987, etc. They don't specify when, but glad to see they're not spreading the 1988 error.

Quote from: Bonknuts
I doubt the sys card disassembly is going to get you much. It's at least one layer above the CD hardware. There's an embedded MCU (z80 based) with embedded ram that controls and interfaces with the CD (sony, last I checked) ICs. The 6280 communicates with this MCU device (hence the SCSI CD extension type command structure).

Yeah, wouldn't be surprised. A visual test in this case was simple enough to make a sound conclusion. If the NEC CD system is basically a hacked audio CD player (David Shadoff's description), and the very first thing that a regular audio CD player traditionally does is load the TOC, well, I wouldn't expect dissimilar behavior here. Plus, I wasn't ready to fully trust someone's random BIOS level tracing of primitive Assembly. ;)

Quote from: Bonknuts
On a side note, the data in the sector on the disc isn't exactly stored in linear format (though I think that's already known here), even though it's accessed as such. It's interleaved with other bits on the disc.

Yeah, I just needed a way to describe two possible seek methods. Must you read the Q data sector by sector (linear) when seeking, or, can you compute some distance in advance based on the LBA to save some time and move the laser faster without reading every sector's Q data in between (since the physical characteristics of a CD are pretty fixed, a 120 mm round disc), etc. If that makes sense.

Quote from: Bonknuts
BTW, love this discussion :D

Kind of an awkward tangent in relation to the topic, but my main original interest was seeing how to solve the problem with pressing plants rejecting our mixed-mode CDs, trying to fully get to the bottom of what the problem really is and all that, etc. I figured someone would've complained at our detour here, actually, not the opposite. ;) (So nobody has the original Yellowbook... :()


The problem with calculating start/end based on time is that the gap times given in all the documents are minimum times. The gaps can be longer, and that's perfectly acceptable. Iirc, one of the early us cds had the data track aligned to a second boundary - which meant it's gap was 00:03:01. That's right, 1 extra frame there. Drove me nuts for a while... (Fighting Street, I think it was)

Aha! Quite a coincidence! I had just discovered there was something unusual about Fighting Street a few weeks ago. I wanted an original disc to test with, and it just happened to be the one that I pulled out of my collection. I was worried that for such games, you'd have to force an even 3:00 pre-gap regardless of what was actually there which appears to be what CDRWIN and other software had been doing all along. I'll have to recheck that, but I just don't remember ever seeing a CUE file with an uneven time for the gap command, it's always been an even 2:00 or 3:00 seconds!

Below, I traced TurboRip in VC++2005 with the newly (WIP) Q subcode detection code and I marked the LBA values when index 01 changes to index 00, along with track number changes etc. I found that the first pre-gap is actually 230 sectors in length (not 225 like it should be!), so in MM:SS:FF format, it comes out to 03:05! Not a big deal mind you, just that it's unusual! It does present the small problem mentioned though, would I want to hard-code a rule, an exception, just for that game, despite what is actually being read/detected ?? I think not. It's no big deal to preserve it and burn it back exactly the way that it is.

Quote
// ** Fighting Street (U) transition layout **
   // Track 1, Index 01 = 0000 to 3364 (Actual Audio)

   // Track 2, Index 00 = 3365 to 3444 (Marked as Audio)
   // Track 2, Index 00 = 3445 to 3594 (Marked as Data)  [3594-3365+1 = 230 sectors of pre-gap]
   // Track 2, Index 01 = 3595 to 11330 (Actual Data)

   // Track 3, Index 00 = 11331 to     (Marked as Audio)
      // errors at 11336
      // 11337 continues
   // Track 3, Index 01 = 11481 (Actual Audio)

Quote from: TheOldMan
Probably hear from arkhan about spending an hour replying to this, instead of bug-squashing :)

S'alright, it's in the name of science!
« Last Edit: June 11, 2013, 06:35:07 PM by NightWolve »

TheOldMan

  • Hero Member
  • *****
  • Posts: 958
Re: Meteor Blaster DX Reprint
« Reply #246 on: June 11, 2013, 07:53:43 PM »
Quote
I suspect he read this part from the ECMA-130 PDF I posted earlier...
Yep. The only one I really remember, though, was the High-sierra, which definately pre-dated them all.
And the only reason I remember that is because there were other odd-ball formats up until then - and high sierra format wasn't embraced as a 'standard' back then (There was a lot of chatter about 'big' companies trying to force a standard through, and making everyone pay for it).

Quote
the very first thing that a regular audio CD player traditionally does is load the TOC, well, I wouldn't expect dissimilar behavior here.
I wouldn't expect it either. I just can't prove it. It's equally possible that having the scsi port connected alters the behavior of the CD drive. But I can't prove that one either.
Tom: Is there a RAM chip on the cd drive? If not, how would it store the TOC?

Quote
Below, I traced TurboRip in VC++2005 with the newly (WIP) Q subcode detection code and I marked the LBA values when index 01 changes to index 00, along with track number changes etc.
Cool. So (forgive my asking for this) Is there any way to correlate both the P and q channel changes with the index number changes, and see how accurate they are in relation to the TOC data? It might be possible that a change in the P and/or Q bit signifies the 'real' end of a track. (I still haven't figured out what the P bit actually indicates... )
Someday I'm hoping we figure this all out, and get something that can tell us exactly where things start and end on the cds. Not because I want a perfect copy, but because I want to be able to rip -just- the inter-track stuff and see what's in those gaps...

(I know, I can do it by hand, but that's a pain. Would be nice to rip just the gaps from various cds, and see how they align with each other. That could be part of reconstructing the original dev-kit code....)

From that dump, I have to laugh. the '1 sec' audio gap before the data is actually 79 sectors. Gotta love that; within the standard, but not anything a casual tinkerer would notice without looking for it.
But it does illustrate how important those channel bits are to getting a cd to pass testing for meeting the standards. Maybe someday I'll try embedding extra stuff in the gaps and see if I can get it to pass.
.......................................................
Quick aside: Does anyone know if you can combine audio, data and CD+G information on a CD? I can't see any reason you couldn't, but thought I'd ask first.

bt

  • Full Member
  • ***
  • Posts: 164
Re: Meteor Blaster DX Reprint
« Reply #247 on: June 13, 2013, 10:53:38 PM »
Quote
-  "Made in Canada" was added to the case back

The original had this too because the original CD-Rs were actually made in Canada.  These were made in Indiana, which, as far as I know, has not been annexed by Canada.

Necromancer

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 21366
Re: Meteor Blaster DX Reprint
« Reply #248 on: June 17, 2013, 03:46:35 AM »
The original had this too because the original CD-Rs were actually made in Canada.


  :mrgreen:






















Original Version











































Signature Edition











































New Version

(another difference: the new one is missing the hyphen in "In-Game")

These were made in Indiana, which, as far as I know, has not been annexed by Canada.


Wishful thinking by Hoosiers that want to be Hosers?
U.S. Collection: 97% complete    155/159 titles

FiftyQuid

  • Hero Member
  • *****
  • Posts: 1881
Re: Meteor Blaster DX Reprint
« Reply #249 on: June 25, 2013, 03:13:57 AM »
These were made in Indiana, which, as far as I know, has not been annexed by Canada.
Not yet. :)  I'm sure you guys wouldn't miss it.

Got mine today.  It's crazy how the postal service (USPS and Canada Post) can be so slow sometimes.  I'll have something shipped to me and sometimes it'll take 2 days.  Other times I'm waiting weeks and weeks.  This shipment fell into the latter category.  Anyway, both games arrived today and both are in good condition;



Thank you!
I'm busy playing pinball, but I still drop by to visit.

turbofan1

  • Full Member
  • ***
  • Posts: 190
Re: Meteor Blaster DX Reprint
« Reply #250 on: June 25, 2013, 01:36:20 PM »
Excuse my ignorance,I thought Mindrec was based in the Uk or England or something?.On the back of Meteor Blaster dx it says Durham Nc.





Necromancer

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 21366
Re: Meteor Blaster DX Reprint
« Reply #251 on: June 26, 2013, 02:31:10 AM »
I'm pretty sure they've always been in NC.
U.S. Collection: 97% complete    155/159 titles

NightWolve

  • Hero Member
  • *****
  • Posts: 5277
Re: Meteor Blaster DX Reprint
« Reply #252 on: June 26, 2013, 10:32:10 PM »
Cool. So (forgive my asking for this) Is there any way to correlate both the P and q channel changes with the index number changes, and see how accurate they are in relation to the TOC data? It might be possible that a change in the P and/or Q bit signifies the 'real' end of a track. (I still haven't figured out what the P bit actually indicates... )

Well, the TOC always gives you the start LBA of a new track right at index 01 (the first sector marked as 01 in the Q data). That's a guarantee as far as the rules go. The previous sectors *might* be marked as index 00 and have the same track number, so then you've got a pregap/pause situation, etc.

The best strategy (so far I think) to find the true end/stop LBA of the current track would be to use the LBA of the next track listed in the TOC minus one sector like you normally would, subtract a second (75 sectors) to read backwards from that point, and see if the track number from the Q data still matches. If index is 00, and the track # is +1, then it belongs to the next track, so you'd subtract another second and try again until you get the track # in the Q data to match the track # that you're reading (TOC-wise). Then you've got the true end/stop LBA for that track. Many programs take the LBA of the next track minus one for the stop/end LBA with no Q subcode analysis, like when you ask to read that first audio track in a NEC disc, and when they hit a pregap to a data track transition, they error out (the problem we've talked about). This was one of the failures of programmers in track by track ripping, a detail they missed.

Anyhow, that's how I'm thinking of doing it with TurboRip if that makes sense, something like that. That's the equivalent of the "Quick" version of CDRWIN's subcode analysis I would bet. I use the MMC 0xBE read raw command, but with a flag set for returning the Q data. So I've never played with the P data. The other flag available is for raw 'P' and 'W' together, or 'RW'. Maybe I'll look at this P data too, to see if it helps in someway, but I think it can be done with just the Q data (finding the true end of the track you're reading and multiple index detection).

Quote
Quick aside: Does anyone know if you can combine audio, data and CD+G information on a CD? I can't see any reason you couldn't, but thought I'd ask first.

I would think so in different tracks.
« Last Edit: June 27, 2013, 04:15:44 PM by NightWolve »

bt

  • Full Member
  • ***
  • Posts: 164
Re: Meteor Blaster DX Reprint
« Reply #253 on: August 03, 2013, 07:13:17 AM »
I'm pretty sure they've always been in NC.

Not always (started out in Seattle), but ever since we've been doing PCE games, NC has been home.

esadajr

  • Hero Member
  • *****
  • Posts: 1372
Re: Meteor Blaster DX Reprint
« Reply #254 on: August 04, 2013, 08:33:19 AM »
great quality product, dont miss it
Gaming since 1985