the cutting room mirror

MSI Entertainment Devices

The MSI Entertainment Devices are...something. These somehow-licensed Famiclones only have one game per console, all originating from the NES/Famicom, and are priced at a rather high $20 each. They're not the worst of these kinds of consoles out there, but certainly the most barebones, and are trumped by their older Y2K counterparts.

As each one is effectively based on the same code, all of the consoles will be documented on this page instead of separate pages for each game. Consoles analyzed include:

Consoles currently not properly analyzed include:

Controller and Checksum Test#

A basic controller test with some Nice Code music, accessed by holding A + B while turning a console on. This doesn't seem to work on Space Invaders, despite it still being in the system's code.

Controller Test Music

This is actually a cut down version of a test routine that actually does checksum calculation, which explains why it's always 0.

Unused Games#

Namco Classics Vol. 1#

Namco Classics Vol. 1 seems to share the same coding as Midway Classics Vol. 1, as all six games are intact. The menu system also seems to have every game incorporated; there is likely some way to change between the menus/game lists (be it through the software or the physical circuit board).

Unused Joust

Unused Defender II

Unused Gauntlet

However, Namco Classics seems to actually be based on an unfinished build of Midway Classics. Most notably, the original Gauntlet is used in the coding, while the final release uses Gauntlet II. Additionally, all of the games feature their original copyright information, save for (quite sloppily) removing any mention of Nintendo; the final system replaces all copyrights to only credit Warner Bros. Entertainment.

Unused Graphics#

Namco/Midway Classics Menu Graphics#

Msi-namco-midway-unused-gfx-1.png Msi-namco-midway-unused-gfx-2.png

Large sprites of Psy of Gangnam Style fame and Red and one of the Blues from Angry Birds, left over from the "Game Zone Classic Arcade" bootleg handheld.

(If you're curious, the birds' shoes are due to their sprites being based on Angry Birds 4, a hack of Kiwi Kraze featured on the Game Zone Classic Arcade.)

Unknown VT-Based Graphics#

Msi-entertainment-pnp-unknown-vt-gfx-1.pngMsi-entertainment-pnp-unknown-vt-gfx-2.png

CHR for an unknown game; its PRG does not seem to be present. It is overwritten in Double Dragon and Mega Man II.

When run as VT09

When run as VT03

The Taito logo at the beginning of Space Invaders is in VT03 format despite the console itself running on VT09, causing its colors to display incorrectly. By running it as VT03, the correct colors will be shown.

Frogger Source Code#

A chunk of source code can be found in Frogger at address 16000 (and duplicated several times throughout):

