Pop Breaker/Bugs

From Sega Retro

Back to: Pop Breaker.

Region detection

Game Gear games are capable of region detection, but none deliberately employed region locking to prevent them from running on consoles in particular markets. However, Pop Breaker is the only commercially released Game Gear game that is effectively region locked because of a bug.

The  START  button on the Game Gear is read by checking the state of port $00. If bit 7 is low (%00000000), the button is pressed; otherwise, if bit 7 is high (%10000000), the button is not pressed.[1] The Game Gear also uses port $00 to encode the region of the hardware (differently from how the Master System handles region detection). If bit 6 is low (%00000000), the console is a Japanese unit; otherwise, if bit 6 is high (%01000000), it is a non-Japanese unit.[2]

Pop Breaker treats port $00 as if it only contains the state of the  START  button and only checks if its value is nonzero, without masking the number to ignore everything but bit 7. This is a valid assumption on a Japanese system, but on a Western unit, the value of the port is always nonzero because of the region bit. Therefore, the game always erroneously interprets the  START  button as not being pressed, and it is only possible to proceed past the title screen on a Japanese Game Gear.

Not fixed in any version.

References


Pop Breaker

PopBreaker title.png

Main page | Maps | Bugs | Magazine articles | Reception


Books:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Pop Breaker" and `cargo__relationships`.`relationshiptype`="book" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1cce24-14c.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Music:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Pop Breaker" and `cargo__relationships`.`relationshiptype`="music" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1cce24-14f.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Audiobooks:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Pop Breaker" and `cargo__relationships`.`relationshiptype`="audiobook" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1cce24-152.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Videos:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `name`,`cargo__releases`.`date` AS `date` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__releases` ON ((`cargo__relationships`.`name`=`cargo__releases`.`name`)) WHERE `cargo__relationships`.`relatedto`="Pop Breaker" and `cargo__relationships`.`relationshiptype`="video" GROUP BY `cargo__releases`.`name` ORDER BY `cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1cce24-155.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
Events:
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__relationships`.`name` AS `eventname`,`cargo__events`.`startdate` AS `startdate` FROM `cargo__relationships` LEFT OUTER JOIN `cargo__events` ON ((`cargo__relationships`.`name`=`cargo__events`.`name`)) WHERE `cargo__relationships`.`relatedto`="Pop Breaker" and `cargo__relationships`.`relationshiptype`="event" GROUP BY `cargo__events`.`name` ORDER BY `cargo__events`.`startdate` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1cce24-158.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)

</di
A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__demos`.`name` AS `name`,`cargo__codeformat`.`code` AS `code`,`cargo__releases`.`date` AS `date` FROM `cargo__releases` LEFT OUTER JOIN `cargo__demos` ON ((`cargo__releases`.`name`=`cargo__demos`.`name`)) LEFT OUTER JOIN `cargo__codeformat` ON ((`cargo__demos`.`format`=`cargo__codeformat`.`format`)) WHERE `cargo__demos`.`game`="Pop Breaker" GROUP BY `cargo__demos`.`name` ORDER BY `cargo__demos`.`name`,`cargo__codeformat`.`code`,`cargo__releases`.`date` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1cce24-15c.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)


A database query error has occurred. Did you forget to run your application's database schema updater after upgrading?

Query: SELECT `cargo__prototypes`.`name` AS `name`,`cargo__codeformat`.`code` AS `code` FROM `cargo__prototypes` LEFT OUTER JOIN `cargo__codeformat` ON ((`cargo__prototypes`.`format`=`cargo__codeformat`.`format`)) WHERE final="Pop Breaker" GROUP BY `cargo__prototypes`.`name` ORDER BY `cargo__prototypes`.`name`,`cargo__codeformat`.`code` LIMIT 100 Function: CargoSQLQuery::run Error: 1021 Disk full (/tmp/#sql-temptable-15e6a-1cce24-15f.MAI); waiting for someone to free some space... (errno: 28 "No space left on device") (localhost)