]> 4ch.mooo.com Git - 16.git/commitdiff
more cleanings!!
authorsparky4 <sparky4@cock.li>
Tue, 25 Aug 2015 17:27:25 +0000 (12:27 -0500)
committersparky4 <sparky4@cock.li>
Tue, 25 Aug 2015 17:27:25 +0000 (12:27 -0500)
renamed:    16/16_mm.c -> 16/16/16_mm.c
renamed:    16/SCRC/CONSTANT.H -> 16/16/SCRC/CONSTANT.H
renamed:    16/SCRC/FUNPTR.EXE -> 16/16/SCRC/FUNPTR.EXE
renamed:    16/SCRC/MAKEFILE -> 16/16/SCRC/MAKEFILE
renamed:    16/SCRC/PALETTE.C -> 16/16/SCRC/PALETTE.C
renamed:    16/SCRC/PALETTE.H -> 16/16/SCRC/PALETTE.H
renamed:    16/SCRC/TEST.C -> 16/16/SCRC/TEST.C
renamed:    16/SCRC/TEST.EXE -> 16/16/SCRC/TEST.EXE
renamed:    16/SCRC/funptr.c -> 16/16/SCRC/funptr.c
renamed:    16/TEST.C -> 16/16/TEST.C
renamed:    16/ed.pcx -> 16/16/ed.pcx
renamed:    16/emmo/emmtest.exe -> 16/16/emmo/emmtest.exe
renamed:    16/emmo/emsdump.exe -> 16/16/emmo/emsdump.exe
renamed:    16/emmo/maptest0.exe -> 16/16/emmo/maptest0.exe
renamed:    16/gfx.pal -> 16/16/gfx.pal
renamed:    16/inpu.bat -> 16/16/inpu.bat
renamed:    16/inputest.bfproject -> 16/16/inputest.bfproject
renamed:    16/lib/MODEX16.C -> 16/16/lib/MODEX16.C
renamed:    16/lib/MODEX16.H -> 16/16/lib/MODEX16.H
renamed:    16/lib/lib_com.cpp -> 16/16/lib/lib_com.cpp
renamed:    16/lib/lib_com.h -> 16/16/lib/lib_com.h
renamed:    16/makefile -> 16/16/makefile
renamed:    16/modex16.7z -> 16/16/modex16.7z
renamed:    16/old16.7z -> 16/16/old16.7z
renamed:    16/opl2.c -> 16/16/opl2.c
renamed:    16/opl2.h -> 16/16/opl2.h
renamed:    16/src/inputest.c -> 16/16/src/inputest.c
renamed:    16/src/lib/16_in.c -> 16/16/src/lib/16_in.c
renamed:    16/src/lib/16_in.h -> 16/16/src/lib/16_in.h
renamed:    16/src/lib/lib_head.c -> 16/16/src/lib/lib_head.c
renamed:    16/src/lib/lib_head.h -> 16/16/src/lib/lib_head.h
renamed:    16/src/lib/types.h -> 16/16/src/lib/types.h
deleted:    16/RUN.BAT
renamed:    16/lib/graph.h -> 16/graph.h
deleted:    16/lib/intro/M13ORG.ASC
deleted:    16/lib/intro/M13ORG.GIF
deleted:    16/lib/intro/MXORG.ASC
deleted:    16/lib/intro/MXORG.GIF
deleted:    16/lib/intro/XINTRO.TXT
deleted:    16/lib/intro/lib.c
deleted:    16/lib/modex105/DEMOS/BASIC7/MODEX.LIB
deleted:    16/lib/modex105/DEMOS/QB45/MODEX.LIB
renamed:    16/lib/modex105/ASM.BAT -> 16/modex105/ASM.BAT
renamed:    16/lib/modex105/DEMOS/BASIC7/CHARDEMO.BAS -> 16/modex105/DEMOS/BASIC7/CHARDEMO.BAS
renamed:    16/lib/modex105/DEMOS/BASIC7/MAKE-LIB.BAT -> 16/modex105/DEMOS/BASIC7/MAKE-LIB.BAT
renamed:    16/lib/modex105/MODEX.BI -> 16/modex105/DEMOS/BASIC7/MODEX.BI
renamed:    16/lib/modex105/DEMOS/BASIC7/MODEX.QLB -> 16/modex105/DEMOS/BASIC7/MODEX.QLB
renamed:    16/lib/modex105/DEMOS/BASIC7/TEST6.BAS -> 16/modex105/DEMOS/BASIC7/TEST6.BAS
renamed:    16/lib/modex105/DEMOS/BASIC7/UASM-BC7.BAT -> 16/modex105/DEMOS/BASIC7/UASM-BC7.BAT
renamed:    16/lib/modex105/DEMOS/QB45/UTILS.ASM -> 16/modex105/DEMOS/BASIC7/UTILS.ASM
renamed:    16/lib/modex105/DEMOS/QB45/UTILS.BI -> 16/modex105/DEMOS/BASIC7/UTILS.BI
renamed:    16/lib/modex105/DEMOS/C/C_UTILS.ASM -> 16/modex105/DEMOS/C/C_UTILS.ASM
renamed:    16/lib/modex105/DEMOS/C/C_UTILS.H -> 16/modex105/DEMOS/C/C_UTILS.H
renamed:    16/lib/modex105/DEMOS/C/C_UTILS.LST -> 16/modex105/DEMOS/C/C_UTILS.LST
renamed:    16/lib/modex105/DEMOS/C/C_UTILS.SBR -> 16/modex105/DEMOS/C/C_UTILS.SBR
renamed:    16/lib/modex105/MODEX.ASM -> 16/modex105/DEMOS/C/MODEX.ASM
renamed:    16/lib/modex105/DEMOS/QB45/MODEX.BI -> 16/modex105/DEMOS/C/MODEX.BI
renamed:    16/lib/modex105/MODEX.H -> 16/modex105/DEMOS/C/MODEX.H
renamed:    16/lib/modex105/DEMOS/C/UTLS-ASM.BAT -> 16/modex105/DEMOS/C/UTLS-ASM.BAT
renamed:    16/lib/modex105/DEMOS/C/X-DEMO.C -> 16/modex105/DEMOS/C/X-DEMO.C
renamed:    16/lib/modex105/DEMOS/C/X-DEMO.EXE -> 16/modex105/DEMOS/C/X-DEMO.EXE
renamed:    16/lib/modex105/DEMOS/C/X-DEMO.PRJ -> 16/modex105/DEMOS/C/X-DEMO.PRJ
renamed:    16/lib/modex105/DEMOS/C/x.exe -> 16/modex105/DEMOS/C/x.exe
renamed:    16/lib/modex105/DEMOS/CHARDEMO.EXE -> 16/modex105/DEMOS/CHARDEMO.EXE
renamed:    16/lib/modex105/DEMOS/PASCAL/TEST5.PAS -> 16/modex105/DEMOS/PASCAL/TEST5.PAS
renamed:    16/lib/modex105/DEMOS/QB45/MAKE-LIB.BAT -> 16/modex105/DEMOS/QB45/MAKE-LIB.BAT
renamed:    16/lib/modex105/DEMOS/C/MODEX.BI -> 16/modex105/DEMOS/QB45/MODEX.BI
renamed:    16/lib/modex105/DEMOS/QB45/MODEX.QLB -> 16/modex105/DEMOS/QB45/MODEX.QLB
renamed:    16/lib/modex105/DEMOS/QB45/TEST6A.BAS -> 16/modex105/DEMOS/QB45/TEST6A.BAS
renamed:    16/lib/modex105/DEMOS/QB45/TEST6A.EXE -> 16/modex105/DEMOS/QB45/TEST6A.EXE
renamed:    16/lib/modex105/DEMOS/QB45/UASM-QB4.BAT -> 16/modex105/DEMOS/QB45/UASM-QB4.BAT
renamed:    16/lib/modex105/DEMOS/BASIC7/UTILS.ASM -> 16/modex105/DEMOS/QB45/UTILS.ASM
renamed:    16/lib/modex105/DEMOS/BASIC7/UTILS.BI -> 16/modex105/DEMOS/QB45/UTILS.BI
renamed:    16/lib/modex105/FONTEDIT/ROM_8X8.FNT -> 16/modex105/DEMOS/ROM_8X8.FNT
renamed:    16/lib/modex105/FONTEDIT/SPACEAGE.FNT -> 16/modex105/DEMOS/SPACEAGE.FNT
renamed:    16/lib/modex105/FONTEDIT/SYSTEM.FNT -> 16/modex105/DEMOS/SYSTEM.FNT
renamed:    16/lib/modex105/DEMOS/TEST6.EXE -> 16/modex105/DEMOS/TEST6.EXE
renamed:    16/lib/modex105/PALEDIT/CHARSETS.CS -> 16/modex105/FONTEDIT/CHARSETS.CS
renamed:    16/lib/modex105/FONTEDIT/CSEDIT.DOC -> 16/modex105/FONTEDIT/CSEDIT.DOC
renamed:    16/lib/modex105/FONTEDIT/CSEDIT.EXE -> 16/modex105/FONTEDIT/CSEDIT.EXE
renamed:    16/lib/modex105/FONTEDIT/INVERSE.FNT -> 16/modex105/FONTEDIT/INVERSE.FNT
renamed:    16/lib/modex105/PALEDIT/MOUSEIMG.CS -> 16/modex105/FONTEDIT/MOUSEIMG.CS
renamed:    16/lib/modex105/FONTEDIT/PALETTE.CS -> 16/modex105/FONTEDIT/PALETTE.CS
renamed:    16/lib/modex105/DEMOS/ROM_8X8.FNT -> 16/modex105/FONTEDIT/ROM_8X8.FNT
renamed:    16/lib/modex105/DEMOS/SPACEAGE.FNT -> 16/modex105/FONTEDIT/SPACEAGE.FNT
renamed:    16/lib/modex105/DEMOS/SYSTEM.FNT -> 16/modex105/FONTEDIT/SYSTEM.FNT
renamed:    16/lib/modex105/MODE-X.TXT -> 16/modex105/MODE-X.TXT
renamed:    16/lib/modex105/DEMOS/C/MODEX.ASM -> 16/modex105/MODEX.ASM
renamed:    16/lib/modex105/DEMOS/BASIC7/MODEX.BI -> 16/modex105/MODEX.BI
renamed:    16/lib/modex105/DEMOS/C/MODEX.H -> 16/modex105/MODEX.H
renamed:    16/lib/modex105/MODEX.LST -> 16/modex105/MODEX.LST
renamed:    16/lib/modex105/MODEX.SBR -> 16/modex105/MODEX.SBR
renamed:    16/lib/modex105/PACKING.LST -> 16/modex105/PACKING.LST
renamed:    16/lib/modex105/PALEDIT/BAKAPI.PAL -> 16/modex105/PALEDIT/BAKAPI.PAL
renamed:    16/lib/modex105/FONTEDIT/CHARSETS.CS -> 16/modex105/PALEDIT/CHARSETS.CS
renamed:    16/lib/modex105/PALEDIT/DIAGONAL.PAL -> 16/modex105/PALEDIT/DIAGONAL.PAL
renamed:    16/lib/modex105/PALEDIT/GAMECOLR.PAL -> 16/modex105/PALEDIT/GAMECOLR.PAL
renamed:    16/lib/modex105/FONTEDIT/MOUSEIMG.CS -> 16/modex105/PALEDIT/MOUSEIMG.CS
renamed:    16/lib/modex105/PALEDIT/PALEDIT.DOC -> 16/modex105/PALEDIT/PALEDIT.DOC
renamed:    16/lib/modex105/PALEDIT/PALEDIT.EXE -> 16/modex105/PALEDIT/PALEDIT.EXE
renamed:    16/lib/modex105/PALEDIT/PALVIEW.EXE -> 16/modex105/PALEDIT/PALVIEW.EXE
renamed:    16/lib/modex105/PALEDIT/PRIME.PAL -> 16/modex105/PALEDIT/PRIME.PAL
renamed:    16/lib/modex105/PALEDIT/RGB.PAL -> 16/modex105/PALEDIT/RGB.PAL
renamed:    16/lib/modex105/PALEDIT/SCROLL.PAL -> 16/modex105/PALEDIT/SCROLL.PAL
renamed:    16/lib/modex105/README.DOC -> 16/modex105/README.DOC
renamed:    16/lib/modex105/modex105.zip -> 16/modex105/modex105.zip
renamed:    16/lib/x.zip -> 16/x.zip

