BC Racers/Hidden content

From Sega Retro

Back to: BC Racers.

32X version

Sega logo ™ symbol

BCRacers 32X JP Sega.png

While not released in Japan, code exists to remove the ™ symbol from the introductory Sega logo if the game detects it is being played on a Japanese system.

Hidden text

Present at 002F63A4 in the ROM is a chunk of macro code from an old version of Multi-Edit.[1]

turn_int = DlgExecute( dlg, 100, "Warning!", FILELOCK_HELPLINK, "", DLG_ScreenCenter );
DlgKill( dlg );
#ELSE
RM('MEERROR^MessageBox /NW=1/T=Warning/M=Your configuration files are locked.  Before unlocking them, insure that there are NOT multiple copies of Multi-Edit running with your user id.');
RM('USERIN^XMENU /B=1/X=25/Y=8/T=1/L=Action:/M=Unlock configuration files()Ignore and leave files locked()');
kill_box;
#ENDIF
if(  return_int == 1  ) {
int tr = refresh;
str tstr;
refresh = false;
make_message('Unlocking configuration files ');
working;
delete_window;
if(  user_id == ''  ) {
if(  (Global_Str('@DB_EXTENSION') == '')  ) {
tstr = me_path + '*.DB';
call unlock_files; } else { tstr = me_path + '*.' + Global_Str('@DB_EXTENSION');
call unlock_files; } tstr = me_path + '*.ME';
call unlock_files;
} else {
//          tstr = me_path + user_id + '.USR\*.*';
return_str = '<USER_PATH>*.*';
rm('XlateCmdLine');
tstr = return_str;
call unlock_files;
} tstr = user_id + 'MEERR.TMP';
call unlock_files;
//        tstr = me_path + user_id + '*.TMP';
return_str = '<USER_PATH>*.TMP';
rm('XlateCmdLine');
tstr = return_str;
call unlock_files;
goto config_unlocked;
unlock_files: int jx = FIRST_FILE(TSTR);
while(  jx == 0  ) { if(last_file_attr & 1) { if( switch_file( caps(fexpand( get_path( tstr ) + last_file_name )))) { if(file_changed) save_file;
delete_window;
} Set_File_Attr( get_path( tstr ) + last_file_name, last_file_attr & $FE );
} jx = next_file;
} ret;
config_unlocked: make_message('Configuration files unlocked.');
refresh = tr;
} return();
} void ProcessCmdLine( int m = parse_int("/M=", mparm_str) ) { } macro PARMLOAD  {
/*******************************************************************************
MULTI_EDIT MACRO
Name: PARMLOAD
Description:  This macro is called by Multi-Edit directly after STARTUP.  It
takes care of loading in files and executing macros from the
command line
 (C) Copyright 1991 by American Cybernetics, Inc.
*******************************************************************************/
int parmload_mode = parse_int("/M=", mparm_str);
#ifdef DEMO if( !parmload_mode) {
// special stuff for the demo to support Evolve
if (global_int('!EVgDialectId')) { 
/* make_message("!EVgDialectId=" + str(global_int('!EVgDialectId')));
read_key;
*/ RM("EVINIT");
} } #endif // DEMO
int Load_Count,Parm_Number;
int cur_id = window_id;
int jx, tw, tr, mouse_initialized = FALSE ;
int restore_enable = 1, no_restore = 0, Goto_L_Num = 0;
str TStr, TStr2, Goto_F_Name[80], session_name[128] = "";
str wdir[512] = ""; set_global_int('MENU_LEVEL', global_int('MENU_LEVEL') + 1 ); if( !parmload_mode ) { #IFNDEF Windows
make_message('Welcome to Multi-Edit V' + Version + '.  Press ' + global_str('!HM_KEY1') + ' for help.');
#ELSE make_message('Welcome to Multi-Edit V' + Version + '.  Press <F1> for help.'); #ENDIF refresh = false; working; RM('.STARTUP^STARTUP'); } refresh = false; working; if( !parmload_mode ) {
/* Check and see if MECONFIG is read_only.  If so then prompt the
user, to see if he/she wants them unlocked */
tw = window_id;
if(  user_id == ''  ) { tstr = me_path + 'MECONFIG'; } else {
// 7.00.0: tstr = me_path + user_id + '.USR\MECONFIG';
// 7.00.a: consult the USER_PATH for user directory
return_str = '<USER_PATH>MECONFIG';
rm('XlateCmdLine'); tstr = return_str; }
/* This provides support for a default DB file extension to be configured.  It
is overridden if the calling macro specifies an extension */
if(  (Global_Str('@DB_EXTENSION') == '')  ) { Tstr = Tstr + '.DB'; } else { Tstr = Tstr + '.' + Global_Str('@DB_EXTENSION'); }
if(  switch_file( tstr )  ) {
if(  read_only  ) {
call init_mouse;
ConfigLocked(); } } }
switch_win_id( tw );
error_level = 0;
Error_Level = 0;
load_count = parmload_mode;
Parm_Number = 1;
refresh = false;
while(  Parm_Number <= PARAM_COUNT  ) { TStr = PARAM_STR(Parm_Number);
TStr = Caps(Remove_Space(TStr));
if(  Xpos(Copy(Tstr,1,1),'/-',1)  ) { Tstr = Copy(Tstr,2,80);
if ( TStr == "CD" ) {                                           // ldh
++Parm_Number;                                                // ldh
if ( Param_Str( Parm_Number ) != ""  ) {                      // ldh
TStr = Caps( Remove_Space( Param_Str( Parm_Number ) ) );    // ldh
if ( Svl( TStr ) > 3 ) {                                    // ldh
if ( Copy( TStr, Svl( TStr ), 1 ) == "\\" ) {             // ldh
TStr = Copy( TStr, 1, Svl( TStr ) - 1 );                // ldh }                                                         // ldh.......}                                                           // ldh.......Change_Dir( TStr );                                         // ldh......}                                                             // ldh.....}                                                               // ldh.....else if ( Copy (TStr, 1, 3) == "WK=" ).....{......wdir = Copy (TStr, 4, 128);.....}.....else if ( TStr == "SM" ).....{......restore_enable = False;......no_restore = True;......RM("SESSMGR /NOSWITCH=1");.....}.....else if ( copy(tstr,1,2) == "SR" ).....{......int tid = window_id;......int tr = refresh;......refresh = false;......if(LocateDbPage("MECONFIG", "SESSMGR.CFG", false))......{.......down;.......session_name = get_line;.......restore_enable = TRUE;......}......switch_win_id(tid);......refresh = tr;.....}.....else if ((Copy( TStr, 1, 2) == "SN" ) &&.......(Global_Int('@RESTORE') == 3)) // only if encoded status files are active
{
// switch to named session
restore_enable = True;
session_name = copy(tstr,3,128); 
} else if ( Copy( TStr, 1, 1) == "@" )                            // ldh
// Load files from a file list
refresh = false;
restore_enable = False;
Set_Global_Int('LOAD_COUNT',Load_Count);
int tid = window_id;
create_window;
window_attr = 0x81;
tstr = copy(tstr,2,128);
load_file( tstr );
int tag_win = window_id;
make_message("");
if(error_level) { call init_mouse;
rm("messagebox /B=2/T=Error/M=List file " + tstr + " not found.");
 } else { switch_win_id( tid );
RM('LDFILES /NRL=1/TAG=' + str(tag_win) + '/DE=1/CW=2/LC=' + str(load_count));
Load_Count = return_int;
if(  (Load_Count == 1)  ) {
/* Save the first file loaded so that if the user specifies a line number to
go to, we can do it. */
Goto_F_Name = File_Name;
 } tid = window_id;
} refresh = false;
if( switch_win_id( tag_win )) delete_window;
switch_win_id(tid);
} else if(  TStr == 'NR'  ) { if( !parmload_mode ) { restore_enable = False;
no_restore = TRUE;
} } e


Present at 002FF4F2 is another chunk of this macro code.

/L=6/C=4/ATTR=
D[=.=.=
Version 5
/L=7/C=20=.=.=
Copyright(c) 1988, 1993 by American Cybernetics, Inc.
/L=9/C=2=.=.=
Multi-Edit is protected under United States copyright law.  Copies may be  made for  the puro NOT locate source
*              /TF=filename  The tag filename to use
*                        (do not auto determine)
 -------------------------------------------------- */
{   str       tag_id = parse_str("/TAGID=",mparm_str),
            tag_language = tag_get_language(get_extension(file_name)),
            backtrack_data;
int
src_win = window_id,
tag_win,
            force_tag_id = (tag_id != ""),
next_tag = parse_int("/NEXT=", mparm_str);
  g_was_maximized = IsZoomed(window_Handle);
  backtrack_data = tag_init_backtrk();
again:
refresh = false;
// If we are doing a NEXT tag then do not start from the top,
// and use the last tag instead of the current word
  if ((!next_tag) && (!force_tag_id)) { if( parse_int("/MAN=",mparm_str))
{ return_str = "";
rm("USERIN^QUERYBOX /P=Enter Tag:/W=32/ML=80/T=Multi-Tags/H="+TAGPROMPT_HELPLINK);
if( return_int <= 0 ) goto exit } else { rm("tag_parse_text");
tag_id = return_str;
if( tag_id == "" ) {
make_message( "No valid tag." );
switch_win_id( src_win );
goto exit;
}
}
rm( 'tag_find_file /TF=' + parse_str("/TF=", mparm_str) );
if( !return_int ) {
make_message( 'No tag file found.' );
switch_win_id( src_win );
goto exit;
}
  if (!next_tag) { tof; } else { tag_id = global_str( 'LAST_TAG_FIND' );
eol;
}
ignore_case = TRUE;
reg_exp_stat = TRUE;
if( search_fwd( '%' + tag_id + '[ |9]', 0 ) ) {
    tag_store_find(tag_language, tag_id, backtrack_data);
//    set_global_str('LAST_TAG_FIND', tag_id );
return_int = 1;
if( !parse_int("/FO=", mparm_str )) { /* make_message("tag_locate " + str(g_was_maximized) + " " + file_name);
read_key;
*/       RM('tag_goto /SAVEZOOM=1/OW=' + str( src_win ));
if( return_int == 2  ) { next_tag = TRUE;
goto again;
} } } else { make_message( 'No tag found.' );
switch_win_id( src_win );
return_int = 0;
 } exit: } macro tag_parse_text { str ls[40] = tag_get_language(get_extension(file_name));
mark_pos;
again: return_str = "";
right;
while( (c_col > 1) && xpos(cur_char, tag_delimits, 1) ) left;
while( (c_col > 1) && !xpos(cur_char, tag_delimits,1) ) left;
/* if(( ls == "C") || (ls == "C++") ) { if( cur_char == "." ) { left;
while( (c_col > 1) && !xpos(cur_char, tag_delimits,1) ) left;
if( xpos(cur_char, tag_delimits,1 )) right;
return_str = shorten_str(get_word( tag_delimits )) + "

References

  1. https://tcrf.net/BC_Racers_(32X) (Wayback Machine: http-s:- :)


BC Racers

BCRacers MCD US Title.png

Main page | Comparisons | Maps | Hidden content | Magazine articles | Reception | Region coding | Technical information


Sega Mega-CD
Demos: BC Racers (1994) | BC Racers (1994)

No results