s
 CA1D A900          Lda #$00
 CA1F 8D9507        Sta Frogkt7XSpeedH
 CA22 8D9607        Sta Frogkt7XSpeedL
 CA25 A9FF          Lda #$FF
 CA27 8D9707        Sta Frogkt7YSpeedH
 CA2A A980          Lda #$80
 CA2C 8D9807        Sta Frogkt7YSpeedL
                
 CA2F A930          Lda #Frog7WriteScrOFF%$100
 CA31 8502          STA REG_DL
 CA33 8504          STA REG_BL
 CA35 A904          Lda #Frog7WriteScrOFF/$100
 CA37 8503          STA REG_DH
 CA39 8505          STA REG_BH
 CA3B A902          Lda #$02
 CA3D 8506          STA REG_CL
 CA3F 8507          STA REG_CH
 CA41 20A3DD        JSR CopySCRFun
                
 CA44 EE9907        Inc WhoKtAction
 CA47           OccurKtUEnd:
 CA47 60            Rts
                ;--------------------------------------------------------------------------------------------------;
 CA48           MoveKtFun:
 CA48 2087CB        Jsr ChangeKtFun
                
 CA4B AD5707        Lda Frogkt1No
 CA4E C9FF          Cmp #$FF
 CA50 F026          Beq MoveKtFun1
                
 CA52 AD5407        Lda Frogkt1XL
 CA55 18            Clc 
 CA56 6D5A07        Adc Frogkt1XSpeedL
 CA59 8D5407        Sta Frogkt1XL
 CA5C AD5307        Lda Frogkt1XH
 CA5F 6D5907        Adc Frogkt1XSpeedH
 CA62 8D5307        Sta Frogkt1XH
                
 CA65 AD5607        Lda Frogkt1YL
 CA68 18            Clc 
 CA69 6D5C07        Adc Frogkt1YSpeedL
 CA6C 8D5607        Sta Frogkt1YL
 CA6F AD5507        Lda Frogkt1YH
 CA72 6D5B07        Adc Frogkt1YSpeedH
 CA75 8D5507        Sta Frogkt1YH
                    
 CA78           MoveKtFun1:
 CA78 AD6107        Lda Frogkt2No
 CA7B C9FF          Cmp #$FF
 CA7D F026          Beq MoveKtFun2
                
 CA7F AD5E07        Lda Frogkt2XL
 CA82 18            Clc 
 CA83 6D6407        Adc Frogkt2XSpeedL
 CA86 8D5E07        Sta Frogkt2XL
 CA89 AD5D07        Lda Frogkt2XH
 CA8C 6D6307        Adc Frogkt2XSpeedH
 CA8F 8D5D07        Sta Frogkt2XH
                
 CA92 AD6007        Lda Frogkt2YL
 CA95 18            Clc 
 CA96 6D6607        Adc Frogkt2YSpeedL
 CA99 8D6007        Sta Frogkt2YL
 CA9C AD5F07        Lda Frogkt2YH
 CA9F 6D6507        Adc Frogkt2YSpeedH
 CAA2 8D5F07        Sta Frogkt2YH
                    
 CAA5           MoveKtFun2:
 CAA5 AD6B07        Lda Frogkt3No
 CAA8 C9FF          Cmp #$FF
 CAAA F026          Beq MoveKtFun3
                
 CAAC AD6807        Lda Frogkt3XL
 CAAF 18            Clc 
 CAB0 6D6E07        Adc Frogkt3XSpeedL
 CAB3 8D6807        Sta Frogkt3XL
 CAB6 AD6707        Lda Frogkt3XH
 CAB9 6D6D07        Adc Frogkt3XSpeedH
 CABC 8D6707        Sta FrogkT3XH
                
 CABF AD6A07        Lda Frogkt3YL
 CAC2 18            Clc 
 CAC3 6D7007        Adc Frogkt3YSpeedL
 CAC6 8D6A07        Sta Frogkt3YL
 CAC9 AD6907        Lda Frogkt3YH
 CACC 6D6F07        Adc Frogkt3YSpeedH
 CACF 8D6907        Sta Frogkt3YH
                    
 CAD2           MoveKtFun3:
 CAD2 AD7507        Lda Frogkt4No
 CAD5 C9FF          Cmp #$FF
 CAD7 F026          Beq MoveKtFun4
                
 CAD9 AD7207        Lda Frogkt4XL
 CADC 18            Clc 
 CADD 6D7807        Adc Frogkt4XSpeedL
 CAE0 8D7207        Sta Frogkt4XL
 CAE3 AD7107        Lda Frogkt4XH
 CAE6 6D7707        Adc Frogkt4XSpeedH
 CAE9 8D7107        Sta Frogkt4XH
                
 CAEC AD7407        Lda Frogkt4YL
 CAEF 18            Clc 
 CAF0 6D7A07        Adc Frogkt4YSpeedL
 CAF3 8D7407        Sta Frogkt4YL
 CAF6 AD7307        Lda Frogkt4YH
 CAF9 6D7907        Adc Frogkt4YSpeedH
 CAFC 8D7307        Sta Frogkt4YH
                    
 CAFF           MoveKtFun4:
 CAFF AD7F07        Lda Frogkt5No
 CB02 C9FF          Cmp #$FF
 CB04 F026          Beq MoveKtFun5
                
 CB06 AD7C07        Lda Frogkt5XL
 CB09 18            Clc 
 CB0A 6D8207        Adc Frogkt5XSpeedL
 CB0D 8D7C07        Sta Frogkt5XL
 CB10 AD7B07        Lda Frogkt5XH
 CB13 6D8107        Adc Frogkt5XSpeedH
 CB16 8D7B07        Sta Frogkt5XH
                
 CB19 AD7E07        Lda Frogkt5YL
 CB1C 18            Clc 
 CB1D 6D8407        Adc Frogkt5YSpeedL
 CB20 8D7E07        Sta Frogkt5YL
 CB23 AD7D07        Lda Frogkt5YH
 CB26 6D8307        Adc Frogkt5YSpeedH
 CB29 8D7D07        Sta Frogkt5YH
                    
 CB2C           MoveKtFun5:
 CB2C AD8907        Lda Frogkt6No
 CB2F C9FF          Cmp #$FF
 CB31 F026          Beq MoveKtFun6
                
 CB33 AD8607        Lda Frogkt6XL
 CB36 18            Clc 
 CB37 6D8C07        Adc Frogkt6XSpeedL
 CB3A 8D8607        Sta Frogkt6XL
 CB3D AD8507        Lda Frogkt6XH
 CB40 6D8B07        Adc Frogkt6XSpeedH
 CB43 8D8507        Sta Frogkt6XH
                
 CB46 AD8807        Lda Frogkt6YL
 CB49 18            Clc 
 CB4A 6D8E07        Adc Frogkt6YSpeedL
 CB4D 8D8807        Sta Frogkt6YL
 CB50 AD8707        Lda Frogkt6YH
 CB53 6D8D07        Adc Frogkt6YSpeedH
 CB56 8D8707        Sta Frogkt6YH
                    
 CB59           MoveKtFun6:
 CB59 AD9307        Lda Frogkt7No
 CB5C C9FF          Cmp #$FF
 CB5E F026          Beq MoveKtEND 
                
 CB60 AD9007        Lda Frogkt7XL
 CB63 18            Clc 
 CB64 6D9607        Adc Frogkt7XSpeedL
 CB67 8D9007        Sta Frogkt7XL
 CB6A AD8F07        Lda Frogkt7XH
 CB6D 6D9507        Adc Frogkt7XSpeedH
 CB70 8D8F07        Sta Frogkt7XH
                
 CB73 AD9207        Lda Frogkt7YL
 CB76 18            Clc 
 CB77 6D9807        Adc Frogkt7YSpeedL
 CB7A 8D9207        Sta Frogkt7YL
 CB7D AD9107        Lda Frogkt7YH
 CB80 6D9707        Adc Frogkt7YSpeedH
 CB83 8D9107        Sta Frogkt7YH
 CB86           MoveKtEND:
 CB86 60            Rts
                ;--------------------------------------------------------------------------------------------------;
 CB87           ChangeKtFun:
 CB87 AD5707        Lda Frogkt1No
 CB8A C9FF          Cmp #$FF
 CB8C F027          Beq ChangeKtFun1
                
 CB8E EE5807        Inc Frogkt1ChangeYs
 CB91 AD5807        Lda Frogkt1ChangeYs
 CB94 C90A          Cmp #ChangeYsOFF
 CB96 901D          Bcc ChangeKtFun1
 CB98 A900          Lda #$00
 CB9A 8D5807        Sta Frogkt1ChangeYs
 CB9D AD5707        Lda Frogkt1No
 CBA0 8500          Sta Reg_Al
 CBA2 E600          Inc Reg_Al
 CBA4 A500          Lda Reg_Al
 CBA6 2907          And #$07
 CBA8 8500          Sta Reg_Al
 CBAA AD5707        Lda Frogkt1No
 CBAD 29F8          And #$F8
 CBAF 0500          Ora Reg_Al
 CBB1 8D5707        Sta Frogkt1No
 CBB4 60            Rts
                    
 CBB5           ChangeKtFun1:
 CBB5 AD6107        Lda Frogkt2No
 CBB8 C9FF          Cmp #$FF
 CBBA F027          Beq ChangeKtFun2
                
 CBBC EE6207        Inc Frogkt2ChangeYs
 CBBF AD6207        Lda Frogkt2ChangeYs
 CBC2 C90A          Cmp #ChangeYsOFF
 CBC4 901D          Bcc ChangeKtFun2
 CBC6 A900          Lda #$00
 CBC8 8D6207        Sta Frogkt2ChangeYs
 CBCB AD6107        Lda Frogkt2No
 CBCE 8500          Sta Reg_Al
 CBD0 E600          Inc Reg_Al
 CBD2 A500          Lda Reg_Al
 CBD4 2907          And #$07
 CBD6 8500          Sta Reg_Al
 CBD8 AD6107        Lda Frogkt2No
 CBDB 29F8          And #$F8
 CBDD 0500          Ora Reg_Al
 CBDF 8D6107        Sta Frogkt2No
 CBE2 60            Rts
                    
 CBE3           ChangeKtFun2:
 CBE3 AD6B07        Lda Frogkt3No
 CBE6 C9FF          Cmp #$FF
 CBE8 F027          Beq ChangeKtFun3
                
 CBEA EE6C07        Inc Frogkt3ChangeYs
 CBED AD6C07        Lda Frogkt3ChangeYs
 CBF0 C90A          Cmp #ChangeYsOFF
 CBF2 901D          Bcc ChangeKtFun3
 CBF4 A900          Lda #$00
 CBF6 8D6C07        Sta Frogkt3ChangeYs
 CBF9 AD6B07        Lda Frogkt3No
 CBFC 8500          Sta Reg_Al
 CBFE E600          Inc Reg_Al
 CC00 A500          Lda Reg_Al
 CC02 2907          And #$07
 CC04 8500          Sta Reg_Al
 CC06 AD6B07        Lda Frogkt3No
 CC09 29F8          And #$F8
 CC0B 0500          Ora Reg_Al
 CC0D 8D6B07        Sta Frogkt3No
 CC10 60            Rts
                    
 CC11           ChangeKtFun3:
 CC11 AD7507        Lda Frogkt4No
 CC14 C9FF          Cmp #$FF
 CC16 F027          Beq ChangeKtFun4
                
 CC18 EE7607        Inc Frogkt4ChangeYs
 CC1B AD7607        Lda Frogkt4ChangeYs
 CC1E C90A          Cmp #ChangeYsOFF
 CC20 901D          Bcc ChangeKtFun4
 CC22 A900          Lda #$00
 CC24 8D7607        Sta Frogkt4ChangeYs
 CC27 AD7507        Lda Frogkt4No
 CC2A 8500          Sta Reg_Al
 CC2C E600          Inc Reg_Al
 CC2E A500          Lda Reg_Al
 CC30 2907          And #$07
 CC32 8500          Sta Reg_Al
 CC34 AD7507        Lda Frogkt4No
 CC37 29F8          And #$F8
 CC39 0500          Ora Reg_Al
 CC3B 8D7507        Sta Frogkt4No
 CC3E 60            Rts
                    
 CC3F           ChangeKtFun4:
 CC3F AD7F07        Lda Fro