107 files changed:
16/16/16_mm.c [moved from 16/16_mm.c with 100% similarity]
16/16/SCRC/CONSTANT.H [moved from 16/SCRC/CONSTANT.H with 100% similarity]
16/16/SCRC/FUNPTR.EXE [moved from 16/SCRC/FUNPTR.EXE with 100% similarity]
16/16/SCRC/MAKEFILE [moved from 16/SCRC/MAKEFILE with 100% similarity]
16/16/SCRC/PALETTE.C [moved from 16/SCRC/PALETTE.C with 100% similarity]
16/16/SCRC/PALETTE.H [moved from 16/SCRC/PALETTE.H with 100% similarity]
16/16/SCRC/TEST.C [moved from 16/SCRC/TEST.C with 100% similarity]
16/16/SCRC/TEST.EXE [moved from 16/SCRC/TEST.EXE with 100% similarity]
16/16/SCRC/funptr.c [moved from 16/SCRC/funptr.c with 100% similarity]
16/16/TEST.C [moved from 16/TEST.C with 100% similarity]
16/16/ed.pcx [moved from 16/ed.pcx with 100% similarity]
16/16/emmo/emmtest.exe [moved from 16/emmo/emmtest.exe with 100% similarity]
16/16/emmo/emsdump.exe [moved from 16/emmo/emsdump.exe with 100% similarity]
16/16/emmo/maptest0.exe [moved from 16/emmo/maptest0.exe with 100% similarity]
16/16/gfx.pal [moved from 16/gfx.pal with 100% similarity]
16/16/inpu.bat [moved from 16/inpu.bat with 100% similarity]
16/16/inputest.bfproject [moved from 16/inputest.bfproject with 100% similarity]
16/16/lib/MODEX16.C [moved from 16/lib/MODEX16.C with 100% similarity]
16/16/lib/MODEX16.H [moved from 16/lib/MODEX16.H with 100% similarity]
16/16/lib/lib_com.cpp [moved from 16/lib/lib_com.cpp with 100% similarity]
16/16/lib/lib_com.h [moved from 16/lib/lib_com.h with 100% similarity]
16/16/makefile [moved from 16/makefile with 100% similarity]
16/16/modex16.7z [moved from 16/modex16.7z with 100% similarity]
16/16/old16.7z [moved from 16/old16.7z with 100% similarity]
16/16/opl2.c [moved from 16/opl2.c with 100% similarity]
16/16/opl2.h [moved from 16/opl2.h with 100% similarity]
16/16/src/inputest.c [moved from 16/src/inputest.c with 100% similarity]
16/16/src/lib/16_in.c [moved from 16/src/lib/16_in.c with 100% similarity]
16/16/src/lib/16_in.h [moved from 16/src/lib/16_in.h with 100% similarity]
16/16/src/lib/lib_head.c [moved from 16/src/lib/lib_head.c with 100% similarity]
16/16/src/lib/lib_head.h [moved from 16/src/lib/lib_head.h with 100% similarity]
16/16/src/lib/types.h [moved from 16/src/lib/types.h with 100% similarity]
16/RUN.BAT [deleted file]
16/graph.h [moved from 16/lib/graph.h with 100% similarity]
16/lib/intro/M13ORG.ASC [deleted file]
16/lib/intro/M13ORG.GIF [deleted file]
16/lib/intro/MXORG.ASC [deleted file]
16/lib/intro/MXORG.GIF [deleted file]
16/lib/intro/XINTRO.TXT [deleted file]
16/lib/intro/lib.c [deleted file]
16/lib/modex105/DEMOS/BASIC7/MODEX.LIB [deleted file]
16/lib/modex105/DEMOS/QB45/MODEX.LIB [deleted file]
16/modex105/ASM.BAT [moved from 16/lib/modex105/ASM.BAT with 100% similarity]
16/modex105/DEMOS/BASIC7/CHARDEMO.BAS [moved from 16/lib/modex105/DEMOS/BASIC7/CHARDEMO.BAS with 100% similarity]
16/modex105/DEMOS/BASIC7/MAKE-LIB.BAT [moved from 16/lib/modex105/DEMOS/BASIC7/MAKE-LIB.BAT with 100% similarity]
16/modex105/DEMOS/BASIC7/MODEX.BI [moved from 16/lib/modex105/DEMOS/BASIC7/MODEX.BI with 100% similarity]
16/modex105/DEMOS/BASIC7/MODEX.QLB [moved from 16/lib/modex105/DEMOS/BASIC7/MODEX.QLB with 100% similarity]
16/modex105/DEMOS/BASIC7/TEST6.BAS [moved from 16/lib/modex105/DEMOS/BASIC7/TEST6.BAS with 100% similarity]
16/modex105/DEMOS/BASIC7/UASM-BC7.BAT [moved from 16/lib/modex105/DEMOS/BASIC7/UASM-BC7.BAT with 100% similarity]
16/modex105/DEMOS/BASIC7/UTILS.ASM [moved from 16/lib/modex105/DEMOS/BASIC7/UTILS.ASM with 100% similarity]
16/modex105/DEMOS/BASIC7/UTILS.BI [moved from 16/lib/modex105/DEMOS/BASIC7/UTILS.BI with 100% similarity]
16/modex105/DEMOS/C/C_UTILS.ASM [moved from 16/lib/modex105/DEMOS/C/C_UTILS.ASM with 100% similarity]
16/modex105/DEMOS/C/C_UTILS.H [moved from 16/lib/modex105/DEMOS/C/C_UTILS.H with 100% similarity]
16/modex105/DEMOS/C/C_UTILS.LST [moved from 16/lib/modex105/DEMOS/C/C_UTILS.LST with 100% similarity]
16/modex105/DEMOS/C/C_UTILS.SBR [moved from 16/lib/modex105/DEMOS/C/C_UTILS.SBR with 100% similarity]
16/modex105/DEMOS/C/MODEX.ASM [moved from 16/lib/modex105/DEMOS/C/MODEX.ASM with 100% similarity]
16/modex105/DEMOS/C/MODEX.BI [moved from 16/lib/modex105/DEMOS/C/MODEX.BI with 100% similarity]
16/modex105/DEMOS/C/MODEX.H [moved from 16/lib/modex105/DEMOS/C/MODEX.H with 100% similarity]
16/modex105/DEMOS/C/UTLS-ASM.BAT [moved from 16/lib/modex105/DEMOS/C/UTLS-ASM.BAT with 100% similarity]
16/modex105/DEMOS/C/X-DEMO.C [moved from 16/lib/modex105/DEMOS/C/X-DEMO.C with 100% similarity]
16/modex105/DEMOS/C/X-DEMO.EXE [moved from 16/lib/modex105/DEMOS/C/X-DEMO.EXE with 100% similarity]
16/modex105/DEMOS/C/X-DEMO.PRJ [moved from 16/lib/modex105/DEMOS/C/X-DEMO.PRJ with 100% similarity]
16/modex105/DEMOS/C/x.exe [moved from 16/lib/modex105/DEMOS/C/x.exe with 100% similarity]
16/modex105/DEMOS/CHARDEMO.EXE [moved from 16/lib/modex105/DEMOS/CHARDEMO.EXE with 100% similarity]
16/modex105/DEMOS/PASCAL/TEST5.PAS [moved from 16/lib/modex105/DEMOS/PASCAL/TEST5.PAS with 100% similarity]
16/modex105/DEMOS/QB45/MAKE-LIB.BAT [moved from 16/lib/modex105/DEMOS/QB45/MAKE-LIB.BAT with 100% similarity]
16/modex105/DEMOS/QB45/MODEX.BI [moved from 16/lib/modex105/DEMOS/QB45/MODEX.BI with 100% similarity]
16/modex105/DEMOS/QB45/MODEX.QLB [moved from 16/lib/modex105/DEMOS/QB45/MODEX.QLB with 100% similarity]
16/modex105/DEMOS/QB45/TEST6A.BAS [moved from 16/lib/modex105/DEMOS/QB45/TEST6A.BAS with 100% similarity]
16/modex105/DEMOS/QB45/TEST6A.EXE [moved from 16/lib/modex105/DEMOS/QB45/TEST6A.EXE with 100% similarity]
16/modex105/DEMOS/QB45/UASM-QB4.BAT [moved from 16/lib/modex105/DEMOS/QB45/UASM-QB4.BAT with 100% similarity]
16/modex105/DEMOS/QB45/UTILS.ASM [moved from 16/lib/modex105/DEMOS/QB45/UTILS.ASM with 100% similarity]
16/modex105/DEMOS/QB45/UTILS.BI [moved from 16/lib/modex105/DEMOS/QB45/UTILS.BI with 100% similarity]
16/modex105/DEMOS/ROM_8X8.FNT [moved from 16/lib/modex105/DEMOS/ROM_8X8.FNT with 100% similarity]
16/modex105/DEMOS/SPACEAGE.FNT [moved from 16/lib/modex105/DEMOS/SPACEAGE.FNT with 100% similarity]
16/modex105/DEMOS/SYSTEM.FNT [moved from 16/lib/modex105/DEMOS/SYSTEM.FNT with 100% similarity]
16/modex105/DEMOS/TEST6.EXE [moved from 16/lib/modex105/DEMOS/TEST6.EXE with 100% similarity]
16/modex105/FONTEDIT/CHARSETS.CS [moved from 16/lib/modex105/FONTEDIT/CHARSETS.CS with 100% similarity]
16/modex105/FONTEDIT/CSEDIT.DOC [moved from 16/lib/modex105/FONTEDIT/CSEDIT.DOC with 100% similarity]
16/modex105/FONTEDIT/CSEDIT.EXE [moved from 16/lib/modex105/FONTEDIT/CSEDIT.EXE with 100% similarity]
16/modex105/FONTEDIT/INVERSE.FNT [moved from 16/lib/modex105/FONTEDIT/INVERSE.FNT with 100% similarity]
16/modex105/FONTEDIT/MOUSEIMG.CS [moved from 16/lib/modex105/FONTEDIT/MOUSEIMG.CS with 100% similarity]
16/modex105/FONTEDIT/PALETTE.CS [moved from 16/lib/modex105/FONTEDIT/PALETTE.CS with 100% similarity]
16/modex105/FONTEDIT/ROM_8X8.FNT [moved from 16/lib/modex105/FONTEDIT/ROM_8X8.FNT with 100% similarity]
16/modex105/FONTEDIT/SPACEAGE.FNT [moved from 16/lib/modex105/FONTEDIT/SPACEAGE.FNT with 100% similarity]
16/modex105/FONTEDIT/SYSTEM.FNT [moved from 16/lib/modex105/FONTEDIT/SYSTEM.FNT with 100% similarity]
16/modex105/MODE-X.TXT [moved from 16/lib/modex105/MODE-X.TXT with 100% similarity]
16/modex105/MODEX.ASM [moved from 16/lib/modex105/MODEX.ASM with 100% similarity]
16/modex105/MODEX.BI [moved from 16/lib/modex105/MODEX.BI with 100% similarity]
16/modex105/MODEX.H [moved from 16/lib/modex105/MODEX.H with 100% similarity]
16/modex105/MODEX.LST [moved from 16/lib/modex105/MODEX.LST with 100% similarity]
16/modex105/MODEX.SBR [moved from 16/lib/modex105/MODEX.SBR with 100% similarity]
16/modex105/PACKING.LST [moved from 16/lib/modex105/PACKING.LST with 100% similarity]
16/modex105/PALEDIT/BAKAPI.PAL [moved from 16/lib/modex105/PALEDIT/BAKAPI.PAL with 100% similarity]
16/modex105/PALEDIT/CHARSETS.CS [moved from 16/lib/modex105/PALEDIT/CHARSETS.CS with 100% similarity]
16/modex105/PALEDIT/DIAGONAL.PAL [moved from 16/lib/modex105/PALEDIT/DIAGONAL.PAL with 100% similarity]
16/modex105/PALEDIT/GAMECOLR.PAL [moved from 16/lib/modex105/PALEDIT/GAMECOLR.PAL with 100% similarity]
16/modex105/PALEDIT/MOUSEIMG.CS [moved from 16/lib/modex105/PALEDIT/MOUSEIMG.CS with 100% similarity]
16/modex105/PALEDIT/PALEDIT.DOC [moved from 16/lib/modex105/PALEDIT/PALEDIT.DOC with 100% similarity]
16/modex105/PALEDIT/PALEDIT.EXE [moved from 16/lib/modex105/PALEDIT/PALEDIT.EXE with 100% similarity]
16/modex105/PALEDIT/PALVIEW.EXE [moved from 16/lib/modex105/PALEDIT/PALVIEW.EXE with 100% similarity]
16/modex105/PALEDIT/PRIME.PAL [moved from 16/lib/modex105/PALEDIT/PRIME.PAL with 100% similarity]
16/modex105/PALEDIT/RGB.PAL [moved from 16/lib/modex105/PALEDIT/RGB.PAL with 100% similarity]
16/modex105/PALEDIT/SCROLL.PAL [moved from 16/lib/modex105/PALEDIT/SCROLL.PAL with 100% similarity]
16/modex105/README.DOC [moved from 16/lib/modex105/README.DOC with 100% similarity]
16/modex105/modex105.zip [moved from 16/lib/modex105/modex105.zip with 100% similarity]
16/x.zip [moved from 16/lib/x.zip with 100% similarity]

