diff --git a/src/arch/os2/Makefile b/src/arch/os2/Makefile index da922f6..de27c42 100644 --- a/src/arch/os2/Makefile +++ b/src/arch/os2/Makefile @@ -1,58 +1,76 @@ -# GSport OS/2 makefile - -OBJECTS1 = dirport.obj adb.obj clock.obj dis.obj engine_c.obj scc.obj \ - iwm.obj joystick_driver.obj moremem.obj paddles.obj \ - sim65816.obj smartport.obj sound.obj \ - video.obj config.obj scc_socket_os2.obj os2driver.obj os2snd_driver.obj - -{..\..}.c.obj: - @echo " Compile::C++ Compiler " - icc.exe /DTCPV40HDRS /DBSD_SELECT /Dinline= /I..\.. /Ss /Q /Ti /Gm /G4 /Ft- /C %s - -{src\}.c.obj: - @echo " Compile::C++ Compiler " - icc.exe /DTCPV40HDRS /DBSD_SELECT /Dinline= /I..\.. /Ss /Q /Ti /Gm /G4 /Ft- /C %s - -.c.obj: - @echo " Compile::C++ Compiler " - icc.exe /DTCPV40HDRS /DBSD_SELECT /Dinline= /I..\.. /Ss /Q /Ti /Gm /G4 /Ft- /C %s - -gsport.exe: $(OBJECTS1) - @echo " Link::Linker " - icc.exe @<< - /B" /de /pmtype:pm /st:196608 " - /Fegsport.exe - so32dll.lib - tcp32dll.lib - $(OBJECTS1) -<< - rc gsportos2.rc gsport.exe - echo done - -clean: - - rm $(OBJECTS1) - -# dependency stuff -dirport.obj: src/dirport.c src/dirport.h -adb.obj: ../../adb.c ../../adb.h ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -engine_c.obj: ../../engine_c.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../protos_engine_c.h ../../size_c.h ../../op_routs.h ../../defs_instr.h ../../8inst_c.h ../../16inst_c.h -clock.obj: ..\..\clock.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -compile_time.obj: ../../compile_time.c -config.obj: ../../config.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../config.h -dis.obj: ../../dis.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../disas.h -scc.obj: ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../scc.h -scc_socket_driver.obj: ../../scc_socket_driver.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../scc.h -scc_socket_os2.obj: scc_socket_os2.c -iwm.obj: ../../iwm.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../iwm_35_525.h -joystick_driver.obj: ../../joystick_driver.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -moremem.obj: ../../moremem.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -paddles.obj: ../../paddles.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -parallel.obj: ../../parallel.c ../../defc.h -printer.obj: ../../printer.cpp -sim65816.obj: ../../sim65816.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -smartport.obj: ../../smartport.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -sound.obj: ../../sound.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -sound_driver.obj: ../../sound_driver.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../sound.h -video.obj: ../../video.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../superhires.h ../../gsportfont.h -os2driver.obj: os2driver.c gsportos2.h ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h -os2snd_driver.obj: os2snd_driver.c +# GSport OS/2 makefile + +TARGET = gsport.exe + +OBJECTS1 = dirport.obj adb.obj clock.obj dis.obj engine_c.obj scc.obj \ + iwm.obj joystick_driver.obj moremem.obj paddles.obj \ + sim65816.obj smartport.obj sound.obj \ + video.obj config.obj scc_socket_os2.obj os2driver.obj os2snd_driver.obj + +{..\..}.c.obj: + @echo " Compile::C++ Compiler " + icc.exe /DTCPV40HDRS /DBSD_SELECT /Dinline= /I..\.. /Ss /Q /Ti /Gm /G4 /Ft- /C %s + +{src\}.c.obj: + @echo " Compile::C++ Compiler " + icc.exe /DTCPV40HDRS /DBSD_SELECT /Dinline= /I..\.. /Ss /Q /Ti /Gm /G4 /Ft- /C %s + +.c.obj: + @echo " Compile::C++ Compiler " + icc.exe /DTCPV40HDRS /DBSD_SELECT /Dinline= /I..\.. /Ss /Q /Ti /Gm /G4 /Ft- /C %s + +$(TARGET): $(OBJECTS1) + @echo " Link::Linker " + icc.exe @<< + /B" /de /pmtype:pm /st:196608 " + /Fe$(TARGET) + so32dll.lib + tcp32dll.lib + $(OBJECTS1) +<< + rc gsportos2.rc $(TARGET) + echo done + +clean: + - rm $(OBJECTS1) + - rm $(TARGET) + - rm gsportos2.res + - rm ../../size_s.h + - rm ../../size_c.h + - rm ../../8size_s.h + - rm ../../16size_s.h + - rm ../../8inst_s.h + - rm ../../8inst_c.h + - rm ../../16inst_s.h + - rm ../../16inst_c.h + +../../size_c.h: + call make_size.cmd + +../../8inst_c.h: + call make_inst.cmd + +# dependency stuff +dirport.obj: src/dirport.c src/dirport.h +adb.obj: ../../adb.c ../../adb.h ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +engine_c.obj: ../../engine_c.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../protos_engine_c.h ../../size_c.h ../../op_routs.h ../../defs_instr.h ../../8inst_c.h ../../16inst_c.h +clock.obj: ..\..\clock.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +compile_time.obj: ../../compile_time.c +config.obj: ../../config.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../config.h +dis.obj: ../../dis.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../disas.h +scc.obj: ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../scc.h +scc_socket_driver.obj: ../../scc_socket_driver.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../scc.h +scc_socket_os2.obj: scc_socket_os2.c +iwm.obj: ../../iwm.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../iwm_35_525.h +joystick_driver.obj: ../../joystick_driver.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +moremem.obj: ../../moremem.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +paddles.obj: ../../paddles.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +parallel.obj: ../../parallel.c ../../defc.h +printer.obj: ../../printer.cpp +sim65816.obj: ../../sim65816.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +smartport.obj: ../../smartport.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +sound.obj: ../../sound.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +sound_driver.obj: ../../sound_driver.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../sound.h +video.obj: ../../video.c ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h ../../superhires.h ../../gsportfont.h +os2driver.obj: os2driver.c gsportos2.h ../../scc.c ../../defc.h ../../defcomm.h ../../iwm.h ../../protos.h +os2snd_driver.obj: os2snd_driver.c diff --git a/src/arch/os2/make_inst.cmd b/src/arch/os2/make_inst.cmd new file mode 100644 index 0000000..0b10e54 --- /dev/null +++ b/src/arch/os2/make_inst.cmd @@ -0,0 +1,76 @@ +/* + +make_inst.cmd: + +Translation of the make_inst perl script and makefile to rexx for OS/2 + +8inst_s.h: instable.h + $(PERL) make_inst s 8 instable.h > 8inst_s.h + +16inst_s.h: instable.h + $(PERL) make_inst s 16 instable.h > 16inst_s.h + +8inst_c.h: instable.h + $(PERL) make_inst c 8 instable.h > 8inst_c.h + +16inst_c.h: instable.h + $(PERL) make_inst c 16 instable.h > 16inst_c.h + +*/ + +count = 0; + +FileNameIn = "..\..\instable.h" +FileNameOut8s = "..\..\8inst_s.h" +FileNameOut8c = "..\..\8inst_c.h" +FileNameOut16s = "..\..\16inst_s.h" +FileNameOut16c = "..\..\16inst_c.h" + +DEL FileNameOut8s +DEL FileNameOut8c +DEL FileNameOut16s +DEL FileNameOut16c +crud = STREAM(FileNameIn,"C","open read") +crud = STREAM(FileNameOut8s,"C","open write") +crud = STREAM(FileNameOut8c,"C","open write") +crud = STREAM(FileNameOut16s,"C","open write") +crud = STREAM(FileNameOut16c,"C","open write") + +Do while (STREAM(FileNameIn,"S") = "READY") + line = LINEIN(FileNameIn); + + SymPos = POS("_SYM",line) + if (SymPos > 0) Then + Do + if POS("inst",line) > 0 Then + Do + if (count > 0) Then + Do + crud = LINEOUT(FileNameOut8c," break;"); + crud = LINEOUT(FileNameOut16c," break;"); + End + newline = "case 0x"SUBSTR(line,SymPos-2,2)": "SUBSTR(line,SymPos+4) + crud = LINEOUT(FileNameOut8c, newline); + crud = LINEOUT(FileNameOut16c, newline); + count = count + 1; + End + Else + Do + crud = LINEOUT(FileNameOut8s,SUBSTR(line,1,SymPos)" . "8" . "SUBSTR(line,SymPos+4)); + crud = LINEOUT(FileNameOut16s,SUBSTR(line,1,SymPos)" . "16" . "SUBSTR(line,SymPos+4)); + End + End + Else + Do + crud = LINEOUT(FileNameOut8c,line); + crud = LINEOUT(FileNameOut8s,line); + crud = LINEOUT(FileNameOut16c,line); + crud = LINEOUT(FileNameOut16s,line); + End +End +say "Lines read: "Count +crud = STREAM(FileNameIn,"C","close") +crud = STREAM(FileNameOut8s,"C","close") +crud = STREAM(FileNameOut8c,"C","close") +crud = STREAM(FileNameOut16s,"C","close") +crud = STREAM(FileNameOut16c,"C","close") diff --git a/src/arch/os2/make_size.cmd b/src/arch/os2/make_size.cmd new file mode 100644 index 0000000..532739c --- /dev/null +++ b/src/arch/os2/make_size.cmd @@ -0,0 +1,71 @@ +/* + +make_inst.cmd: + +Translation of the make_size perl script and makefile to rexx for OS/2 + +size_c.h: size_tab.h + $(PERL) make_size c size_tab.h > size_c.h + +size_s.h: size_tab.h + $(PERL) make_size s size_tab.h > size_s.h + +8size_s.h: size_tab.h + $(PERL) make_size 8 size_tab.h > 8size_s.h + +16size_s.h: size_tab.h + $(PERL) make_size 16 size_tab.h > 16size_s.h + +*/ + +FileNameIn = "..\..\size_tab.h" +FileNameOuts = "..\..\size_s.h" +FileNameOutc = "..\..\size_c.h" +FileNameOut8 = "..\..\8size_s.h" +FileNameOut16 = "..\..\16size_s.h" + +DEL FileNameOuts +DEL FileNameOutc +DEL FileNameOut8 +DEL FileNameOut16 +crud = STREAM(FileNameIn,"C","open read") +crud = STREAM(FileNameOuts,"C","open write") +crud = STREAM(FileNameOutc,"C","open write") +crud = STREAM(FileNameOut8,"C","open write") +crud = STREAM(FileNameOut16,"C","open write") + +Do while (STREAM(FileNameIn,"S") = "READY") + line = LINEIN(FileNameIn); + + SymPos = POS("_SYM",line) + if (SymPos > 0) Then + Do + newline = " .byte 0x"SUBSTR(line,SymPos+5,1)", /* "SUBSTR(line,SymPos-2,2)" */ "SUBSTR(line,SymPos+6) + crud = LINEOUT(FileNameOuts, newline); + newline = " 0x"SUBSTR(line,SymPos+5,1)", /* "SUBSTR(line,SymPos-2,2)" */ "SUBSTR(line,SymPos+6) + crud = LINEOUT(FileNameOutc, newline); + newline = " .word inst"SUBSTR(line,SymPos-2,2)" . 8 . /*"SUBSTR(line,SymPos+5,1)"*/ "SUBSTR(line,SymPos+6) + crud = LINEOUT(FileNameOut8, newline); + newline = " .word inst"SUBSTR(line,SymPos-2,2)" . 16 . /*"SUBSTR(line,SymPos+5,1)"*/ "SUBSTR(line,SymPos+6) + crud = LINEOUT(FileNameOut16, newline); + End + Else if (POS(".block",line) > 0) Then + Do + crud = LINEOUT(FileNameOuts, ""); + crud = LINEOUT(FileNameOutc, ""); + crud = LINEOUT(FileNameOut8, line); + crud = LINEOUT(FileNameOut16, line); + End + Else + Do + crud = LINEOUT(FileNameOuts, line); + crud = LINEOUT(FileNameOutc, line); + crud = LINEOUT(FileNameOut8, line); + crud = LINEOUT(FileNameOut16, line); + End +End +crud = STREAM(FileNameIn,"C","close") +crud = STREAM(FileNameOuts,"C","close") +crud = STREAM(FileNameOutc,"C","close") +crud = STREAM(FileNameOut8,"C","close") +crud = STREAM(FileNameOut16,"C","close")