@@ -435,6 +435,7 @@ main(int argc, char **argv)
435435 char * sdcard_path = NULL ;
436436 bool run_geos = false;
437437 bool run_test = false;
438+ int test_number = 0 ;
438439
439440 char * uart_in_path = NULL ;
440441 char * uart_out_path = NULL ;
@@ -527,7 +528,13 @@ main(int argc, char **argv)
527528 } else if (!strcmp (argv [0 ], "-test" )) {
528529 argc -- ;
529530 argv ++ ;
531+ if (!argc || argv [0 ][0 ] == '-' ) {
532+ usage ();
533+ }
534+ test_number = atoi (argv [0 ]);
530535 run_test = true;
536+ argc -- ;
537+ argv ++ ;
531538 } else if (!strcmp (argv [0 ], "-sdcard" )) {
532539 argc -- ;
533540 argv ++ ;
@@ -808,7 +815,8 @@ main(int argc, char **argv)
808815 paste_text = "GEOS\r" ;
809816 }
810817 if (run_test ) {
811- paste_text = "TEST\r" ;
818+ paste_text = paste_text_data ;
819+ snprintf (paste_text , sizeof (paste_text_data ), "TEST %d\r" , test_number );
812820 }
813821
814822 SDL_Init (SDL_INIT_VIDEO | SDL_INIT_EVENTS | SDL_INIT_GAMECONTROLLER
@@ -937,10 +945,10 @@ emulator_loop(void *param)
937945 for (int i = 7 ; i >= 0 ; i -- ) {
938946 printf ("%c" , (status & (1 << i )) ? "czidb.vn" [i ] : '-' );
939947 }
940- // printf(" --- r1H :%01x\n ", RAM[5] );
948+ printf (" --- rambank :%01x" , memory_get_ram_bank () );
941949
942950 printf (" ---" );
943- for (int i = 0 ; i < 7 ; i ++ ) {
951+ for (int i = 0 ; i < 8 ; i ++ ) {
944952 printf (" r%i:%04x" , i , RAM [2 + i * 2 ] | RAM [3 + i * 2 ] << 8 );
945953 }
946954 printf ("\n" );
0 commit comments