diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index c8aa04df..23001114 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 04e76a9f..b3326d38 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Errata.pdf b/Doc/RomWBW Errata.pdf index b8c948bd..1a718b77 100644 Binary files a/Doc/RomWBW Errata.pdf and b/Doc/RomWBW Errata.pdf differ diff --git a/Doc/RomWBW ROM Applications.pdf b/Doc/RomWBW ROM Applications.pdf index 97805cee..809b01ac 100644 Binary files a/Doc/RomWBW ROM Applications.pdf and b/Doc/RomWBW ROM Applications.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 7d23bddd..475a2e63 100644 Binary files a/Doc/RomWBW System Guide.pdf and b/Doc/RomWBW System Guide.pdf differ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index b89ea447..b38d638e 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/ReadMe.md b/ReadMe.md index 4a5b823f..f3d034a3 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -1,7 +1,9 @@ -RomWBW ReadMe -Version 3.1 Pre-release -Wayne Warthen () -06 Feb 2023 + + +**RomWBW ReadMe** \ +Version 3.1 Pre-release \ +Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ +07 Feb 2023 # Overview @@ -14,7 +16,7 @@ communities: - [RetroBrew Computers](https://www.retrobrewcomputers.org) - [RC2014](https://rc2014.co.uk), [RC2014-Z80](https://groups.google.com/g/rc2014-z80) -- [retro-comp](https://groups.google.com/g/retro-comp) +- [retro-comp](https://groups.google.com/forum/#!forum/retro-comp) - [Small Computer Central](https://smallcomputercentral.com/) General features include: @@ -25,8 +27,8 @@ General features include: - Video drivers including TMS9918, SY6545, MOS8563, HD6445 - Keyboard (PS/2) drivers via VT8242 or PPI interfaces - Real time clock drivers including DS1302, BQ4845 -- OS Adaptations of CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, - p-System, and FreeRTOS +- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and + FreeRTOS - Built-in VT-100 terminal emulation support RomWBW is distributed as both source code and pre-built ROM and disk @@ -40,7 +42,7 @@ ROM firmware itself: A dynamic disk drive letter assignment mechanism allows mapping operating system drive letters to any available disk media. -Additionally, mass media devices (IDE Disk, CF Card, SD Card) support +Additionally, mass storage devices (IDE Disk, CF Card, SD Card) support the use of multiple slices (up to 256 per device). Each slice contains a complete CP/M filesystem and can be mapped independently to any drive letter. This overcomes the inherent size limitations in legacy OSes and @@ -104,8 +106,7 @@ Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf) ## Documentation -This document is part of a set of documentation for RomWBW that also -includes: +Documentation for RomWBW includes: - [RomWBW User Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf) diff --git a/ReadMe.txt b/ReadMe.txt index 67131255..8bd8b8b4 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,12 +1,11 @@ +RomWBW ReadMe +Wayne Warthen (wwarthen@gmail.com) +07 Feb 2023 -RomWBW ReadMe -Version 3.1 Pre-release -Wayne Warthen () -06 Feb 2023 -Overview -======== +OVERVIEW + RomWBW software provides a complete, commercial quality implementation of CP/M (and workalike) operating systems and applications for modern @@ -14,36 +13,35 @@ Z80/180/280 retro-computing hardware systems. A wide variety of platforms are supported including those produced by these developer communities: -- [RetroBrew Computers](https://www.retrobrewcomputers.org) -- [RC2014](https://rc2014.co.uk), - [RC2014-Z80](https://groups.google.com/g/rc2014-z80) -- [retro-comp](https://groups.google.com/g/retro-comp) -- [Small Computer Central](https://smallcomputercentral.com/) +- RetroBrew Computers +- RC2014, RC2014-Z80 +- retro-comp +- Small Computer Central General features include: -- Banked memory services for several banking designs -- Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD -- Serial drivers including UART (16550-like), ASCI, ACIA, SIO -- Video drivers including TMS9918, SY6545, MOS8563, HD6445 -- Keyboard (PS/2) drivers via VT8242 or PPI interfaces -- Real time clock drivers including DS1302, BQ4845 -- OS Adaptations of CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, - p-System, and FreeRTOS -- Built-in VT-100 terminal emulation support +- Banked memory services for several banking designs +- Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD +- Serial drivers including UART (16550-like), ASCI, ACIA, SIO +- Video drivers including TMS9918, SY6545, MOS8563, HD6445 +- Keyboard (PS/2) drivers via VT8242 or PPI interfaces +- Real time clock drivers including DS1302, BQ4845 +- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and + FreeRTOS +- Built-in VT-100 terminal emulation support RomWBW is distributed as both source code and pre-built ROM and disk images. Some of the provided software can be launched directly from the ROM firmware itself: -- System Monitor -- Operating Systems (CP/M 2.2, ZSDOS) -- ROM BASIC (Nascom BASIC and Tasty BASIC) -- ROM Forth +- System Monitor +- Operating Systems (CP/M 2.2, ZSDOS) +- ROM BASIC (Nascom BASIC and Tasty BASIC) +- ROM Forth A dynamic disk drive letter assignment mechanism allows mapping operating system drive letters to any available disk media. -Additionally, mass media devices (IDE Disk, CF Card, SD Card) support +Additionally, mass storage devices (IDE Disk, CF Card, SD Card) support the use of multiple slices (up to 256 per device). Each slice contains a complete CP/M filesystem and can be mapped independently to any drive letter. This overcomes the inherent size limitations in legacy OSes and @@ -75,27 +73,29 @@ The FAT filesystem may be coresident on the same disk media as RomWBW slices or on stand-alone media. This makes exchanging files with modern OSes such as Windows, MacOS, and Linux very easy. -Acquiring RomWBW -================ - -The [RomWBW Repository](https://github.com/wwarthen/RomWBW) on GitHub is -the official distribution location for all project source and -documentation. The fully-built distribution releases are available on -the [RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases) -of the repository. On this page, you will normally see a Development -Snapshot as well as recent stable releases. Unless you have a specific -reason, I suggest you stick to the most recent stable release. Expand -the “Assets” drop-down for the release you want to download, then select -the asset named RomWBW-vX.X.X-Package.zip. The Package asset includes -all pre-built ROM and Disk images as well as full source code. The other -assets contain only source code and do not have the pre-built ROM or -disk images. + + +ACQUIRING ROMWBW + + +The RomWBW Repository on GitHub is the official distribution location +for all project source and documentation. The fully-built distribution +releases are available on the RomWBW Releases Page of the repository. On +this page, you will normally see a Development Snapshot as well as +recent stable releases. Unless you have a specific reason, I suggest you +stick to the most recent stable release. Expand the “Assets” drop-down +for the release you want to download, then select the asset named +RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM +and Disk images as well as full source code. The other assets contain +only source code and do not have the pre-built ROM or disk images. All source code and distributions are maintained on GitHub. Code contributions are very welcome. -Installation & Operation -======================== + + +INSTALLATION & OPERATION + In general, installation of RomWBW on your platform is very simple. You just need to program your ROM with the correct ROM image from the RomWBW @@ -104,28 +104,23 @@ drives (IDE disk, CF Card, SD Card, etc.) which then provides even more functionality. Complete instructions for installation and operation of RomWBW are found -in the [RomWBW User -Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf). +in the RomWBW User Guide. + Documentation -------------- -This document is part of a set of documentation for RomWBW that also -includes: +Documentation for RomWBW includes: -- [RomWBW User - Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf) -- [RomWBW System - Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20System%20Guide.pdf) -- [RomWBW - Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Applications.pdf) -- [RomWBW ROM - Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20ROM%20Applications.pdf) -- [RomWBW - Errata](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Errata.pdf) +- RomWBW User Guide +- RomWBW System Guide +- RomWBW Applications +- RomWBW ROM Applications +- RomWBW Errata + + + +ACKNOWLEDGMENTS -Acknowledgments -=============== I want to acknowledge that a great deal of the code and inspiration for RomWBW has been provided by or derived from the work of others in the @@ -133,59 +128,62 @@ RetroBrew Computers Community. I sincerely appreciate all of their contributions. The list below is probably missing many names – please let me know if I missed you! -- Andrew Lynch started it all when he created the N8VEM Z80 SBC which - became the first platform RomWBW supported. Some of his code can still - be found in RomWBW. +- Andrew Lynch started it all when he created the N8VEM Z80 SBC which + became the first platform RomWBW supported. Some of his code can + still be found in RomWBW. -- Dan Werner wrote much of the code from which RomWBW was originally - derived and he has always been a great source of knowledge and advice. +- Dan Werner wrote much of the code from which RomWBW was originally + derived and he has always been a great source of knowledge and + advice. -- Douglas Goodall contributed code, time, testing, and advice in “the - early days”. He created an entire suite of application programs to - enhance the use of RomWBW. Unfortunately, they have become unusable - due to internal changes within RomWBW. As of RomWBW 2.6, these - applications are no longer provided. +- Douglas Goodall contributed code, time, testing, and advice in “the + early days”. He created an entire suite of application programs to + enhance the use of RomWBW. Unfortunately, they have become unusable + due to internal changes within RomWBW. As of RomWBW 2.6, these + applications are no longer provided. -- David Giles created support for the Z180 CSIO which is now included SD - Card driver. +- David Giles created support for the Z180 CSIO which is now included + SD Card driver. -- Ed Brindley contributed some of the code that supports the RC2014 - platform. +- Ed Brindley contributed some of the code that supports the RC2014 + platform. -- Phil Summers contributed the Forth and BASIC adaptations in ROM, the - AY-3-8910 sound driver as well as a long list of general code - enhancements. +- Phil Summers contributed the Forth and BASIC adaptations in ROM, the + AY-3-8910 sound driver as well as a long list of general code + enhancements. -- Spencer Owen created the RC2014 series of hobbyist kit computers which - has exponentially increased RomWBW usage. +- Spencer Owen created the RC2014 series of hobbyist kit computers + which has exponentially increased RomWBW usage. -- Stephen Cousins has likewise created a series of hobbyist kit - computers at Small Computer Central and is distributing RomWBW with - many of them. +- Stephen Cousins has likewise created a series of hobbyist kit + computers at Small Computer Central and is distributing RomWBW with + many of them. -- The CP/NET client files were developed by Douglas Miller. +- The CP/NET client files were developed by Douglas Miller. -- Phillip Stevens contributed support for FreeRTOS. +- Phillip Stevens contributed support for FreeRTOS. -- Curt Mayer contributed the original Linux / MacOS build process. +- Curt Mayer contributed the original Linux / MacOS build process. -- UNA BIOS and FDISK80 are the products of John Coffman. +- UNA BIOS and FDISK80 are the products of John Coffman. -- FLASH4 is a product of Will Sowerbutts. +- FLASH4 is a product of Will Sowerbutts. -- CLRDIR is a product of Max Scane. +- CLRDIR is a product of Max Scane. -- Tasty Basic is a product of Dimitri Theulings. +- Tasty Basic is a product of Dimitri Theulings. -- Dean Netherton contributed the sound driver interface and the SN76489 - sound driver. +- Dean Netherton contributed the sound driver interface and the + SN76489 sound driver. -- The RomWBW Disk Catalog document was produced by Mykl Orders. +- The RomWBW Disk Catalog document was produced by Mykl Orders. Contributions of all kinds to RomWBW are very welcome. -Licensing -========= + + +LICENSING + RomWBW is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -198,7 +196,7 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along -with RomWBW. If not, see . +with RomWBW. If not, see https://www.gnu.org/licenses/. Portions of RomWBW were created by, contributed by, or derived from the work of others. It is believed that these works are being used in @@ -207,7 +205,7 @@ accordance with the intentions and/or licensing of their creators. If anyone feels their work is being used outside of it’s intended licensing, please notify: -> Wayne Warthen wwarthen@gmail.com + Wayne Warthen wwarthen@gmail.com RomWBW is an aggregate work. It is composed of many individual, standalone programs that are distributed as a whole to function as a @@ -226,19 +224,19 @@ control system to ensure their contributions are clearly documented. All contributions to RomWBW are subject to this license. -Getting Assistance -================== + + +GETTING ASSISTANCE + The best way to get assistance with RomWBW or any aspect of the RetroBrew Computers projects is via one of the community forums: -- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/) -- [RC2014 Google - Group](https://groups.google.com/forum/#!forum/rc2014-z80) -- [retro-comp Google - Group](https://groups.google.com/forum/#!forum/retro-comp) +- RetroBrew Computers Forum +- RC2014 Google Group +- retro-comp Google Group -Submission of issues and bugs are welcome at the [RomWBW GitHub -Repository](https://github.com/wwarthen/RomWBW). +Submission of issues and bugs are welcome at the RomWBW GitHub +Repository. -Also feel free to email Wayne Warthen at . +Also feel free to email Wayne Warthen at wwarthen@gmail.com. diff --git a/Source/Doc/Basic.h b/Source/Doc/Basic.h index e3d28960..e43876e9 100644 --- a/Source/Doc/Basic.h +++ b/Source/Doc/Basic.h @@ -45,3 +45,19 @@ header-includes: \renewcommand*{\familydefault}{\sfdefault} ``` --- + +```{=gfm} +**$doc_product$ $doc_title$** \ +$doc_ver$ \ +$doc_author$ ([$doc_authmail$](mailto:$doc_authmail$)) \ +$doc_date$ + +``` + +```{=dokuwiki} +**$doc_product$ $doc_title$**\\ +$doc_ver$\\ +$doc_author$ <$doc_authmail$>\\ +$doc_date$\\ + +``` diff --git a/Source/Doc/Build.cmd b/Source/Doc/Build.cmd index 37ab3795..dc15293c 100644 --- a/Source/Doc/Build.cmd +++ b/Source/Doc/Build.cmd @@ -48,9 +48,10 @@ gpp -o %1.tmp -U "$" "$" "{" "}{" "}$" "{" "}" "@@@" "" -M "$" "$" "{" "}{" "}$" ::goto :eof pandoc %1.tmp -f markdown -t pdf -s -o %1.pdf --default-image-extension=pdf --pdf-engine=lualatex || exit /b -pandoc %1.tmp -f markdown -t html -s -o %1.html --default-image-extension=png || exit /b +pandoc %1.tmp -f markdown -t html -s -o %1.html --default-image-extension=png --css pandoc.css --embed-resources || exit /b pandoc %1.tmp -f markdown -t dokuwiki -s -o %1.dw --default-image-extension=png || exit /b -pandoc %1.tmp -f markdown -t gfm -o %1.gfm --default-image-extension=png || exit /b -pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.txt --markdown-headings=setext --default-image-extension=png || exit /b +pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.gfm --default-image-extension=png || exit /b +::pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.txt --markdown-headings=setext --default-image-extension=png || exit /b +pandoc %1.tmp -f markdown -t plain+gutenberg -s -o %1.txt || exit /b goto :eof \ No newline at end of file diff --git a/Source/Doc/ReadMe.md b/Source/Doc/ReadMe.md index aa296138..0d82ee4f 100644 --- a/Source/Doc/ReadMe.md +++ b/Source/Doc/ReadMe.md @@ -1,11 +1,6 @@ $define{doc_title}{ReadMe}$ $include{"Basic.h"}$ -| $doc_product$ $doc_title$ -| $doc_ver$ -| $doc_author$ ([$doc_authmail$](mailto:$doc_authmail$)) -| $doc_date$ - # Overview RomWBW software provides a complete, commercial quality @@ -16,7 +11,7 @@ produced by these developer communities: * [RetroBrew Computers](https://www.retrobrewcomputers.org) * [RC2014](https://rc2014.co.uk), [RC2014-Z80](https://groups.google.com/g/rc2014-z80) -* [retro-comp](https://groups.google.com/g/retro-comp) +* [retro-comp](https://groups.google.com/forum/#!forum/retro-comp) * [Small Computer Central](https://smallcomputercentral.com/) General features include: @@ -27,7 +22,7 @@ General features include: * Video drivers including TMS9918, SY6545, MOS8563, HD6445 * Keyboard (PS/2) drivers via VT8242 or PPI interfaces * Real time clock drivers including DS1302, BQ4845 -* OS Adaptations of CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS +* OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS * Built-in VT-100 terminal emulation support RomWBW is distributed as both source code and pre-built ROM and disk @@ -41,7 +36,7 @@ ROM firmware itself: A dynamic disk drive letter assignment mechanism allows mapping operating system drive letters to any available disk media. -Additionally, mass media devices (IDE Disk, CF Card, SD Card) support +Additionally, mass storage devices (IDE Disk, CF Card, SD Card) support the use of multiple slices (up to 256 per device). Each slice contains a complete CP/M filesystem and can be mapped independently to any drive letter. This overcomes the inherent size limitations in legacy @@ -68,10 +63,10 @@ such that all of the operating systems and applications on a disk will run on any RomWBW-based system. To put it simply, you can take a disk (or CF/SD Card) and move it between systems transparently. -A tool is provided that allows you to access a FAT-12/16/32 filesystem. -The FAT filesystem may be coresident on the same disk media as RomWBW slices -or on stand-alone media. This makes exchanging files with modern OSes -such as Windows, MacOS, and Linux very easy. +A tool is provided that allows you to access a FAT-12/16/32 filesystem. +The FAT filesystem may be coresident on the same disk media as RomWBW +slices or on stand-alone media. This makes exchanging files with modern +OSes such as Windows, MacOS, and Linux very easy. # Acquiring RomWBW @@ -104,8 +99,7 @@ found in the $doc_user$. ## Documentation -This document is part of a set of documentation for $doc_product$ that -also includes: +Documentation for $doc_product$ includes: * $doc_user$ * $doc_sys$ diff --git a/Source/Doc/UserGuide.md b/Source/Doc/UserGuide.md index d798d6ce..bff49ba0 100644 --- a/Source/Doc/UserGuide.md +++ b/Source/Doc/UserGuide.md @@ -3112,9 +3112,7 @@ Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$). # Appendixes -```{=latex} -\newpage -``` +`\newpage`{=latex} ## Appendix A - Device Summary diff --git a/Source/Doc/pandoc.css b/Source/Doc/pandoc.css new file mode 100644 index 00000000..dab2decd --- /dev/null +++ b/Source/Doc/pandoc.css @@ -0,0 +1,327 @@ +/* + * I add this to html files generated with pandoc. + */ + +html { + font-size: 100%; + overflow-y: scroll; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + color: #444; + font-family: sans-serif; + font-size: 12px; + line-height: 1.7; + padding: 1em; + margin: auto; + max-width: 42em; + background: #fefefe; +} + +a { + color: #0645ad; + text-decoration: none; +} + +a:visited { + color: #0b0080; +} + +a:hover { + color: #06e; +} + +a:active { + color: #faa700; +} + +a:focus { + outline: thin dotted; +} + +*::-moz-selection { + background: rgba(255, 255, 0, 0.3); + color: #000; +} + +*::selection { + background: rgba(255, 255, 0, 0.3); + color: #000; +} + +a::-moz-selection { + background: rgba(255, 255, 0, 0.3); + color: #0645ad; +} + +a::selection { + background: rgba(255, 255, 0, 0.3); + color: #0645ad; +} + +p { + margin: 1em 0; +} + +img { + max-width: 100%; +} + +h1, h2, h3, h4, h5, h6 { + color: #111; + line-height: 125%; + margin-top: 2em; + font-weight: normal; +} + +h4, h5, h6 { + font-weight: bold; +} + +h1 { + font-size: 2.5em; +} + +h2 { + font-size: 2em; +} + +h3 { + font-size: 1.5em; +} + +h4 { + font-size: 1.2em; +} + +h5 { + font-size: 1em; +} + +h6 { + font-size: 0.9em; +} + +blockquote { + color: #666666; + margin: 0; + padding-left: 3em; + border-left: 0.5em #EEE solid; +} + +hr { + display: block; + height: 2px; + border: 0; + border-top: 1px solid #aaa; + border-bottom: 1px solid #eee; + margin: 1em 0; + padding: 0; +} + +pre, code, kbd, samp { + color: #000; + font-family: monospace, monospace; + _font-family: 'courier new', monospace; + font-size: 0.98em; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +b, strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +ins { + background: #ff9; + color: #000; + text-decoration: none; +} + +mark { + background: #ff0; + color: #000; + font-style: italic; + font-weight: bold; +} + +sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +ul, ol { + margin: 1em 0; + padding: 0 0 0 2em; +} + +li p:last-child { + margin-bottom: 0; +} + +ul ul, ol ol { + margin: .3em 0; +} + +dl { + margin-bottom: 1em; +} + +dt { + font-weight: bold; + margin-bottom: .8em; +} + +dd { + margin: 0 0 .8em 2em; +} + +dd:last-child { + margin-bottom: 0; +} + +img { + border: 0; + -ms-interpolation-mode: bicubic; + vertical-align: middle; +} + +figure { + display: block; + text-align: center; + margin: 1em 0; +} + +figure img { + border: none; + margin: 0 auto; +} + +figcaption { + font-size: 0.8em; + font-style: italic; + margin: 0 0 .8em; +} + +table { + margin-bottom: 2em; + border-bottom: 1px solid #ddd; + border-right: 1px solid #ddd; + border-spacing: 0; + border-collapse: collapse; +} + +table th { + padding: .2em 1em; + background-color: #eee; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; +} + +table td { + padding: .2em 1em; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; + vertical-align: top; +} + +.author { + font-size: 1.2em; +} + +@media only screen and (min-width: 480px) { + body { + font-size: 14px; + } +} +@media only screen and (min-width: 768px) { + body { + font-size: 16px; + } +} +@media print { + * { + background: transparent !important; + color: black !important; + filter: none !important; + -ms-filter: none !important; + } + + body { + font-size: 12pt; + max-width: 100%; + } + + a, a:visited { + text-decoration: underline; + } + + hr { + height: 1px; + border: 0; + border-bottom: 1px solid black; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { + content: ""; + } + + pre, blockquote { + border: 1px solid #999; + padding-right: 1em; + page-break-inside: avoid; + } + + tr, img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page :left { + margin: 15mm 20mm 15mm 10mm; +} + + @page :right { + margin: 15mm 10mm 15mm 20mm; +} + + p, h2, h3 { + orphans: 3; + widows: 3; + } + + h2, h3 { + page-break-after: avoid; + } +}