similarity index 100%
rename from 16/16_mm.c
rename to 16/16/16_mm.c
similarity index 100%
rename from 16/SCRC/CONSTANT.H
rename to 16/16/SCRC/CONSTANT.H
similarity index 100%
rename from 16/SCRC/FUNPTR.EXE
rename to 16/16/SCRC/FUNPTR.EXE
similarity index 100%
rename from 16/SCRC/MAKEFILE
rename to 16/16/SCRC/MAKEFILE
similarity index 100%
rename from 16/SCRC/PALETTE.C
rename to 16/16/SCRC/PALETTE.C
similarity index 100%
rename from 16/SCRC/PALETTE.H
rename to 16/16/SCRC/PALETTE.H
similarity index 100%
rename from 16/SCRC/TEST.C
rename to 16/16/SCRC/TEST.C
similarity index 100%
rename from 16/SCRC/TEST.EXE
rename to 16/16/SCRC/TEST.EXE
similarity index 100%
rename from 16/SCRC/funptr.c
rename to 16/16/SCRC/funptr.c
similarity index 100%
rename from 16/TEST.C
rename to 16/16/TEST.C
similarity index 100%
rename from 16/ed.pcx
rename to 16/16/ed.pcx
similarity index 100%
rename from 16/emmo/emmtest.exe
rename to 16/16/emmo/emmtest.exe
similarity index 100%
rename from 16/emmo/emsdump.exe
rename to 16/16/emmo/emsdump.exe
similarity index 100%
rename from 16/emmo/maptest0.exe
rename to 16/16/emmo/maptest0.exe
similarity index 100%
rename from 16/gfx.pal
rename to 16/16/gfx.pal
similarity index 100%
rename from 16/inpu.bat
rename to 16/16/inpu.bat
similarity index 100%
rename from 16/lib/MODEX16.C
rename to 16/16/lib/MODEX16.C
similarity index 100%
rename from 16/lib/MODEX16.H
rename to 16/16/lib/MODEX16.H
similarity index 100%
rename from 16/lib/lib_com.cpp
rename to 16/16/lib/lib_com.cpp
similarity index 100%
rename from 16/lib/lib_com.h
rename to 16/16/lib/lib_com.h
similarity index 100%
rename from 16/makefile
rename to 16/16/makefile
similarity index 100%
rename from 16/modex16.7z
rename to 16/16/modex16.7z
similarity index 100%
rename from 16/old16.7z
rename to 16/16/old16.7z
similarity index 100%
rename from 16/opl2.c
rename to 16/16/opl2.c
similarity index 100%
rename from 16/opl2.h
rename to 16/16/opl2.h
similarity index 100%
rename from 16/src/inputest.c
rename to 16/16/src/inputest.c
similarity index 100%
rename from 16/src/lib/16_in.c
rename to 16/16/src/lib/16_in.c
similarity index 100%
rename from 16/src/lib/16_in.h
rename to 16/16/src/lib/16_in.h
similarity index 100%
rename from 16/src/lib/types.h
rename to 16/16/src/lib/types.h
diff --git a/16/RUN.BAT b/16/RUN.BAT
deleted file mode 100755 (executable)
index ed9144d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-wsample dos_gfx.exe\r
-call \z\bat\hres.bat\r
-wprof dos_gfx.smp\r
-rem vi DOS_GFX.CPP\r
similarity index 100%
rename from 16/lib/graph.h
rename to 16/graph.h
diff --git a/16/lib/intro/M13ORG.ASC b/16/lib/intro/M13ORG.ASC
deleted file mode 100755 (executable)
index 906ec42..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-Figure 1: Memory organization in mode 13h (ASCII version)\r
-         by Robert Schmidt\r
-          (C) 1993 Ztiff Zox Softwear\r
-\r
-a. Imagine that the top of the screen looks like this (pixel values are\r
-   represented by color digits 0-9 for simplicity - actual colors may\r
-   range from 0 to 255) - a screen width of 320 pixels is assumed:\r
-\r
-    address:  0         10                310      319\r
-             ----------------------------------------\r
-             |0123456789012345    .....   0123456789|\r
-             |                                      |\r
-             |                                      |\r
-             |\r
-\r
-b. In VGA memory, the screen is represented as follows (question marks\r
-   represent unused bytes):\r
-\r
-   Plane 0:\r
-\r
-    address:  0         10                310      319\r
-             ----------------------------------------\r
-             |0???4???8???2???    .....   ??2???6???|\r
-             |                                      |\r
-             |                                      |\r
-\r
-   Plane 1:\r
-\r
-    address:  0         10                310      319\r
-             ----------------------------------------\r
-             |?1???5???9???3??    .....   ???3???7??|\r
-             |                                      |\r
-             |                                      |\r
-\r
-   Plane 2:\r
-\r
-    address:  0         10                310      319\r
-             ----------------------------------------\r
-             |??2???6???0???4?    .....   0???4???8?|\r
-             |                                      |\r
-             |                                      |\r
-\r
-   Plane 3:\r
-\r
-    address:  0         10                310      319\r
-             ----------------------------------------\r
-             |???3???7???1???5    .....   ?1???5???9|\r
-             |                                      |\r
-             |                                      |\r
-\r
-   I.e. a plane is selected automatically by the two least significant\r
-   bits of the address of the byte being read from or written two.\r
-   This renders 3/4 of the video memory unavailable and useless, but\r
-   all visible pixels are easily accessed, as each address in the video\r
-   segment provides access to one and ONLY ONE pixel.\r
diff --git a/16/lib/intro/M13ORG.GIF b/16/lib/intro/M13ORG.GIF
deleted file mode 100755 (executable)
index 1fb4fc4..0000000
Binary files a/16/lib/intro/M13ORG.GIF and /dev/null differ
diff --git a/16/lib/intro/MXORG.ASC b/16/lib/intro/MXORG.ASC
deleted file mode 100755 (executable)
index 295766b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-Figure 2: Memory organization in unchained 256-color modes (like\r
-          Mode X) (ASCII version)\r
-         by Robert Schmidt\r
-          (C) 1993 Ztiff Zox Softwear\r
-\r
-\r
-Imagine that the screen looks the same as in figure 1a.  A screen width\r
-of 320 pixels is still assumed.\r
-\r
-In VGA memory, the screen will be represented as follows:\r
-\r
-   Plane 0:\r
-\r
-    address:  0         10                70       79 (NOT 319!)\r
-             ----------------------------------------\r
-             |0482604826048260    .....   0482604826|\r
-             |                                      |\r
-             |                                      |\r
-\r
-   Plane 1:\r
-\r
-    address:  0         10                70       79\r
-             ----------------------------------------\r
-             |1593715937159371    .....   1593715937|\r
-             |                                      |\r
-             |                                      |\r
-\r
-   Plane 2:\r
-\r
-    address:  0         10                70       79\r
-             ----------------------------------------\r
-             |2604826048260482    .....   2604826048|\r
-             |                                      |\r
-             |                                      |\r
-\r
-   Plane 3:\r
-\r
-    address:  0         10                70       79\r
-             ----------------------------------------\r
-             |3715937159371593    .....   3715937159|\r
-             |                                      |\r
-             |                                      |\r
-\r
-Note that if pixel i is in plane p, pixel i+1 is in plane (p+1)%4.\r
-When the planes are unchained, we need to set the Write Plane Enable\r
-register to select which planes should receive the data when writing,\r
-or the Read Plane Select register when reading.  As is evident, one \r
-address in the video segment provides access to no less than FOUR\r
-different pixels.\r
diff --git a/16/lib/intro/MXORG.GIF b/16/lib/intro/MXORG.GIF
deleted file mode 100755 (executable)
index 31c0ac5..0000000
Binary files a/16/lib/intro/MXORG.GIF and /dev/null differ
diff --git a/16/lib/intro/XINTRO.TXT b/16/lib/intro/XINTRO.TXT
deleted file mode 100755 (executable)
index 0ac0585..0000000
+++ /dev/null
@@ -1,569 +0,0 @@
-Title:         INTRODUCTION TO MODE X (XINTRO.TXT)\r
-\r
-Version:        1.8\r
-\r
-Author:                Robert Schmidt <robert@stud.unit.no>\r
-\r
-Copyright:     (C) 1993 of Ztiff Zox Softwear - refer to Status below.\r
-\r
-Last revision:  25-Nov-93\r
-\r
-Figures:       1. M13ORG - memory organization in mode 13h\r
-               2. MXORG - memory organization in unchained modes\r
-\r
-               The figures are available both as 640x480x16 bitmaps\r
-               (in GIF format), and as 7-bit ASCII text (ASC) files.\r
-\r
-C sources:     1. LIB.C v1.2 - simple graphics library for planar,\r
-                   256-color modes - optionally self-testing.\r
-\r
-                Excerpts from the source(s) appear in this article.\r
-                Whenever there are conflicts, the external source file(s)\r
-               are correct (or, at least, newest), _not_ the excerpts\r
-               provided here.\r
-\r
-Status:                This article, its associated figures and source listings\r
-               named above, are all donated to the public domain.\r
-               Do with it whatever you like, but give credit where\r
-               credit is due.  I would prefer it if this archive was\r
-               distributed in its entirety, including the files\r
-               mentioned above.\r
-\r
-               The standard disclaimer applies.\r
-\r
-Index:         0. ABSTRACT\r
-               1. INTRODUCTION TO THE VGA AND ITS 256-COLOR MODE\r
-               2. GETTING MORE PAGES AND PUTTING YOUR FIRST PIXEL\r
-               3. THE ROAD FROM HERE\r
-               4. BOOKS ON THE SUBJECT\r
-                5. BYE - FOR NOW\r
-\r
-\r
-0. ABSTRACT\r
-\r
-This text gives a fairly basic, yet technical, explanation to what, why\r
-and how Mode X is.  It first tries to explain the layout of the VGA\r
-memory and the shortcomings of the standard 320x200 256-color mode,\r
-then gives instructions on how one can progress from mode 13h to a\r
-multipage, planar 320x200 256-color mode, and from there to the\r
-quasi-standard 320x240 mode, known as Mode X.\r
-\r
-A little experience in programming the standard VGA mode 13h\r
-(320x200 in 256 colors) is assumed.  Likewise a good understanding of\r
-hexadecimal notation and the concepts of segments and I/O ports is\r
-assumed.  Keep a VGA reference handy, which at least should have\r
-definitions of the VGA registers at bit level.\r
-\r
-Throughout the article, a simple graphics library for unchained (planar)\r
-256-color modes is developed.  The library supports the 320x200 and\r
-320x240 modes, active and visible pages, and writing and reading\r
-individual pixels.\r
-\r
-\r
-1. INTRODUCTION TO THE VGA AND ITS 256-COLOR MODE\r
-\r
-Since its first appearance on the motherboards of the IBM PS/2 50, 60\r
-and 80 models in 1987, the Video Graphics Array has been the de facto\r
-standard piece of graphics hardware for IBM and compatible personal\r
-computers.  The abbreviation, VGA, was to most people synonymous with\r
-acceptable resolution (640x480 pixels), and a stunning rainbow of colors\r
-(256 from a palette of 262,144), at least compared to the rather gory\r
-CGA and EGA cards.\r
-\r
-Sadly, to use 256 colors, the VGA BIOS limited the users to 320x200\r
-pixels, i.e. the well-known mode 13h.  This mode has one good and one\r
-bad asset.  The good one is that each one of the 64,000 pixels is easily\r
-addressable in the 64 Kb video memory segment at 0A000h.  Simply calculate\r
-the offset using this formula:\r
-\r
-offset = (y * 320) + x;\r
-\r
-Set the byte at this address (0A000h:offset) to the color you want, and\r
-the pixel is there.  Reading a pixel is just as simple: just read the\r
-corresponding byte.  This was heaven, compared to the havoc of planes and\r
-masking registers needed in 16-color modes.  Suddenly, the distance from a\r
-graphics algorithm on paper to an implemented graphics routine in assembly\r
-was cut down to a fraction.  The results were impressively fast, too!\r
-\r
-The bad asset is that mode 13h is also limited to only one page, i.e.\r
-the VGA can hold only one screenful at any one time (plus 1536 pixels, or\r
-about four lines).  Most 16-color modes let the VGA hold more than one page,\r
-and this enables you to show one of the pages to the user, while drawing on\r
-another page in the meantime.  Page flipping is an important concept in making\r
-flicker free animations.  Nice looking and smooth scrolling is also almost\r
-impossible in mode 13h using plain VGA hardware.\r
-\r
-Now, the alert reader might say: "Hold on a minute!  If mode 13h enables\r
-only one page, this means that there is memory for only one page.  But I\r
-know for a fact that all VGAs have at least 256 Kb RAM, and one 320x200\r
-256-color page should consume only 320*200=64000 bytes, which is less\r
-than 64 Kb.  A standard VGA should room a little more than four 320x200\r
-pages!"  Quite correct, and to see how the BIOS puts this limitation on\r
-mode 13h, I'll elaborate a little on the memory organization of the VGA.\r
-\r
-The memory is separated into four bit planes.  The reason for this stems\r
-from the EGA, where graphics modes were 16-color.  Using bit planes, the\r
-designers chose to let each pixel on screen be addressable by a single\r
-bit in a single byte in the video segment.  Assuming the palette has\r
-not been modified from the default, each plane represent one of the EGA\r
-primary colors: red, green, blue and intensity.  When modifying the bit\r
-representing a pixel, the Write Plane Enable register is set to the\r
-wanted color.  Reading is more complex and slower, since you can\r
-only read from a single plane at a time, by setting the Read Plane\r
-Select register.  Now, since each address in the video segment can\r
-access 8 pixels, and there are 64 Kb addresses, 8 * 65,536 = 524,288\r
-16-color pixels can be accessed.  In a 320x200 16-color mode, this makes\r
-for about 8 (524,288/(320*200)) pages, in 640x480 you get nearly 2\r
-(524,288/(640*480)) pages.\r
-\r
-In a 256-color mode, the picture changes subtly.  The designers decided\r
-to fix the number of bit planes to 4, so extending the logic above to 8\r
-planes and 256 colors does not work.  Instead, one of their goals was to\r
-make the 256-color mode as easily accessible as possible.  Comparing the\r
-8 pixels/address in 16-color modes to the 1-to-1 correspondence of\r
-pixels and addresses of mode 13h, one can say that they have\r
-succeeded, but at a certain cost.  For reasons I am not aware of, the\r
-designers came up with the following effective, but memory-wasting\r
-scheme:\r
-\r
-The address space of mode 13h is divided evenly across the four bit\r
-planes.  When an 8-bit color value is written to a 16-bit address in the\r
-VGA segment, a bit plane is automatically selected by the 2 least\r
-significant bits of the address.  Then all 8 bits of the data is written\r
-to the byte at the 16-bit address in the selected bitplane (have a look at\r
-figure 1).  Reading works exactly the same way.  Since the bit planes are so\r
-closely tied to the address, only every fourth byte in the video memory is\r
-accessible, and 192 Kb of a 256 Kb VGA go to waste.  Eliminating the\r
-need to bother about planes sure is convenient and beneficial, but to\r
-most people the loss of 3/4 of the total VGA memory sounds just hilarious.\r
-\r
-To accomodate this new method of accessing video memory, the VGA\r
-designers introduced a new configuration bit called Chain-4, which\r
-resides as bit number 3 in index 4 of the Sequencer.  In 16-color modes,\r
-the default state for this bit is off (zero), and the VGA operates as\r
-described earlier.  In the VGA's standard 256-color mode, mode 13h, this\r
-bit is turned on (set to one), and this turns the tieing of bit\r
-planes and memory address on.\r
-\r
-In this state, the bit planes are said to be chained together, thus mode\r
-13h is often called a _chained mode_.\r
-\r
-Note that Chain-4 in itself is not enough to set a 256-color mode -\r
-there are other registers which deals with the other subtle changes in\r
-nature from 16 to 256 colors.  But, as we now will base our work with\r
-mode X on mode 13h, which already is 256-color, we won't bother about\r
-these for now.\r
-\r
-\r
-\r
-2. GETTING MORE PAGES AND PUTTING YOUR FIRST PIXEL\r
-\r
-The observant reader might at this time suggest that clearing the\r
-Chain-4 bit after setting mode 13h will give us access to all 256 Kb of\r
-video memory, as the two least significant bits of the byte address\r
-won't be `wasted' on selecting a bit plane.  This is correct.  You might\r
-also start feeling a little uneasy, because something tells you that\r
-you'll instantly loose the simple addressing scheme of mode 13h.  Sadly,\r
-that is also correct.\r
-\r
-At the moment Chain-4 is cleared, each byte offset addresses *four*\r
-sequential pixels, corresponding to the four planes addressed in 16-color\r
-modes.  Every fourth pixel belong in the same plane.  Before writing to a byte\r
-offset in the video segment, you should make sure that the 4-bit mask in the\r
-Write Plane Enable register is set correctly, according to which of the four\r
-addressable pixels you want to modify.  In essence, it works like a 16-color\r
-mode with a twist.  See figure 2.\r
-\r
-So, is this mode X?  Not quite.  We need to elaborate to the VGA how to\r
-fetch data for refreshing the monitor image.  Explaining the logic\r
-behind this is beyond the scope of this getting-you-started text, and it\r
-wouldn't be very interesting anyway.  Also, mode 13h has only 200 lines,\r
-while I promised 240 lines.  I'll fix that later below.  Here is the minimum\r
-snippet of code to initiate the 4 page variant of mode 13h (320x200), written\r
-in plain C, using some DOS specific features (see header for a note about the\r
-sources included):\r
-\r
-----8<-------cut begin------\r
-\r
-/* width and height should specify the mode dimensions.  widthBytes\r
-   specify the width of a line in addressable bytes. */\r
-\r
-int width, height, widthBytes;\r
-\r
-/* actStart specifies the start of the page being accessed by\r
-   drawing operations.  visStart specifies the contents of the Screen\r
-   Start register, i.e. the start of the visible page */\r
-\r
-unsigned actStart, visStart;\r
-\r
-/*\r
- * set320x200x256_X()\r
- *     sets mode 13h, then turns it into an unchained (planar), 4-page\r
- *     320x200x256 mode.\r
- */\r
-\r
-set320x200x256_X()\r
-       {\r
-\r
-       union REGS r;\r
-\r
-       /* Set VGA BIOS mode 13h: */\r
-\r
-       r.x.ax = 0x0013;\r
-       int86(0x10, &r, &r);\r
-\r
-       /* Turn off the Chain-4 bit (bit 3 at index 4, port 0x3c4): */\r
-\r
-       outport(SEQU_ADDR, 0x0604);\r
-\r
-       /* Turn off word mode, by setting the Mode Control register\r
-          of the CRT Controller (index 0x17, port 0x3d4): */\r
-\r
-       outport(CRTC_ADDR, 0xE317);\r
-\r
-       /* Turn off doubleword mode, by setting the Underline Location\r
-          register (index 0x14, port 0x3d4): */\r
-\r
-       outport(CRTC_ADDR, 0x0014);\r
-\r
-       /* Clear entire video memory, by selecting all four planes, then\r
-          writing 0 to the entire segment. */\r
-\r
-       outport(SEQU_ADDR, 0x0F02);\r
-       memset(vga+1, 0, 0xffff); /* stupid size_t exactly 1 too small */\r
-       vga[0] = 0;\r
-\r
-       /* Update the global variables to reflect the dimensions of this\r
-          mode.  This is needed by most future drawing operations. */\r
-\r
-        width   = 320;\r
-       height  = 200;\r
-\r
-        /* Each byte addresses four pixels, so the width of a scan line\r
-           in *bytes* is one fourth of the number of pixels on a line. */\r
-\r
-        widthBytes = width / 4;\r
-\r
-        /* By default we want screen refreshing and drawing operations\r
-           to be based at offset 0 in the video segment. */\r
-\r
-       actStart = visStart = 0;\r
-\r
-       }\r
-\r
-----8<-------cut end------\r
-\r
-As you can see, I've already provided some of the mechanics needed to\r
-support multiple pages, by providing the actStart and visStart variables.\r
-Selecting pages can be done in one of two contexts:\r
-\r
-       1) selecting the visible page, i.e. which page is visible on\r
-          screen, and\r
-\r
-       2) selecting the active page, i.e. which page is accessed by\r
-          drawing operations\r
-\r
-Selecting the active page is just a matter of offsetting our graphics\r
-operations by the address of the start of the page, as demonstrated in\r
-the put pixel routine below.  Selecting the visual page must be passed\r
-in to the VGA, by setting the Screen Start register.  Sadly enough, the\r
-resolution of this register is limited to one addressable byte, which\r
-means four pixels in unchained 256-color modes.  Some further trickery is \r
-needed for 1-pixel smooth, horizontal scrolling, but I'll make that a subject \r
-for later.  The setXXXStart() functions provided here accept byte\r
-offsets as parameters, so they'll work in any mode.  If widthBytes and\r
-height are set correctly, so will the setXXXPage() functions.\r
-\r
-----8<-------cut begin------\r
-\r
-/*\r
- * setActiveStart() tells our graphics operations which address in video\r
- * memory should be considered the top left corner.\r
- */\r
-\r
-setActiveStart(unsigned offset)\r
-       {\r
-       actStart = offset;\r
-       }\r
-\r
-/*\r
- * setVisibleStart() tells the VGA from which byte to fetch the first\r
- * pixel when starting refresh at the top of the screen.  This version\r
- * won't look very well in time critical situations (games for\r
- * instance) as the register outputs are not synchronized with the\r
- * screen refresh.  This refresh might start when the high byte is\r
- * set, but before the low byte is set, which produces a bad flicker.\r
- * I won't bother with this now.\r
- */\r
-\r
-setVisibleStart(unsigned offset)\r
-       {\r
-       visStart = offset;\r
-       outport(CRTC_ADDR, 0x0C);               /* set high byte */\r
-       outport(CRTC_ADDR+1, visStart >> 8);\r
-       outport(CRTC_ADDR, 0x0D);               /* set low byte */\r
-       outport(CRTC_ADDR+1, visStart & 0xff);\r
-       }\r
-\r
-/*\r
- * setXXXPage() sets the specified page by multiplying the page number\r
- * with the size of one page at the current resolution, then handing the\r
- * resulting offset value over to the corresponding setXXXStart()\r
- * function.  The first page number is 0.\r
- */\r
-\r
-setActivePage(int page)\r
-       {\r
-       setActiveStart(page * widthBytes * height);\r
-       }\r
-\r
-setVisiblePage(int page)\r
-       {\r
-       setVisibleStart(page * widthBytes * height);\r
-       }\r
-\r
-----8<-------cut end------\r
-\r
-Due to the use of bit planes, the graphics routines tend to get more\r
-complex than in mode 13h, and your first versions will generally tend to\r
-be a little slower than mode 13h algorithms.  Here's a put pixel routine\r
-for any unchained 256-color mode (it assumes that the 'width' variable\r
-from the above code is set correctly).  Optimizing is left as an exercise\r
-to you, the reader.  This will be the only drawing operation I'll cover\r
-in this article, but all general primitives like lines and circles can be \r
-based on this routine.  (You'll probably not want to do that though, due\r
-to the inefficiency.)\r
-\r
-----8<-------cut begin------\r
-\r
-putPixel_X(int x, int y, char color)\r
-       {\r
-\r
-       /* Each address accesses four neighboring pixels, so set\r
-          Write Plane Enable according to which pixel we want\r
-          to modify.  The plane is determined by the two least\r
-          significant bits of the x-coordinate: */\r
-\r
-       outportb(0x3c4, 0x02);\r
-       outportb(0x3c5, 0x01 << (x & 3));\r
-\r
-       /* The offset of the pixel into the video segment is\r
-          offset = (width * y + x) / 4, and write the given\r
-          color to the plane we selected above.  Heed the active\r
-          page start selection. */\r
-\r
-       vga[(unsigned)(widthBytes * y) + (x / 4) + actStart] = color;\r
-\r
-       }\r
-\r
-char getPixel_X(int x, int y)\r
-       {\r
-\r
-       /* Select the plane from which we must read the pixel color: */\r
-\r
-       outport(GRAC_ADDR, 0x04);\r
-       outport(GRAC_ADDR+1, x & 3);\r
-\r
-       return vga[(unsigned)(widthBytes * y) + (x / 4) + actStart];\r
-\r
-       }\r
-\r
-----8<-------cut end------\r
-\r
-\r
-However, by now you should be aware of that the Write Plane Enable\r
-register isn't limited to selecting just one bit plane, like the\r
-Read Plane Select register is.  You can enable any combination of all\r
-four to be written.  This ability to access 4 pixels with one\r
-instruction helps quadrupling the speed in certain respects, especially when \r
-drawing horizontal lines and filling polygons of a constant color.  Also, most \r
-block algorithms can be optimized in various ways so that they need only\r
-a constant number of OUTs (typically four) to the Write Plane Enable\r
-register.  OUT is a relatively slow instruction.\r
-\r
-The gained ability to access the full 256 Kb of memory on a standard\r
-VGA enables you to do paging and all the goodies following from that:\r
-smooth scrolling over large maps, page flipping for flicker free\r
-animation... and I'll leave something for your own imagination.\r
-\r
-In short, the stuff gained from unchaining mode 13h more than \r
-upweighs the additional complexity of using a planar mode.  \r
-\r
-Now, the resolution of the mode is of little interest in this\r
-context.  Nearly any 256-color resolution from (about) 80x8 to 400x300\r
-is available for most VGAs.  I'll dwell particularly by 320x240, as this\r
-is the mode that Michael Abrash introduced as 'Mode X' in his DDJ\r
-articles.  It is also the resolution that most people refer to when\r
-using that phrase.\r
-\r
-The good thing about the 320x240 mode is that the aspect ratio is\r
-1:1, which means that each pixel is 'perfectly' square, i.e. not\r
-rectangular like in 320x200.  An ellipse drawn with the same number of\r
-pixels along both main axes will look like a perfect circle in 320x240,\r
-but like a subtly tall ellipse in 320x200.\r
-\r
-Here's a function which sets the 320x240 mode.  You'll notice that\r
-it depends on the first piece of code above:\r
-\r
-----8<-------cut begin------\r
-\r
-set320x240x256_X()\r
-       {\r
-\r
-       /* Set the unchained version of mode 13h: */\r
-\r
-       set320x200x256_X();\r
-\r
-       /* Modify the vertical sync polarity bits in the Misc. Output\r
-          Register to achieve square aspect ratio: */\r
-\r
-       outportb(0x3C2, 0xE3);\r
-\r
-       /* Modify the vertical timing registers to reflect the increased\r
-          vertical resolution, and to center the image as good as\r
-          possible: */\r
-\r
-       outport(0x3D4, 0x2C11);         /* turn off write protect */\r
-       outport(0x3D4, 0x0D06);         /* vertical total */\r
-       outport(0x3D4, 0x3E07);         /* overflow register */\r
-       outport(0x3D4, 0xEA10);         /* vertical retrace start */\r
-       outport(0x3D4, 0xAC11);         /* vertical retrace end AND wr.prot */\r
-       outport(0x3D4, 0xDF12);         /* vertical display enable end */\r
-       outport(0x3D4, 0xE715);         /* start vertical blanking */\r
-       outport(0x3D4, 0x0616);         /* end vertical blanking */\r
-\r
-       /* Update mode info, so future operations are aware of the\r
-          resolution: */\r
-\r
-       height = 240;\r
-\r
-       }\r
-\r
-----8<-------cut end------\r
-\r
-\r
-As you've figured out, this mode will be completely compatible with the\r
-utility functions presented earlier, thanks to the global variable\r
-'height'.  Boy, am I foreseeing or what!\r
-\r
-Other resolutions are achieved through giving other values to the sync\r
-timing registers of the VGA, but this is quite a large and complex\r
-subject, so I'll postpone this to later, if ever.\r
-\r
-Anyway, I hope I've helped getting you started using mode X.  As far as\r
-I know, the two modes I've used above should work on *any* VGA and Super\r
-VGA available, so this is pretty stable stuff.  Let me know of any \r
-trouble, and - \r
-                       good luck!\r
-\r
-\r
-\r
-3. THE ROAD FROM HERE\r
-\r
-I'm providing information on various libraries and archives which relate\r
-to what this article deals with.  If you want me to add anything to this\r
-list (for future articles), let me know, although I can't promise anything.\r
-I am assuming you have ftp access.\r
-\r
-\r
-wuarchive.wustl.edu:/pub/MSDOS_UPLOADS/programming/xlib06.zip\r
-\r
-This is the current de facto C/assembler library for programming\r
-unchained modes (do not confuse with a X Windows library).  All sources\r
-are included, and the library is totally free.  It has functions for\r
-pixels, lines, circles, bezier curves, mouse handling, sprites (bitmaps),\r
-compiled bitmaps, and supports a number of resolutions.  The version number\r
-('06') is current as of November 1993.\r
-\r
-\r
-graphprg.zip\r
-\r
-Michael Abrash' articles in Doctor Dobbs Journal is always mentioned\r
-with awe.  In this 350 Kb archive, most of his interesting stuff has\r
-been gathered.  Read about Mode X development and techniques from month\r
-to month.  Included is also all the individual source code snippets from\r
-each article, and also the full XSHARP library providing linedrawing,\r
-polygons, bitmaps, solid 3D projection and speedy rendering, and even an\r
-implementation of 2D texture mapping (can be used for quasi-3D texture\r
-mapping), plus an article on assembly optimization on the i86 processor\r
-family.  Definitely recommended.\r
-\r
-\r
-oak.oakland.edu:/pub/msdos/vga/vgadoc2.zip\r
-\r
-This is a bare bones VGA register reference.  It also contains register\r
-references for the CGA, EGA and Hercules cards, in addition to dozens of\r
-SuperVGAs.  Check out the BOOKS section for some decent VGA references\r
-though - you don't want to start tweaking without a real one.\r
-\r
-\r
-wuarchive.wustl.edu:/pub/MSDOS_UPLOADS/programming/tweak15b.zip\r
-\r
-TWEAK might be of interest to the more adventurous reader.  TWEAK lets you\r
-play around with the registers of the VGA in an interactive manner.\r
-Various testing screens for viewing your newmade modes are applied at\r
-the press of a key.  Version 1.5 adds a test screen which autodetects your \r
-graphics mode and displays various information about resolutions etc.\r
-Keep a VGA reference handy.  Don't try it if this is the first time you've \r
-heard of 'registers' or 'mode X' or 'tweaking'.  I was planning a version\r
-based on the Turbo Vision interface, but time has been short.  Maybe later!\r
-\r
-\r
-\r
-\r
-4. BOOKS ON THE SUBJECT\r
-\r
-Extremely little has been published in written form about using\r
-'Mode X'-style modes.  Below are some books which cover VGA programming\r
-at varying degrees of technical level, but the only one to mention\r
-unchained modes and Mode X, is Michael Abrash'.  I'd get one of the VGA\r
-references first, though.\r
-\r
-  o  George Sutty & Steve Blair : "Advanced Pogrammer's Guide to the\r
-     EGA/VGA" from Brady.  A bit old perhaps, but covers all *standard*\r
-     EGA/VGA registers, and discusses most BIOS functions and other\r
-     operations.  Contains disk with C/Pascal/assembler source code.\r
-     There's a sequel out for SuperVGAs, which I haven't seen.\r
-\r
-  o  Michael Abrash : "Power Graphics Programming" from QUE/Programmer's\r
-     Journal.  Collections of (old) articles from Programmer's Journal on\r
-     EGA/VGA, read modes and write modes, animation, tweaking (320x400\r
-     and 360x480).  His newer ravings in DDJ covers fast 256-color\r
-     bitmaps, compiled bitmaps, polygons, 3D graphics, texture mapping\r
-     among other stuff.\r
-\r
-  o  Richard F. Ferraro : "Programmer's Guide to the EGA and VGA video\r
-     cards including Super VGA".  I don't have this one, but heard it's\r
-     nice.  Detailed coverage of all EGA/VGA registers.  The Super VGA\r
-     reference makes it attractive.\r
-\r
-  o  Richard Wilton : "Programmer's Guide to PC & PS/2 Video Systems"\r
-     Less technical, more application/algorithm oriented.  Nice enough,\r
-     even though it is a bit outdated, in that he discusses CGA and\r
-     Hercules cards just as much as EGA/VGA.\r
-\r
-\r
-\r
-\r
-5. BYE - FOR NOW\r
-\r
-I am considering writing a text describing in more detail the process of\r
-using TWEAK to achieve the VGA resolution you want or need.  However, I\r
-thought I'd let this document go first, and see if I get any reactions.\r
-If I don't, I'll stop.  Feel free to forward any suggestions,\r
-criticisms, bombs and beers.\r
-\r
-I can be reached via:\r
-\r
-  o  e-mail: robert@stud.unit.no\r
-\r
-  o  land mail:\r
-\r
-     Robert Schmidt\r
-     Stud.post 170\r
-     NTH\r
-     N-7034 Trondheim\r
-     NORWAY\r
-\r
-Nothing would encourage or please me more than a postcard from where you\r
-live!\r
diff --git a/16/lib/intro/lib.c b/16/lib/intro/lib.c
deleted file mode 100755 (executable)
index d0e7a83..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-/*\r
- * LIB.C v1.2a\r
- *\r
- * by Robert Schmidt\r
- * (C)1993 Ztiff Zox Softwear\r
- *\r
- * Simple graphics library to accompany the article\r
- * \r
- *                                       INTRODUCTION TO MODE X.\r
- * \r
- * This library provides the basic functions for initializing and using\r
- * unchained (planar) 256-color VGA modes.  Currently supported are:\r
- *\r
- *       - 320x200\r
- *       - 320x240\r
- *\r
- * Functions are provided for:\r
- *\r
- *       - initializing one of the available modes\r
- *       - setting the start address of the VGA refresh data\r
- *       - setting active and visible display pages\r
- *       - writing and reading a single pixel to/from video memory\r
- *\r
- * The library is provided as a demonstration only, and is not claimed\r
- * to be particularly efficient or suited for any purpose.  It has only\r
- * been tested with Borland C++ 3.1 by the author.  Comments on success\r
- * or disaster with other compilers are welcome.\r
- *\r
- * This file is public domain.  Do with it whatever you'd like, but\r
- * please don't distribute it without the article.\r
- *\r
- * Thanks go out to various helpful netters who spotted the 0xE7 bug\r
- * in the set320x240x256() function!\r
- *\r
- * Modified by sparky4 so it can be compiled in open watcom ^^\r
- */\r
-\r
-\r
-\r
-\r
-/*\r
- * We 'require' a large data model simply to get rid of explicit 'far'\r
- * pointers and compiler specific '_fmemset()' functions and the likes.\r
- */\r
-#if !defined(__COMPACT__)\r
-# if !defined(__LARGE__)\r
-#  if !defined(__HUGE__)\r
-#   error Large data model required!  Try compiling with 'wcc -0 -ml lib.c'.\r
-#  endif\r
-# endif\r
-#endif\r
-\r
-#include <dos.h>\r
-#include <mem.h>\r
-#include <conio.h>\r
-\r
-//code from old library!\r
-/*src¥lib¥*/\r
-#include "dos_gfx.h"\r
-\r
-int old_mode;\r
-//color てすと\r
-int gq = LGQ;\r
-//てすと\r
-int q = 0;\r
-int bakax = 0, bakay = 0;\r
-cord xx = rand()&0%320, yy = rand()&0%240, sx = 0, sy = 0;\r
-byte coor;\r
-\r
-/*\r
- * Comment out the following #define if you don't want the testing main()\r
- * to be included.\r
- */\r
-#define TESTING\r
-\r
-/*\r
- * Define the port addresses of some VGA registers.\r
- */\r
-#define CRTC_ADDR         0x3d4   /* Base port of the CRT Controller (color) */\r
-\r
-#define SEQU_ADDR         0x3c4   /* Base port of the Sequencer */\r
-#define GRAC_ADDR         0x3ce   /* Base port of the Graphics Controller */\r
-#define STATUS_ADDR     0x3DA\r
-\r
-\r
-/*\r
- * Make a far pointer to the VGA graphics buffer segment.  Your compiler\r
- * might not have the MK_FP macro, but you'll figure something out.\r
- */\r
-byte *vga = (byte *) MK_FP(0xA000, 0);\r
-\r
-\r
-/*\r
- * width and height should specify the mode dimensions.  widthBytes\r
- * specify the width of a line in addressable bytes.\r
- */\r
-unsigned width, height, widthBytes;\r
-\r
-/*\r
- * actStart specifies the start of the page being accessed by\r
- * drawing operations.  visStart specifies the contents of the Screen\r
- * Start register, i.e. the start of the visible page.\r
- */\r
-unsigned actStart, visStart;\r
-\r
-/*\r
- * set320x200x256_X()\r
- *       sets mode 13h, then turns it into an unchained (planar), 4-page\r
- *       320x200x256 mode.\r
- */\r
-void set320x200x256_X(void)\r
-               {\r
-               union REGS r;\r
-\r
-               /* Set VGA BIOS mode 13h: */\r
-               r.x.ax = 0x0013;\r
-               int86(0x10, &r, &r);\r
-\r
-               /* Turn off the Chain-4 bit (bit 3 at index 4, port 0x3c4): */\r
-               outpw(SEQU_ADDR, 0x0604);\r
-\r
-               /* Turn off word mode, by setting the Mode Control register\r
-               of the CRT Controller (index 0x17, port 0x3d4): */\r
-               outpw(CRTC_ADDR, 0xE317);\r
-\r
-               /* Turn off doubleword mode, by setting the Underline Location\r
-                  register (index 0x14, port 0x3d4): */\r
-               outpw(CRTC_ADDR, 0x0014);\r
-\r
-               /* Clear entire video memory, by selecting all four planes, then\r
-                  writing 0 to entire segment. */\r
-               outpw(SEQU_ADDR, 0x0F02);\r
-               memset(vga+1, 0, 0xffff); /* stupid size_t exactly 1 too small */\r
-               vga[0] = 0;\r
-\r
-               /* Update the global variables to reflect dimensions of this\r
-                  mode.  This is needed by most future drawing operations. */\r
-               width              = 320;\r
-               height  = 200;\r
-\r
-               /* Each byte addresses four pixels, so the width of a scan line\r
-                  in *bytes* is one fourth of the number of pixels on a line. */\r
-               widthBytes = width / 4;\r
-\r
-               /* By default we want screen refreshing and drawing operations\r
-                  to be based at offset 0 in the video segment. */\r
-               actStart = visStart = 0;\r
-\r
-               }\r
-\r
-/*\r
- * setActiveStart() tells our graphics operations which address in video\r
- * memory should be considered the top left corner.\r
- */\r
-void setActiveStart(unsigned offset)\r
-               {\r
-               actStart = offset;\r
-               }\r
-\r
-/*\r
- * setVisibleStart() tells the VGA from which byte to fetch the first\r
- * pixel when starting refresh at the top of the screen.  This version\r
- * won't look very well in time critical situations (games for\r
- * instance) as the register outputs are not synchronized with the\r
- * screen refresh.  This refresh might start when the high byte is\r
- * set, but before the low byte is set, which produces a bad flicker.\r
- */\r
-void setVisibleStart(unsigned offset)\r
-               {\r
-               visStart = offset;\r
-               outpw(CRTC_ADDR, 0x0C);          /* set high byte */\r
-               outpw(CRTC_ADDR+1, visStart >> 8);\r
-               outpw(CRTC_ADDR, 0x0D);          /* set low byte */\r
-               outpw(CRTC_ADDR+1, visStart & 0xff);\r
-               }\r
-\r
-/*\r
- * setXXXPage() sets the specified page by multiplying the page number\r
- * with the size of one page at the current resolution, then handing the\r
- * resulting offset value over to the corresponding setXXXStart()\r
- * function.  The first page is number 0.\r
- */\r
-void setActivePage(int page)\r
-               {\r
-               setActiveStart(page * widthBytes * height);\r
-               }\r
-\r
-void setVisiblePage(int page)\r
-               {\r
-               setVisibleStart(page * widthBytes * height);\r
-               }\r
-\r
-void putPixel_X(int x, int y, byte color)\r
-               {\r
-               /* Each address accesses four neighboring pixels, so set\r
-                  Write Plane Enable according to which pixel we want\r
-                  to modify.  The plane is determined by the two least\r
-                  significant bits of the x-coordinate: */\r
-               outp(0x3c4, 0x02);\r
-               outp(0x3c5, 0x01 << (x & 3));\r
-\r
-               /* The offset of the pixel into the video segment is\r
-                  offset = (width * y + x) / 4, and write the given\r
-                  color to the plane we selected above.  Heed the active\r
-                  page start selection. */\r
-               vga[(unsigned)(widthBytes * y) + (x / 4) + actStart] = color;\r
-\r
-               }\r
-\r
-byte getPixel_X(int x, int y)\r
-               {\r
-               /* Select the plane from which we must read the pixel color: */\r
-               outpw(GRAC_ADDR, 0x04);\r
-               outpw(GRAC_ADDR+1, x & 3);\r
-\r
-               return vga[(unsigned)(widthBytes * y) + (x / 4) + actStart];\r
-\r
-               }\r
-\r
-void set320x240x256_X(void)\r
-               {\r
-               /* Set the unchained version of mode 13h: */\r
-               set320x200x256_X();\r
-\r
-               /* Modify the vertical sync polarity bits in the Misc. Output\r
-                  Register to achieve square aspect ratio: */\r
-               outp(0x3C2, 0xE3);\r
-\r
-               /* Modify the vertical timing registers to reflect the increased\r
-                  vertical resolution, and to center the image as good as\r
-                  possible: */\r
-               outpw(0x3D4, 0x2C11);              /* turn off write protect */\r
-               outpw(0x3D4, 0x0D06);              /* vertical total */\r
-               outpw(0x3D4, 0x3E07);              /* overflow register */\r
-               outpw(0x3D4, 0xEA10);              /* vertical retrace start */\r
-               outpw(0x3D4, 0xAC11);              /* vertical retrace end AND wr.prot */\r
-               outpw(0x3D4, 0xDF12);              /* vertical display enable end */\r
-               outpw(0x3D4, 0xE715);              /* start vertical blanking */\r
-               outpw(0x3D4, 0x0616);              /* end vertical blanking */\r
-\r
-               /* Update mode info, so future operations are aware of the\r
-                  resolution */\r
-               height = 240;\r
-\r
-               }
-
-/*\r
- * The library testing routines follows below.\r
- */\r
-\r
-\r
-#ifdef TESTING\r
-\r
-#include <stdio.h>\r
-#include <conio.h>\r
-\r
-void doTest(void)\r
-               {\r
-               int p, x, y, pages;\r
-\r
-               /* This is the way to calculate the number of pages available. */\r
-               pages = 65536L/(widthBytes*height); // apparently this takes the A000 address\r
-\r
-               for (p = 0; p <= pages; ++p)\r
-                               {\r
-                               setActivePage(p);\r
-\r
-                               /* On each page draw a single colored border, and dump the palette\r
-                                  onto a small square about the middle of the page. */\r
-\r
-                                  //{\r
-                                               for (x = 0; x <= width; ++x)\r
-                                                               {\r
-                                                               putPixel_X(x, 0, p+1);\r
-                                                               if(p!=pages) putPixel_X(x, height-1, p+1);\r
-                                                                               else if(height==240) putPixel_X(x, 99-1, p+1);\r
-                                                               }\r
-\r
-                                               for (y = 0; y <= height; ++y)\r
-                                                               {\r
-                                                               putPixel_X(0, y, p+1);\r
-                                                               if(p!=pages) putPixel_X(width-1, y, p+1);\r
-                                                                               else if(height==240) putPixel_X(width-1, y, p+1);\r
-                                                               }\r
-\r
-                                               for (x = 0; x < TILEWH; ++x)\r
-                                                               for (y = 0; y < TILEWH; ++y)\r
-                                                                               putPixel_X(x+(p+2)*16, y+(p+2)*TILEWH, x + y*TILEWH);\r
-                                               //}\r
-\r
-                               }\r
-\r
-               /* Each pages will now contain a different image.  Let the user cycle\r
-                  through all the pages by pressing a key. */\r
-               for (p = 0; p < pages; ++p)\r
-                               {\r
-                               setVisiblePage(p);\r
-                               getch();\r
-                               }\r
-\r
-               }\r
-\r
-/*\r
- * Library test (program) entry point.\r
- */\r
-\r
-int main(void)\r
-               {\r
-               int key,d;\r
-               //short int temp;\r
-               // main variables\r
-               d=1; // switch variable\r
-               key=4; // default screensaver number\r
-//       puts("First, have a look at the 320x200 mode.  I will draw some rubbish");\r
-//       puts("on all of the four pages, then let you cycle through them by");\r
-//       puts("hitting a key on each page.");\r
-//       puts("Press a key when ready...");\r
-//       getch();\r
-\r
-//       doTest();\r
-\r
-//       puts("Then, check out Mode X, 320x240 with 3 (and a half) pages.");\r
-//       puts("Press a key when ready...");\r
-//       getch();\r
-\r
-               setvideo(1);\r
-// screen savers\r
-\r
-/*while(d!=0){ // on!\r
-                               if(!kbhit()){ // conditions of screen saver\r
-                                               ding(key);\r
-                               }else{\r
-                                               setvideo(0);\r
-                                               // user imput switch\r
-                                               printf("Enter 1, 2, 3, 4, or 6 to run a screensaver, or enter 5 to quit.¥n", getch());  // prompt the user\r
-                                               scanf("%d", &key);\r
-                                               //if(key==3){xx=yy=0;} // crazy screen saver wwww\r
-                                               if(key==5) d=0;\r
-                                               setvideo(1);\r
-                               }\r
-               }*/ // else off\r
-               while(!kbhit()){ // conditions of screen saver\r
-                       ding(key);\r
-               }\r
-               //end of screen savers\r
-               doTest();\r
-               while(!kbhit()){\r
-\r
-               }\r
-               setvideo(0);\r
-               printf("wwww¥n%dx%d¥n", width,height);\r
-               printf("[%d]¥n", mxGetVersion());\r
-               puts("where to next?  It's your move! wwww");\r
-               printf("bakapi ver. 1.04.09.04¥nis made by sparky4(≧ω≦) feel free to use it ^^¥nLicence: GPL v2¥n");\r
-               return 0;\r
-               }\r
-\r
-#endif\r
-#endif
\ No newline at end of file
diff --git a/16/lib/modex105/DEMOS/BASIC7/MODEX.LIB b/16/lib/modex105/DEMOS/BASIC7/MODEX.LIB
deleted file mode 100755 (executable)
index 0a0364a..0000000
Binary files a/16/lib/modex105/DEMOS/BASIC7/MODEX.LIB and /dev/null differ
diff --git a/16/lib/modex105/DEMOS/QB45/MODEX.LIB b/16/lib/modex105/DEMOS/QB45/MODEX.LIB
deleted file mode 100755 (executable)
index 7baeb85..0000000
Binary files a/16/lib/modex105/DEMOS/QB45/MODEX.LIB and /dev/null differ
similarity index 100%
rename from 16/lib/modex105/ASM.BAT
rename to 16/modex105/ASM.BAT
similarity index 100%
rename from 16/lib/modex105/MODEX.H
rename to 16/modex105/MODEX.H
similarity index 100%
rename from 16/lib/x.zip
rename to 16/x.zip