diff --git a/firmware/GenRom.c b/firmware/GenRom.c index 581d418..54d840c 100644 --- a/firmware/GenRom.c +++ b/firmware/GenRom.c @@ -43,47 +43,45 @@ unsigned short j, k, crc, tab[]= { int main(int argc, char *argv[]) { if( argc==1 ) printf("\n" - "GenRom v0.05, generates a TAP for loading a ROM in the ZX-Uno, 2016-05-14\n\n" - " GenRom \n\n" - " Set 5 flags parameters, combinable\n" - " 0 Default values Issue3, Tim48K, Contended, Disabled Div & NMI\n" + "GenRom v0.06, generates a TAP for loading a ROM in the ZX-Uno, 2016-07-04\n\n" + " GenRom \n\n" + " Set 13 flags parameters, combinable\n" + " 0 MODE=00, I2KB=DISCONT=DIVEN=DISNMI=0\n" + " DISD=ENMMU=DIROM1F=DIROM7F=DI1FFD=DI7FFD=DITAY=DIAY=0\n" " i Change Issue2\n" " t Force Timing to 128\n" " p Force Timing to Pentagon\n" " c Disable Contention\n" " d Enable DivMMC paging\n" " n Enable NMI-DivMMC\n" - " Set 8 flags parameters, combinable\n" - " 0 Default values DISD, DIFUL, DIKEMP, ENMMU, DI1FFD, DI7FFD," - " DITAY and DIAY\n" " s Disable SD ports (DivMMC and ZXMMC)\n" " m Enable horizontal MMU in Timex Sinclair\n" " h Disable high bit ROM (1FFD bit 2)\n" " l Disable low bit ROM (7FFD bit 4)\n" " 1 Disable 1FFD port (+2A/+3 memory paging)\n" " 7 Disable 7FFD port (128K memory paging)\n" - " t Disable second AY chip\n" + " 2 Disable 2nd AY chip\n" " a Disable main AY chip\n" " Name between single quotes up to 32 chars\n" " Input ROM file\n" " Output TAP file\n\n" "All params are mandatory\n\n"), exit(0); - if( argc!=6 ) + if( argc!=5 ) printf("\nInvalid number of parameters\n"), exit(-1); - fi= fopen(argv[4], "rb"); + fi= fopen(argv[3], "rb"); if( !fi ) - printf("\nInput file not found: %s\n", argv[4]), + printf("\nInput file not found: %s\n", argv[3]), exit(-1); fseek(fi, 0, SEEK_END); i= ftell(fi); if( i&0x3fff && i!=8192 ) - printf("\nInput file size must be multiple of 16384: %s\n", argv[4]), + printf("\nInput file size must be multiple of 16384: %s\n", argv[3]), exit(-1); - fo= fopen(argv[5], "wb+"); + fo= fopen(argv[4], "wb+"); if( !fo ) - printf("\nCannot create output file: %s\n", argv[5]), + printf("\nCannot create output file: %s\n", argv[4]), exit(-1); fwrite(mem, 1, 0x55, fo); j= i>>14; @@ -134,6 +132,7 @@ int main(int argc, char *argv[]) { fseek(fo, 0, SEEK_SET); mem[0x4007]= j; mem[0x4008]= 0b00110000; + mem[0x4009]= 0b00000000; for ( i= 0; i