WWE Steel Cage Challenge#

Main article: WWE WrestleMania: Steel Cage Challenge

There were two releases of the unit, with production dates on the packaging of 082018 and 092018.

  • The 082018 release is more polished, with new arrangements of Ultimate Warrior and Razor Ramon's entry music to go with their use as replacement characters. This carries a copyright date of 2018, and doesn't contain the Ms. Pac-Man code listed below as it has a 1MB Flash ROM.
  • The 092018 release is more common, but has a 2017 copyright and does not feature the entry themes for the new characters, just the original themes dummied out. This has a 2MB ROM, containing the unused Ms. Pac-Man code.

Reused Content and Other Oddities#

  • Space Invaders has the two-player mode intact by pressing Select (a button not present on the system itself), though it causes the graphics to glitch slightly.
  • The WWE system has the entirety of the Ms. Pac-Man system as the first half of its coding.
  • Ms. Pac-Man (and as such WWE) have leftover Taito copyrights from Space Invaders.
  • The original Mega Man II NES release runs on a single "mapper 1" MMC1 PRG chip with CHR-RAM. Because pre-VT3x VRT hardware runs on MMC3-like bank-switching by default, the developers converted the game to use a "mapper 4" CHR-ROM format, with both PRG data and (ridiculously large in size) CHR data. This conversion process caused the game to have numerous (mostly graphical) glitches, such as the "READY" text being missing at the start of each level.
  • The Mega Man II system reverses the controls in its coding (pressing Left goes right, pressing Up goes down, etc). Compared to the original game, three bytes were altered in order to inverse all control functions, implying that it is intentional; it is very likely to be due to the console being oriented upside-down compared to other MSI consoles.