├── .gitignore ├── icons ├── 21.icns ├── 25.icns ├── 35.icns ├── 45.icns ├── 55.icns ├── 80.icns ├── 11c.icns ├── 12c.icns ├── 15c.icns ├── 16c.icns ├── 32e.icns ├── 33c.icns ├── 34c.icns ├── 37e.icns ├── 38c.icns └── 38e.icns ├── bitmaps ├── 21 │ ├── 21-0-0.png │ ├── 21-0-1.png │ ├── 21-0-2.png │ ├── 21-0-3.png │ ├── 21-1-0.png │ ├── 21-1-1.png │ ├── 21-1-2.png │ ├── 21-1-3.png │ ├── 21-2-0.png │ ├── 21-2-1.png │ ├── 21-2-2.png │ ├── 21-2-3.png │ ├── 21-3-0.png │ ├── 21-3-1.png │ ├── 21-3-2.png │ ├── 21-3-3.png │ ├── 21-4-0.png │ ├── 21-4-1.png │ ├── 21-4-2.png │ ├── 21-4-3.png │ ├── 21-5-0.png │ ├── 21-5-1.png │ ├── 21-5-2.png │ ├── 21-5-3.png │ ├── 21-5-4.png │ ├── 21-6-0.png │ ├── 21-6-1.png │ ├── 21-6-2.png │ ├── 21-6-3.png │ ├── 21-6-4.png │ ├── switch-off.png │ ├── switch-on.png │ └── 21-background.png ├── 25 │ ├── 25-0-0.png │ ├── 25-0-1.png │ ├── 25-0-2.png │ ├── 25-0-3.png │ ├── 25-1-0.png │ ├── 25-1-1.png │ ├── 25-1-2.png │ ├── 25-1-3.png │ ├── 25-2-0.png │ ├── 25-2-1.png │ ├── 25-2-2.png │ ├── 25-2-3.png │ ├── 25-3-0.png │ ├── 25-3-1.png │ ├── 25-3-2.png │ ├── 25-3-3.png │ ├── 25-4-0.png │ ├── 25-4-1.png │ ├── 25-4-2.png │ ├── 25-4-3.png │ ├── 25-5-0.png │ ├── 25-5-1.png │ ├── 25-5-2.png │ ├── 25-5-3.png │ ├── 25-5-4.png │ ├── 25-6-0.png │ ├── 25-6-1.png │ ├── 25-6-2.png │ ├── 25-6-3.png │ ├── 25-6-4.png │ ├── switch-off.png │ ├── switch-on.png │ └── 25-background.png ├── 11c │ ├── 11c-0-0.png │ ├── 11c-0-1.png │ ├── 11c-0-2.png │ ├── 11c-0-3.png │ ├── 11c-0-4.png │ ├── 11c-0-5.png │ ├── 11c-0-6.png │ ├── 11c-0-7.png │ ├── 11c-0-8.png │ ├── 11c-0-9.png │ ├── 11c-1-0.png │ ├── 11c-1-1.png │ ├── 11c-1-2.png │ ├── 11c-1-3.png │ ├── 11c-1-4.png │ ├── 11c-1-6.png │ ├── 11c-1-7.png │ ├── 11c-1-8.png │ ├── 11c-1-9.png │ ├── 11c-2-0.png │ ├── 11c-2-1.png │ ├── 11c-2-2.png │ ├── 11c-2-3.png │ ├── 11c-2-4.png │ ├── 11c-2-5.png │ ├── 11c-2-6.png │ ├── 11c-2-7.png │ ├── 11c-2-8.png │ ├── 11c-2-9.png │ ├── 11c-3-0.png │ ├── 11c-3-1.png │ ├── 11c-3-2.png │ ├── 11c-3-3.png │ ├── 11c-3-4.png │ ├── 11c-3-5.png │ ├── 11c-3-6.png │ ├── 11c-3-7.png │ ├── 11c-3-8.png │ ├── 11c-3-9.png │ └── 11c-background.png ├── 12c │ ├── 12c-0-0.png │ ├── 12c-0-1.png │ ├── 12c-0-2.png │ ├── 12c-0-3.png │ ├── 12c-0-4.png │ ├── 12c-0-5.png │ ├── 12c-0-6.png │ ├── 12c-0-7.png │ ├── 12c-0-8.png │ ├── 12c-0-9.png │ ├── 12c-1-0.png │ ├── 12c-1-1.png │ ├── 12c-1-2.png │ ├── 12c-1-3.png │ ├── 12c-1-4.png │ ├── 12c-1-6.png │ ├── 12c-1-7.png │ ├── 12c-1-8.png │ ├── 12c-1-9.png │ ├── 12c-2-0.png │ ├── 12c-2-1.png │ ├── 12c-2-2.png │ ├── 12c-2-3.png │ ├── 12c-2-4.png │ ├── 12c-2-5.png │ ├── 12c-2-6.png │ ├── 12c-2-7.png │ ├── 12c-2-8.png │ ├── 12c-2-9.png │ ├── 12c-3-0.png │ ├── 12c-3-1.png │ ├── 12c-3-2.png │ ├── 12c-3-3.png │ ├── 12c-3-4.png │ ├── 12c-3-5.png │ ├── 12c-3-6.png │ ├── 12c-3-7.png │ ├── 12c-3-8.png │ ├── 12c-3-9.png │ └── 12c-background.png ├── 15c │ ├── 15c-0-0.png │ ├── 15c-0-1.png │ ├── 15c-0-2.png │ ├── 15c-0-3.png │ ├── 15c-0-4.png │ ├── 15c-0-5.png │ ├── 15c-0-6.png │ ├── 15c-0-7.png │ ├── 15c-0-8.png │ ├── 15c-0-9.png │ ├── 15c-1-0.png │ ├── 15c-1-1.png │ ├── 15c-1-2.png │ ├── 15c-1-3.png │ ├── 15c-1-4.png │ ├── 15c-1-6.png │ ├── 15c-1-7.png │ ├── 15c-1-8.png │ ├── 15c-1-9.png │ ├── 15c-2-0.png │ ├── 15c-2-1.png │ ├── 15c-2-2.png │ ├── 15c-2-3.png │ ├── 15c-2-4.png │ ├── 15c-2-5.png │ ├── 15c-2-6.png │ ├── 15c-2-7.png │ ├── 15c-2-8.png │ ├── 15c-2-9.png │ ├── 15c-3-0.png │ ├── 15c-3-1.png │ ├── 15c-3-2.png │ ├── 15c-3-3.png │ ├── 15c-3-4.png │ ├── 15c-3-5.png │ ├── 15c-3-6.png │ ├── 15c-3-7.png │ ├── 15c-3-8.png │ ├── 15c-3-9.png │ └── 15c-background.png ├── 16c │ ├── 16c-0-0.png │ ├── 16c-0-1.png │ ├── 16c-0-2.png │ ├── 16c-0-3.png │ ├── 16c-0-4.png │ ├── 16c-0-5.png │ ├── 16c-0-6.png │ ├── 16c-0-7.png │ ├── 16c-0-8.png │ ├── 16c-0-9.png │ ├── 16c-1-0.png │ ├── 16c-1-1.png │ ├── 16c-1-2.png │ ├── 16c-1-3.png │ ├── 16c-1-4.png │ ├── 16c-1-6.png │ ├── 16c-1-7.png │ ├── 16c-1-8.png │ ├── 16c-1-9.png │ ├── 16c-2-0.png │ ├── 16c-2-1.png │ ├── 16c-2-2.png │ ├── 16c-2-3.png │ ├── 16c-2-4.png │ ├── 16c-2-5.png │ ├── 16c-2-6.png │ ├── 16c-2-7.png │ ├── 16c-2-8.png │ ├── 16c-2-9.png │ ├── 16c-3-0.png │ ├── 16c-3-1.png │ ├── 16c-3-2.png │ ├── 16c-3-3.png │ ├── 16c-3-4.png │ ├── 16c-3-5.png │ ├── 16c-3-6.png │ ├── 16c-3-7.png │ ├── 16c-3-8.png │ ├── 16c-3-9.png │ └── 16c-background.png ├── 32e │ ├── 32e-0-0.png │ ├── 32e-0-1.png │ ├── 32e-0-2.png │ ├── 32e-0-3.png │ ├── 32e-1-0.png │ ├── 32e-1-1.png │ ├── 32e-1-2.png │ ├── 32e-1-3.png │ ├── 32e-2-0.png │ ├── 32e-2-1.png │ ├── 32e-2-2.png │ ├── 32e-2-3.png │ ├── 32e-3-0.png │ ├── 32e-3-1.png │ ├── 32e-3-2.png │ ├── 32e-3-3.png │ ├── 32e-4-0.png │ ├── 32e-4-1.png │ ├── 32e-4-2.png │ ├── 32e-4-3.png │ ├── 32e-5-0.png │ ├── 32e-5-1.png │ ├── 32e-5-2.png │ ├── 32e-5-3.png │ ├── 32e-5-4.png │ ├── 32e-6-0.png │ ├── 32e-6-1.png │ ├── 32e-6-2.png │ ├── 32e-6-3.png │ ├── 32e-6-4.png │ └── 32e-background.png ├── 33c │ ├── 33c-0-0.png │ ├── 33c-0-1.png │ ├── 33c-0-2.png │ ├── 33c-0-3.png │ ├── 33c-1-0.png │ ├── 33c-1-1.png │ ├── 33c-1-2.png │ ├── 33c-1-3.png │ ├── 33c-2-0.png │ ├── 33c-2-1.png │ ├── 33c-2-2.png │ ├── 33c-2-3.png │ ├── 33c-3-0.png │ ├── 33c-3-1.png │ ├── 33c-3-2.png │ ├── 33c-3-3.png │ ├── 33c-4-0.png │ ├── 33c-4-1.png │ ├── 33c-4-2.png │ ├── 33c-4-3.png │ ├── 33c-5-0.png │ ├── 33c-5-1.png │ ├── 33c-5-2.png │ ├── 33c-5-3.png │ ├── 33c-5-4.png │ ├── 33c-6-0.png │ ├── 33c-6-1.png │ ├── 33c-6-2.png │ ├── 33c-6-3.png │ ├── 33c-6-4.png │ ├── switch-on.png │ ├── switch-off.png │ └── 33c-background.png ├── 34c │ ├── 34c-0-0.png │ ├── 34c-0-1.png │ ├── 34c-0-2.png │ ├── 34c-0-3.png │ ├── 34c-1-0.png │ ├── 34c-1-1.png │ ├── 34c-1-2.png │ ├── 34c-1-3.png │ ├── 34c-2-0.png │ ├── 34c-2-1.png │ ├── 34c-2-2.png │ ├── 34c-2-3.png │ ├── 34c-3-0.png │ ├── 34c-3-1.png │ ├── 34c-3-2.png │ ├── 34c-3-3.png │ ├── 34c-4-0.png │ ├── 34c-4-1.png │ ├── 34c-4-2.png │ ├── 34c-4-3.png │ ├── 34c-5-0.png │ ├── 34c-5-1.png │ ├── 34c-5-2.png │ ├── 34c-5-3.png │ ├── 34c-5-4.png │ ├── 34c-6-0.png │ ├── 34c-6-1.png │ ├── 34c-6-2.png │ ├── 34c-6-3.png │ ├── 34c-6-4.png │ ├── switch-on.png │ ├── switch-off.png │ └── 34c-background.png ├── 37e │ ├── 37e-0-0.png │ ├── 37e-0-1.png │ ├── 37e-0-2.png │ ├── 37e-0-3.png │ ├── 37e-1-0.png │ ├── 37e-1-1.png │ ├── 37e-1-2.png │ ├── 37e-1-3.png │ ├── 37e-2-0.png │ ├── 37e-2-1.png │ ├── 37e-2-2.png │ ├── 37e-2-3.png │ ├── 37e-3-0.png │ ├── 37e-3-1.png │ ├── 37e-3-2.png │ ├── 37e-3-3.png │ ├── 37e-4-0.png │ ├── 37e-4-1.png │ ├── 37e-4-2.png │ ├── 37e-4-3.png │ ├── 37e-5-0.png │ ├── 37e-5-1.png │ ├── 37e-5-2.png │ ├── 37e-5-3.png │ ├── 37e-5-4.png │ ├── 37e-6-0.png │ ├── 37e-6-1.png │ ├── 37e-6-2.png │ ├── 37e-6-3.png │ ├── 37e-6-4.png │ ├── switch-on.png │ ├── switch-off.png │ └── 37e-background.png ├── classic-f.png ├── classic-g.png ├── 38ce │ ├── 38ce-0-0.png │ ├── 38ce-0-1.png │ ├── 38ce-0-2.png │ ├── 38ce-0-3.png │ ├── 38ce-1-0.png │ ├── 38ce-1-1.png │ ├── 38ce-1-2.png │ ├── 38ce-1-3.png │ ├── 38ce-2-0.png │ ├── 38ce-2-1.png │ ├── 38ce-2-2.png │ ├── 38ce-2-3.png │ ├── 38ce-3-0.png │ ├── 38ce-3-1.png │ ├── 38ce-3-2.png │ ├── 38ce-3-3.png │ ├── 38ce-4-0.png │ ├── 38ce-4-1.png │ ├── 38ce-4-2.png │ ├── 38ce-4-3.png │ ├── 38ce-5-0.png │ ├── 38ce-5-1.png │ ├── 38ce-5-2.png │ ├── 38ce-5-3.png │ ├── 38ce-5-4.png │ ├── 38ce-6-0.png │ ├── 38ce-6-1.png │ ├── 38ce-6-2.png │ ├── 38ce-6-3.png │ ├── 38ce-6-4.png │ ├── switch-off.png │ ├── switch-on.png │ └── 38ce-background.png ├── led-background.png └── classic-55-labels.png ├── other ├── NSAffineTransform_Shearing.h ├── NSAffineTransform_Shearing.m ├── TransparentWindow.h └── TransparentWindow.m ├── nonpareil_Prefix.pch ├── English.lproj ├── InfoPlist.strings └── Credits.rtf ├── plists └── Makefile ├── README.md ├── main.m ├── nonpareil-21-Info.plist ├── nonpareil-25-Info.plist ├── nonpareil-35-Info.plist ├── nonpareil-45-Info.plist ├── nonpareil-55-Info.plist ├── nonpareil-80-Info.plist ├── nonpareil-11c-Info.plist ├── nonpareil-12c-Info.plist ├── nonpareil-15c-Info.plist ├── nonpareil-16c-Info.plist ├── nonpareil-32e-Info.plist ├── nonpareil-33c-Info.plist ├── nonpareil-34c-Info.plist ├── nonpareil-37e-Info.plist ├── nonpareil-38c-Info.plist ├── nonpareil-38e-Info.plist ├── classic ├── ClassicController.h ├── ClassicSimulator.h ├── proc_classic.h └── ClassicController.m ├── voyager ├── VoyagerController.h ├── voyager_lcd.h ├── VoyagerDigit.h ├── VoyagerDisplayView.h ├── VoyagerSimulator.h ├── VoyagerController.m ├── voyager_lcd.c ├── proc_nut.h └── VoyagerDisplayView.m ├── woodstock ├── WoodstockController.h ├── SpiceController.h ├── WoodstockSimulator.h ├── SpiceSimulator.h ├── WoodstockController.m ├── SpiceController.m └── proc_woodstock.h ├── led ├── LEDDisplayView.h ├── LEDDigit.h ├── LEDDisplayView.m └── LEDDigit.m └── common ├── utils.h ├── digit_ops.h ├── display.h ├── utils.c └── digit_ops.c /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.xcodeproj/* 3 | !*.xcodeproj/project.pbxproj 4 | -------------------------------------------------------------------------------- /icons/21.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/21.icns -------------------------------------------------------------------------------- /icons/25.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/25.icns -------------------------------------------------------------------------------- /icons/35.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/35.icns -------------------------------------------------------------------------------- /icons/45.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/45.icns -------------------------------------------------------------------------------- /icons/55.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/55.icns -------------------------------------------------------------------------------- /icons/80.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/80.icns -------------------------------------------------------------------------------- /icons/11c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/11c.icns -------------------------------------------------------------------------------- /icons/12c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/12c.icns -------------------------------------------------------------------------------- /icons/15c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/15c.icns -------------------------------------------------------------------------------- /icons/16c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/16c.icns -------------------------------------------------------------------------------- /icons/32e.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/32e.icns -------------------------------------------------------------------------------- /icons/33c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/33c.icns -------------------------------------------------------------------------------- /icons/34c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/34c.icns -------------------------------------------------------------------------------- /icons/37e.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/37e.icns -------------------------------------------------------------------------------- /icons/38c.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/38c.icns -------------------------------------------------------------------------------- /icons/38e.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/icons/38e.icns -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-0.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-1.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-2.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-3.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-4.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-5.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-6.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-7.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-8.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-0-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-0-9.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-0.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-1.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-2.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-3.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-4.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-6.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-7.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-8.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-1-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-1-9.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-0.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-1.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-2.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-3.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-4.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-5.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-6.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-7.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-8.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-2-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-2-9.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-0.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-1.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-2.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-3.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-4.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-5.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-6.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-7.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-8.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-3-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-3-9.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-0.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-1.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-2.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-3.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-4.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-5.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-6.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-7.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-8.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-0-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-0-9.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-0.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-1.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-2.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-3.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-4.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-6.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-7.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-8.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-1-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-1-9.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-0.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-1.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-2.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-3.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-4.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-5.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-6.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-7.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-8.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-2-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-2-9.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-0.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-1.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-2.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-3.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-4.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-5.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-6.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-7.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-8.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-3-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-3-9.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-0.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-1.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-2.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-3.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-4.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-5.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-6.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-7.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-8.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-0-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-0-9.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-0.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-1.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-2.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-3.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-4.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-6.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-7.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-8.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-1-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-1-9.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-0.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-1.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-2.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-3.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-4.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-5.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-6.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-7.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-8.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-2-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-2-9.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-0.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-1.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-2.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-3.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-4.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-5.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-6.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-7.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-8.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-3-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-3-9.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-0.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-1.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-2.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-3.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-4.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-5.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-6.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-7.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-8.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-0-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-0-9.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-0.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-1.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-2.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-3.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-4.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-6.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-7.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-8.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-1-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-1-9.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-0.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-1.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-2.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-3.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-4.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-5.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-6.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-7.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-8.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-2-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-2-9.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-0.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-1.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-2.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-3.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-4.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-5.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-6.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-7.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-8.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-3-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-3-9.png -------------------------------------------------------------------------------- /bitmaps/21/21-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-0-0.png -------------------------------------------------------------------------------- /bitmaps/21/21-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-0-1.png -------------------------------------------------------------------------------- /bitmaps/21/21-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-0-2.png -------------------------------------------------------------------------------- /bitmaps/21/21-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-0-3.png -------------------------------------------------------------------------------- /bitmaps/21/21-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-1-0.png -------------------------------------------------------------------------------- /bitmaps/21/21-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-1-1.png -------------------------------------------------------------------------------- /bitmaps/21/21-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-1-2.png -------------------------------------------------------------------------------- /bitmaps/21/21-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-1-3.png -------------------------------------------------------------------------------- /bitmaps/21/21-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-2-0.png -------------------------------------------------------------------------------- /bitmaps/21/21-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-2-1.png -------------------------------------------------------------------------------- /bitmaps/21/21-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-2-2.png -------------------------------------------------------------------------------- /bitmaps/21/21-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-2-3.png -------------------------------------------------------------------------------- /bitmaps/21/21-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-3-0.png -------------------------------------------------------------------------------- /bitmaps/21/21-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-3-1.png -------------------------------------------------------------------------------- /bitmaps/21/21-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-3-2.png -------------------------------------------------------------------------------- /bitmaps/21/21-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-3-3.png -------------------------------------------------------------------------------- /bitmaps/21/21-4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-4-0.png -------------------------------------------------------------------------------- /bitmaps/21/21-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-4-1.png -------------------------------------------------------------------------------- /bitmaps/21/21-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-4-2.png -------------------------------------------------------------------------------- /bitmaps/21/21-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-4-3.png -------------------------------------------------------------------------------- /bitmaps/21/21-5-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-5-0.png -------------------------------------------------------------------------------- /bitmaps/21/21-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-5-1.png -------------------------------------------------------------------------------- /bitmaps/21/21-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-5-2.png -------------------------------------------------------------------------------- /bitmaps/21/21-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-5-3.png -------------------------------------------------------------------------------- /bitmaps/21/21-5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-5-4.png -------------------------------------------------------------------------------- /bitmaps/21/21-6-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-6-0.png -------------------------------------------------------------------------------- /bitmaps/21/21-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-6-1.png -------------------------------------------------------------------------------- /bitmaps/21/21-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-6-2.png -------------------------------------------------------------------------------- /bitmaps/21/21-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-6-3.png -------------------------------------------------------------------------------- /bitmaps/21/21-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-6-4.png -------------------------------------------------------------------------------- /bitmaps/25/25-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-0-0.png -------------------------------------------------------------------------------- /bitmaps/25/25-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-0-1.png -------------------------------------------------------------------------------- /bitmaps/25/25-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-0-2.png -------------------------------------------------------------------------------- /bitmaps/25/25-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-0-3.png -------------------------------------------------------------------------------- /bitmaps/25/25-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-1-0.png -------------------------------------------------------------------------------- /bitmaps/25/25-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-1-1.png -------------------------------------------------------------------------------- /bitmaps/25/25-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-1-2.png -------------------------------------------------------------------------------- /bitmaps/25/25-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-1-3.png -------------------------------------------------------------------------------- /bitmaps/25/25-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-2-0.png -------------------------------------------------------------------------------- /bitmaps/25/25-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-2-1.png -------------------------------------------------------------------------------- /bitmaps/25/25-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-2-2.png -------------------------------------------------------------------------------- /bitmaps/25/25-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-2-3.png -------------------------------------------------------------------------------- /bitmaps/25/25-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-3-0.png -------------------------------------------------------------------------------- /bitmaps/25/25-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-3-1.png -------------------------------------------------------------------------------- /bitmaps/25/25-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-3-2.png -------------------------------------------------------------------------------- /bitmaps/25/25-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-3-3.png -------------------------------------------------------------------------------- /bitmaps/25/25-4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-4-0.png -------------------------------------------------------------------------------- /bitmaps/25/25-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-4-1.png -------------------------------------------------------------------------------- /bitmaps/25/25-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-4-2.png -------------------------------------------------------------------------------- /bitmaps/25/25-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-4-3.png -------------------------------------------------------------------------------- /bitmaps/25/25-5-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-5-0.png -------------------------------------------------------------------------------- /bitmaps/25/25-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-5-1.png -------------------------------------------------------------------------------- /bitmaps/25/25-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-5-2.png -------------------------------------------------------------------------------- /bitmaps/25/25-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-5-3.png -------------------------------------------------------------------------------- /bitmaps/25/25-5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-5-4.png -------------------------------------------------------------------------------- /bitmaps/25/25-6-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-6-0.png -------------------------------------------------------------------------------- /bitmaps/25/25-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-6-1.png -------------------------------------------------------------------------------- /bitmaps/25/25-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-6-2.png -------------------------------------------------------------------------------- /bitmaps/25/25-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-6-3.png -------------------------------------------------------------------------------- /bitmaps/25/25-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-6-4.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-0-0.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-0-1.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-0-2.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-0-3.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-1-0.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-1-1.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-1-2.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-1-3.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-2-0.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-2-1.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-2-2.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-2-3.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-3-0.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-3-1.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-3-2.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-3-3.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-4-0.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-4-1.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-4-2.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-4-3.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-5-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-5-0.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-5-1.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-5-2.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-5-3.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-5-4.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-6-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-6-0.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-6-1.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-6-2.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-6-3.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-6-4.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-0-0.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-0-1.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-0-2.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-0-3.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-1-0.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-1-1.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-1-2.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-1-3.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-2-0.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-2-1.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-2-2.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-2-3.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-3-0.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-3-1.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-3-2.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-3-3.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-4-0.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-4-1.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-4-2.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-4-3.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-5-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-5-0.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-5-1.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-5-2.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-5-3.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-5-4.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-6-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-6-0.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-6-1.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-6-2.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-6-3.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-6-4.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-0-0.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-0-1.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-0-2.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-0-3.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-1-0.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-1-1.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-1-2.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-1-3.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-2-0.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-2-1.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-2-2.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-2-3.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-3-0.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-3-1.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-3-2.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-3-3.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-4-0.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-4-1.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-4-2.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-4-3.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-5-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-5-0.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-5-1.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-5-2.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-5-3.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-5-4.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-6-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-6-0.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-6-1.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-6-2.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-6-3.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-6-4.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-0-0.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-0-1.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-0-2.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-0-3.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-1-0.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-1-1.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-1-2.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-1-3.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-2-0.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-2-1.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-2-2.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-2-3.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-3-0.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-3-1.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-3-2.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-3-3.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-4-0.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-4-1.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-4-2.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-4-3.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-5-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-5-0.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-5-1.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-5-2.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-5-3.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-5-4.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-6-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-6-0.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-6-1.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-6-2.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-6-3.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-6-4.png -------------------------------------------------------------------------------- /bitmaps/classic-f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/classic-f.png -------------------------------------------------------------------------------- /bitmaps/classic-g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/classic-g.png -------------------------------------------------------------------------------- /bitmaps/21/switch-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/switch-off.png -------------------------------------------------------------------------------- /bitmaps/21/switch-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/switch-on.png -------------------------------------------------------------------------------- /bitmaps/25/switch-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/switch-off.png -------------------------------------------------------------------------------- /bitmaps/25/switch-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/switch-on.png -------------------------------------------------------------------------------- /bitmaps/33c/switch-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/switch-on.png -------------------------------------------------------------------------------- /bitmaps/34c/switch-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/switch-on.png -------------------------------------------------------------------------------- /bitmaps/37e/switch-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/switch-on.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-0-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-0-0.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-0-1.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-0-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-0-2.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-0-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-0-3.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-1-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-1-0.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-1-1.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-1-2.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-1-3.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-2-0.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-2-1.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-2-2.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-2-3.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-3-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-3-0.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-3-1.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-3-2.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-3-3.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-4-0.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-4-1.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-4-2.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-4-3.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-5-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-5-0.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-5-1.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-5-2.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-5-3.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-5-4.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-6-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-6-0.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-6-1.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-6-2.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-6-3.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-6-4.png -------------------------------------------------------------------------------- /bitmaps/21/21-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/21/21-background.png -------------------------------------------------------------------------------- /bitmaps/25/25-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/25/25-background.png -------------------------------------------------------------------------------- /bitmaps/33c/switch-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/switch-off.png -------------------------------------------------------------------------------- /bitmaps/34c/switch-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/switch-off.png -------------------------------------------------------------------------------- /bitmaps/37e/switch-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/switch-off.png -------------------------------------------------------------------------------- /bitmaps/38ce/switch-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/switch-off.png -------------------------------------------------------------------------------- /bitmaps/38ce/switch-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/switch-on.png -------------------------------------------------------------------------------- /bitmaps/led-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/led-background.png -------------------------------------------------------------------------------- /bitmaps/11c/11c-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/11c/11c-background.png -------------------------------------------------------------------------------- /bitmaps/12c/12c-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/12c/12c-background.png -------------------------------------------------------------------------------- /bitmaps/15c/15c-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/15c/15c-background.png -------------------------------------------------------------------------------- /bitmaps/16c/16c-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/16c/16c-background.png -------------------------------------------------------------------------------- /bitmaps/32e/32e-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/32e/32e-background.png -------------------------------------------------------------------------------- /bitmaps/33c/33c-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/33c/33c-background.png -------------------------------------------------------------------------------- /bitmaps/34c/34c-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/34c/34c-background.png -------------------------------------------------------------------------------- /bitmaps/37e/37e-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/37e/37e-background.png -------------------------------------------------------------------------------- /bitmaps/classic-55-labels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/classic-55-labels.png -------------------------------------------------------------------------------- /bitmaps/38ce/38ce-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/bitmaps/38ce/38ce-background.png -------------------------------------------------------------------------------- /other/NSAffineTransform_Shearing.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/other/NSAffineTransform_Shearing.h -------------------------------------------------------------------------------- /other/NSAffineTransform_Shearing.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbamac/nonpareil/HEAD/other/NSAffineTransform_Shearing.m -------------------------------------------------------------------------------- /nonpareil_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'nonpareil' target in the 'nonpareil' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | /*CFBundleName = "nonpareil";*/ 4 | NSHumanReadableCopyright = "Copyright 2005-2012 Maciej Bartosiak\nCopyright 2004-2006 Eric Smith"; 5 | -------------------------------------------------------------------------------- /plists/Makefile: -------------------------------------------------------------------------------- 1 | VERSION=$(shell cat ../Version) 2 | 3 | input = $(wildcard *.plist.in) 4 | output = $(addprefix ../, $(input:%.plist.in=%.plist)) 5 | 6 | all: $(output) 7 | 8 | ../%.plist: %.plist.in ../Version 9 | m4 -DNONPAREIL_VERSION=$(VERSION) $< > $@ 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # nonpareil for os x 2 | **nonpareil for OS X** is set of applications that simulate some of vintage HP calculators. Version provided 3 | for OS X is based on [nonpareil 0.77 for Linux](http://http://nonpareil.brouhaha.com/) - a micro-assembler 4 | and simulator package written originally for Linux by Eric Smith. 5 | 6 | *nonpareil* is made available under the terms of the Free Software Foundation's 7 | [General Public License, Version 2](http://www.gnu.org/licenses/gpl.html). 8 | -------------------------------------------------------------------------------- /English.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1250\cocoartf1138\cocoasubrtf230 2 | {\fonttbl\f0\fswiss\fcharset0 Helvetica;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \vieww9000\viewh8400\viewkind0 5 | \pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qc 6 | 7 | \f0\b\fs28 \cf0 nonpareil for OS X 8 | \b0 \ 9 | 10 | \fs24 Copyright 2005-2012 Maciej Bartosiak\ 11 | \ 12 | based on Nonpareil 0.77 for Linux\ 13 | Copyright 2004-2006 Eric Smith\ 14 | \pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802 15 | \cf0 \ 16 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation.\ 17 | \ 18 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\ 19 | \ 20 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.} -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // main.m 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 05-09-09. 27 | // Copyright 2005-2012 Maciej Bartosiak. All rights reserved. 28 | // 29 | 30 | #import 31 | 32 | int main(int argc, char *argv[]) 33 | { 34 | return NSApplicationMain(argc, (const char **) argv); 35 | } 36 | -------------------------------------------------------------------------------- /nonpareil-21-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 21.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 21 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-25-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 25.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 25 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-35-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 35.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 35 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-45-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 45.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 45 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-55-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 55.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 55 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-80-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 80.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 80 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-11c-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11c.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 11c 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-12c-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 12c.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 12c 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-15c-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 15c.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 15c 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-16c-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 16c.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 16c 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-32e-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 32e.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 32e 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-33c-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 33c.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 33c 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-34c-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 34c.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 34c 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-37e-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 37e.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 37e 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-38c-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 38c.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 38c 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /nonpareil-38e-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 38e.icns 11 | CFBundleIdentifier 12 | org.bartosiak.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1001 25 | LSApplicationCategoryType 26 | public.app-category.utilities 27 | LSMinimumSystemVersion 28 | ${MACOSX_DEPLOYMENT_TARGET} 29 | NSHumanReadableCopyright 30 | Copyright © 2005-2012 Maciej Bartosiak. All rights reserved. 31 | NSMainNibFile 32 | 38e 33 | NSPrincipalClass 34 | NSApplication 35 | 36 | 37 | -------------------------------------------------------------------------------- /classic/ClassicController.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // ClassicController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-08. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import 31 | #import "LEDDisplayView.h" 32 | #import "ClassicSimulator.h" 33 | 34 | @interface ClassicController : NSObject 35 | { 36 | IBOutlet LEDDisplayView *display; 37 | 38 | ClassicSimulator *simulator; 39 | 40 | NSTimer *timer; 41 | NSMutableArray *keyQueue; 42 | } 43 | - (IBAction)buttonPressed:(id)sender; 44 | - (void)run:(NSTimer *)aTimer; 45 | - (void)quit; 46 | @end 47 | -------------------------------------------------------------------------------- /voyager/VoyagerController.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // NonpareilController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-09-09. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import 31 | #import "VoyagerDisplayView.h" 32 | #import "VoyagerSimulator.h" 33 | 34 | @interface VoyagerController : NSObject 35 | { 36 | IBOutlet VoyagerDisplayView *display; 37 | 38 | VoyagerSimulator *simulator; 39 | 40 | NSTimer *timer; 41 | NSMutableArray *keyQueue; 42 | } 43 | - (IBAction)buttonPressed:(id)sender; 44 | - (void)run:(NSTimer *)aTimer; 45 | - (void)quit; 46 | @end 47 | -------------------------------------------------------------------------------- /woodstock/WoodstockController.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // WoodstockController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-12-26. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import 31 | #import "LEDDisplayView.h" 32 | #import "WoodstockSimulator.h" 33 | 34 | @interface WoodstockController : NSObject 35 | { 36 | IBOutlet LEDDisplayView *display; 37 | 38 | WoodstockSimulator *simulator; 39 | 40 | NSTimer *timer; 41 | NSMutableArray *keyQueue; 42 | } 43 | 44 | @property (strong) IBOutlet NSButton *modeSwitch; 45 | 46 | - (IBAction)buttonPressed:(id)sender; 47 | - (IBAction)modeSwitch:(id)sender; 48 | - (void)run:(NSTimer *)aTimer; 49 | - (void)quit; 50 | @end 51 | -------------------------------------------------------------------------------- /woodstock/SpiceController.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // SpiceController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-26. 27 | // Copyright 2005-2012 Maciej Bartosiak. 28 | // 29 | 30 | #import 31 | #import "LEDDisplayView.h" 32 | #import "SpiceSimulator.h" 33 | 34 | @interface SpiceController : NSObject 35 | { 36 | IBOutlet LEDDisplayView *display; 37 | 38 | SpiceSimulator *simulator; 39 | 40 | NSTimer *timer; 41 | NSMutableArray *keyQueue; 42 | } 43 | #if (!defined (NONPAREIL_32E)) 44 | @property (strong) IBOutlet NSButton *modeSwitch; 45 | #endif 46 | 47 | - (IBAction)buttonPressed:(id)sender; 48 | - (IBAction)modeSwitch:(id)sender; 49 | - (void)run:(NSTimer *)aTimer; 50 | - (void)quit; 51 | @end 52 | -------------------------------------------------------------------------------- /led/LEDDisplayView.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // LEDDisplayView.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-26. 27 | // Copyright 2005-2012 Maciej Bartosiak. 28 | // 29 | 30 | #import 31 | #import "LEDDigit.h" 32 | #import "display.h" 33 | 34 | @interface LEDDisplayView : NSView 35 | { 36 | segment_bitmap_t *ds; 37 | int dc; 38 | 39 | NSArray *digits; 40 | } 41 | 42 | - (void)setupDisplayWith: (segment_bitmap_t *)disps 43 | count: (int) count 44 | //yOffset: (float) y 45 | digitHeight: (float) digitHeight 46 | digitWidth: (float) digitWidth 47 | digitOffset: (float) digitOffset 48 | digitShare: (float) digitShare 49 | digitStroke: (float) digitStroke 50 | dotOffset: (float) dotOffset; 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /voyager/voyager_lcd.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // any changes since 0.77 copyright 2005-2012 Maciej Bartosiak 24 | // 25 | 26 | #define VOYAGER_DISPLAY_DIGITS 11 27 | #define VOYAGER_DISPLAY_BLINK_DIVISOR 10//45 //150 28 | 29 | // The Voyager display doesn't have a peripheral address like the 30 | // Coconut display, but we have to pick a chip number somehow, so we'll 31 | // use the same one. 32 | //#define PFADDR_LCD_DISPLAY 0xfd 33 | 34 | struct nut_reg_t; 35 | 36 | typedef struct 37 | { 38 | bool enable; 39 | //int count; 40 | 41 | bool blink; 42 | bool blink_state; 43 | int blink_count; 44 | } voyager_display_reg_t; 45 | 46 | void voyager_display_reset (struct nut_reg_t *nut_reg); 47 | void voyager_display_sleep(struct nut_reg_t *nut_reg); 48 | void voyager_display_init (struct nut_reg_t *nut_reg); 49 | -------------------------------------------------------------------------------- /common/utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // any changes since 0.77 copyright 2005-2012 Maciej Bartosiak 24 | // 25 | 26 | #ifndef utils_h 27 | #define utils_h 28 | 29 | #define WSIZE 14 30 | #define EXPSIZE 3 // two exponent and one exponent sign digit 31 | 32 | typedef digit_t reg_t [WSIZE]; 33 | typedef uint32_t addr_t; 34 | typedef uint16_t rom_word_t; 35 | 36 | void usage (FILE *f); 37 | void fatal (int ret, char *format, ...); 38 | void *alloc (size_t size); 39 | void warning (char *format, ...); 40 | void trim_trailing_whitespace (char *s); 41 | size_t fread_bytes (FILE *stream, 42 | void *ptr, 43 | size_t byte_count, 44 | bool *eof, 45 | bool *error); 46 | 47 | char* reg2str (char *str, reg_t reg); 48 | void str2reg(reg_t reg, const char *str); 49 | void *alloc(size_t size); 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /led/LEDDigit.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // LEDDigit.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-26. 27 | // Copyright 2005 Maciej Bartosiak. All rights reserved. 28 | // 29 | 30 | #import 31 | #import "NSAffineTransform_Shearing.h" 32 | #import "display.h" 33 | 34 | @interface LEDDigit : NSObject 35 | { 36 | NSBezierPath *a; 37 | NSBezierPath *b; 38 | NSBezierPath *c; 39 | NSBezierPath *d; 40 | NSBezierPath *e; 41 | NSBezierPath *f; 42 | NSBezierPath *g; 43 | NSBezierPath *h; 44 | NSBezierPath *i; 45 | } 46 | 47 | - (id)initWithDigitHeight: (float) digitH 48 | width: (float) digitW 49 | share: (float) share 50 | stroke: (float) stroke 51 | dotOffset: (float) dotOff 52 | x: (float) x 53 | y: (float) y; 54 | - (void) drawDigit: (segment_bitmap_t)dig; 55 | @end 56 | -------------------------------------------------------------------------------- /voyager/VoyagerDigit.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // VoyagerDigit.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-09-26. 27 | // Copyright 2005-2012 Maciej Bartosiak. All rights reserved. 28 | // 29 | 30 | #import 31 | #import "NSAffineTransform_Shearing.h" 32 | #import "display.h" 33 | 34 | @interface VoyagerDigit : NSObject 35 | { 36 | NSBezierPath *a; 37 | NSBezierPath *b; 38 | NSBezierPath *c; 39 | NSBezierPath *d; 40 | NSBezierPath *e; 41 | NSBezierPath *f; 42 | NSBezierPath *g; 43 | NSBezierPath *h; 44 | NSBezierPath *i; 45 | } 46 | 47 | - (id)initWithDigitHeight: (float) digitH 48 | width: (float) digitW 49 | share: (float) share 50 | stroke: (float) stroke 51 | dotOffset: (float) dotOff 52 | x: (float) x 53 | y: (float) y; 54 | - (void) drawDigit: (segment_bitmap_t)dig; 55 | @end 56 | -------------------------------------------------------------------------------- /voyager/VoyagerDisplayView.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // VoyagerDisplayView.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-09-09. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import 31 | #import "VoyagerDigit.h" 32 | #import "display.h" 33 | 34 | @interface VoyagerDisplayView : NSView 35 | { 36 | segment_bitmap_t *ds; 37 | int dc; 38 | 39 | NSMutableDictionary *attrs; 40 | 41 | NSArray *digits; 42 | 43 | } 44 | 45 | //- (void)setupDisplayWith:(segment_bitmap_t *)ds count: (int)count; 46 | - (void)setupDisplayWith: (segment_bitmap_t *)disps 47 | count: (int) count 48 | yOffset: (float) y 49 | digitHeight: (float) digitHeight 50 | digitWidth: (float) digitWidth 51 | digitOffset: (float) digitOffset 52 | digitShare: (float) digitShare 53 | digitStroke: (float) digitStroke 54 | dotOffset: (float) dotOffset; 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /common/digit_ops.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id: digit_ops.h 692 2005-05-27 04:53:57Z eric $ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | 23 | typedef uint8_t digit_t; 24 | 25 | void reg_zero (digit_t *dest, int first, int last); 26 | 27 | void reg_copy (digit_t *dest, const digit_t *src, int first, int last); 28 | 29 | void reg_exch (digit_t *dest, digit_t *src, int first, int last); 30 | 31 | void reg_add (digit_t *dest, const digit_t *src1, const digit_t *src2, 32 | int first, int last, 33 | bool *carry, uint8_t base); 34 | 35 | void reg_sub (digit_t *dest, const digit_t *src1, const digit_t *src2, 36 | int first, int last, 37 | bool *carry, uint8_t base); 38 | 39 | // sets carry if equal 40 | void reg_test_equal (const digit_t *src1, const digit_t *src2, 41 | int first, int last, 42 | bool *carry); 43 | 44 | // sets carry if nonequal 45 | void reg_test_nonequal (const digit_t *src1, const digit_t *src2, 46 | int first, int last, 47 | bool *carry); 48 | 49 | void reg_shift_right (digit_t *reg, int first, int last); 50 | 51 | void reg_shift_left (digit_t *reg, int first, int last); 52 | 53 | 54 | // BCD to native host binary and vice versa 55 | uint64_t bcd_reg_to_binary (digit_t *reg, int digits); 56 | 57 | void binary_to_bcd_reg (uint64_t val, digit_t *reg, int digits); 58 | -------------------------------------------------------------------------------- /woodstock/WoodstockSimulator.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // WoodstockSimulator.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-12-26. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import 31 | #import "display.h" 32 | #import "LEDDisplayView.h" 33 | 34 | #ifdef NONPAREIL_21 35 | 36 | #define NNPR_OBJ @"21" 37 | #define NNPR_STATE @"state.nonpareil-21" 38 | #define NNPR_RAM 0 39 | #define NNPR_CLOCK 185000 40 | #define NNPR_WSIZE 56.0 41 | 42 | #elif NONPAREIL_25 43 | 44 | #define NNPR_OBJ @"25" 45 | #define NNPR_STATE @"state.nonpareil-25" 46 | #define NNPR_RAM 16 47 | #define NNPR_CLOCK 185000 48 | #define NNPR_WSIZE 56.0 49 | 50 | #else 51 | 52 | #error No type defined 53 | 54 | #endif 55 | 56 | #import "display.h" 57 | #import "digit_ops.h" 58 | #import "utils.h" 59 | #import "proc_woodstock.h" 60 | 61 | @interface WoodstockSimulator : NSObject 62 | { 63 | NSTimeInterval lastRun; 64 | LEDDisplayView *display; 65 | 66 | cpu_t *cpu; 67 | 68 | segment_bitmap_t display_segments [MAX_DIGIT_POSITION]; 69 | } 70 | - (id)init; 71 | - (void)pressKey: (int)key; 72 | - (void)readKeysFrom: (NSMutableArray *) keyQueue; 73 | - (void)executeCycle; 74 | - (BOOL)displayScan; 75 | - (BOOL)getFlag: (int)num; 76 | - (void)setFlag: (int)num withBool: (BOOL)state; 77 | - (int)displayDigits; 78 | - (segment_bitmap_t *)displaySegments; 79 | - (void)saveState; 80 | - (void)readState; 81 | 82 | @property (nonatomic, strong) LEDDisplayView *display; 83 | 84 | @end 85 | -------------------------------------------------------------------------------- /voyager/VoyagerSimulator.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // VoyagerSimulator.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-09-09. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import 31 | #import "VoyagerDisplayView.h" 32 | #import "display.h" 33 | 34 | #ifdef NONPAREIL_11C 35 | 36 | #define NNPR_OBJ @"11c" 37 | #define NNPR_STATE @"state.nonpareil-11c" 38 | #define NNPR_RAM 40 39 | #define NNPR_CLOCK 215000.0 40 | #define NNPR_WSIZE 56.0 41 | 42 | #elif NONPAREIL_12C 43 | 44 | #define NNPR_OBJ @"12c" 45 | #define NNPR_STATE @"state.nonpareil-12c" 46 | #define NNPR_RAM 40 47 | #define NNPR_CLOCK 215000.0 48 | #define NNPR_WSIZE 56.0 49 | 50 | #elif NONPAREIL_15C 51 | 52 | #define NNPR_OBJ @"15c" 53 | #define NNPR_STATE @"state.nonpareil-15c" 54 | #define NNPR_RAM 80 55 | #define NNPR_CLOCK 215000.0 56 | #define NNPR_WSIZE 56.0 57 | 58 | #elif NONPAREIL_16C 59 | 60 | #define NNPR_OBJ @"16c" 61 | #define NNPR_STATE @"state.nonpareil-16c" 62 | #define NNPR_RAM 40 63 | #define NNPR_CLOCK 215000.0 64 | #define NNPR_WSIZE 56.0 65 | 66 | #else 67 | 68 | #error No type defined 69 | 70 | #endif 71 | 72 | #import "display.h" 73 | #import "digit_ops.h" 74 | #import "utils.h" 75 | #import "voyager_lcd.h" 76 | #import "proc_nut.h" 77 | 78 | @interface VoyagerSimulator : NSObject 79 | { 80 | NSTimeInterval lastRun; 81 | VoyagerDisplayView *display; 82 | 83 | cpu_t *cpu; 84 | 85 | segment_bitmap_t display_segments [MAX_DIGIT_POSITION]; 86 | } 87 | - (id)init; 88 | - (void)pressKey: (int)key; 89 | - (void)readKeysFrom: (NSMutableArray *) keyQueue; 90 | - (void)executeCycle; 91 | - (BOOL)displayScan; 92 | - (int)displayDigits; 93 | - (segment_bitmap_t *)displaySegments; 94 | - (void)saveState; 95 | - (void)readState; 96 | 97 | @property (nonatomic, strong) VoyagerDisplayView *display; 98 | 99 | @end 100 | -------------------------------------------------------------------------------- /other/TransparentWindow.h: -------------------------------------------------------------------------------- 1 | // 2 | // TransparentWindow.h 3 | // nonpareil 4 | // 5 | // Created by Maciej Bartosiak on 05-09-09. 6 | // Based on source code from RoundTransparentWindow.app from Apple. 7 | // 8 | /* 9 | Copyright: © Copyright 2001 Apple Computer, Inc. All rights reserved. 10 | 11 | Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 12 | ("Apple") in consideration of your agreement to the following terms, and your 13 | use, installation, modification or redistribution of this Apple software 14 | constitutes acceptance of these terms. If you do not agree with these terms, 15 | please do not use, install, modify or redistribute this Apple software. 16 | 17 | In consideration of your agreement to abide by the following terms, and subject 18 | to these terms, Apple grants you a personal, non-exclusive license, under Apple’s 19 | copyrights in this original Apple software (the "Apple Software"), to use, 20 | reproduce, modify and redistribute the Apple Software, with or without 21 | modifications, in source and/or binary forms; provided that if you redistribute 22 | the Apple Software in its entirety and without modifications, you must retain 23 | this notice and the following text and disclaimers in all such redistributions of 24 | the Apple Software. Neither the name, trademarks, service marks or logos of 25 | Apple Computer, Inc. may be used to endorse or promote products derived from the 26 | Apple Software without specific prior written permission from Apple. Except as 27 | expressly stated in this notice, no other rights or licenses, express or implied, 28 | are granted by Apple herein, including but not limited to any patent rights that 29 | may be infringed by your derivative works or by other works in which the Apple 30 | Software may be incorporated. 31 | 32 | The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 33 | WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 34 | WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 35 | PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 36 | COMBINATION WITH YOUR PRODUCTS. 37 | 38 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 39 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 40 | GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 41 | ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 42 | OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 43 | (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 44 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 45 | 46 | */ 47 | 48 | #import 49 | 50 | @interface TransparentWindow : NSWindow 51 | { 52 | NSPoint initialLocation; 53 | } 54 | @end 55 | -------------------------------------------------------------------------------- /classic/ClassicSimulator.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // ClassicSimulator.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-08. 27 | // Copyright 2005-2012 Maciej Bartosiak. 28 | // 29 | 30 | #import 31 | #import "LEDDisplayView.h" 32 | #import "display.h" 33 | 34 | #ifdef NONPAREIL_35 35 | 36 | #define NNPR_OBJ @"35" 37 | #define NNPR_STATE @"state.nonpareil-35" 38 | #define NNPR_RAM 0 39 | #define NNPR_CLOCK 196000.0 40 | #define NNPR_WSIZE 56.0 41 | 42 | #elif NONPAREIL_45 43 | 44 | #define NNPR_OBJ @"45" 45 | #define NNPR_STATE @"state.nonpareil-45" 46 | #define NNPR_RAM 10 47 | #define NNPR_CLOCK 196000.0 48 | #define NNPR_WSIZE 56.0 49 | 50 | #elif NONPAREIL_55 51 | 52 | #define NNPR_OBJ @"55" 53 | #define NNPR_STATE @"state.nonpareil-55" 54 | #define NNPR_RAM 60 55 | #define NNPR_CLOCK 196000.0 56 | #define NNPR_WSIZE 56.0 57 | 58 | #elif NONPAREIL_80 59 | 60 | #define NNPR_OBJ @"80" 61 | #define NNPR_STATE @"state.nonpareil-80" 62 | #define NNPR_RAM 0 63 | #define NNPR_CLOCK 196000.0 64 | #define NNPR_WSIZE 56.0 65 | 66 | #else 67 | 68 | #error No type defined 69 | 70 | #endif 71 | 72 | #import "display.h" 73 | #import "digit_ops.h" 74 | #import "utils.h" 75 | #import "proc_classic.h" 76 | 77 | @interface ClassicSimulator : NSObject 78 | { 79 | NSTimeInterval lastRun; 80 | LEDDisplayView *display; 81 | 82 | cpu_t *cpu; 83 | 84 | segment_bitmap_t display_segments [MAX_DIGIT_POSITION]; 85 | 86 | } 87 | 88 | - (id)init; 89 | - (void)pressKey: (int)key; 90 | - (void)readKeysFrom: (NSMutableArray *) keyQueue; 91 | - (void)executeCycle; 92 | - (BOOL)displayScan; 93 | - (void)setFlag: (int)num withBool: (BOOL)state; 94 | - (int)displayDigits; 95 | - (segment_bitmap_t *)displaySegments; 96 | - (void)saveState; 97 | - (void)readState; 98 | 99 | @property (nonatomic, strong) LEDDisplayView *display; 100 | 101 | @end 102 | -------------------------------------------------------------------------------- /common/display.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id: display.h 708 2005-05-28 23:38:20Z eric $ 3 | Copyright 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | 23 | #define MAX_DIGIT_POSITION 15 /* Classic, Topcat, 67, maybe 19C */ 24 | /* Digit positions are numbered left to right, starting with 0. */ 25 | 26 | //#define MAX_SEGMENT 18 /* 41C: 14 segment char,3 segments punctuation, 1 annunciator */ 27 | 28 | /* Segments are stored as a bitmap, with the LSB being segment A. 29 | See comments at the end of this header file. */ 30 | typedef uint32_t segment_bitmap_t; 31 | 32 | 33 | /* 34 | * Display segments: 35 | * 36 | * For seven-segment displays, by convention the segments are labeled 'a' 37 | * through 'g'. We designate the '.' and ',' as 'h' and 'i', respectively. 38 | * 39 | * aaa 40 | * f b 41 | * f b 42 | * f b 43 | * ggg 44 | * e c 45 | * e c 46 | * e c hh 47 | * ddd hh 48 | * ii 49 | * ii 50 | * 51 | * Not all calculators have the comma. Some calculators, particularly the 52 | * classic series, put the '.' inside the seven segments, and dedicate a 53 | * full digit position to the radix mark. 54 | * 55 | * For fourteen-segment displays, by convention the segments are 56 | * labeled 'a' through 'n'. We designate '.' and ',' as 'o' and 'p', 57 | * respectively. The second dot for the ':' is 'q'. The segment 58 | * designations do not match the HP 1LA4 documentation, but rather are 59 | * based on commercial 14-segment displays such as the Noritake 60 | * AH1616A 14-segment VFD (though that does not have the second dot 61 | * for the colon). 62 | * 63 | * aaaaaaa 64 | * fl i kb qq 65 | * f l i k b qq 66 | * f lik b 67 | * ggg hhh 68 | * e njm c 69 | * e n j m c 70 | * en j mc oo 71 | * ddddddd oo 72 | * pp 73 | * pp 74 | * 75 | */ 76 | 77 | 78 | #define SEGMENTS_PERIOD (1 << 14) 79 | #define SEGMENTS_COMMA ((1 << 14) | (1 << 15)) 80 | #define SEGMENTS_COLON ((1 << 14) | (1 << 16)) 81 | 82 | #define SEGMENT_ANN (1 << 17) 83 | -------------------------------------------------------------------------------- /led/LEDDisplayView.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // LEDDisplayView.m 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-26. 27 | // Copyright 2005-2012 Maciej Bartosiak. 28 | // 29 | 30 | #import "LEDDisplayView.h" 31 | 32 | @implementation LEDDisplayView 33 | 34 | - (id)initWithFrame:(NSRect)frameRect 35 | { 36 | if ((self = [super initWithFrame:frameRect]) != nil) 37 | { 38 | ds = NULL; 39 | dc = 0; 40 | } 41 | return self; 42 | } 43 | 44 | - (void)drawRect:(NSRect)rect 45 | { 46 | int num; 47 | 48 | if (ds == NULL) 49 | return; 50 | 51 | //[[NSColor redColor] set]; 52 | [[NSColor colorWithDeviceRed:1.0 53 | green:0.2 54 | blue:0.2 55 | alpha:1.0] set]; 56 | 57 | for (num = 0; num < dc; num++) 58 | if (ds[num]) // we don't want to draw empty digit 59 | [[digits objectAtIndex: num] drawDigit:ds[num]]; 60 | } 61 | 62 | - (void)setupDisplayWith: (segment_bitmap_t *)disps 63 | count: (int) count 64 | //yOffset: (float) y 65 | digitHeight: (float) digitHeight 66 | digitWidth: (float) digitWidth 67 | digitOffset: (float) digitOffset 68 | digitShare: (float) digitShare 69 | digitStroke: (float) digitStroke 70 | dotOffset: (float) dotOffset 71 | { 72 | LEDDigit *dig; 73 | NSMutableArray *tmp; 74 | 75 | int i; 76 | //float xOff = ([self frame].size.width - ((count) * (digitWidth + digitOffset)))/2.0; 77 | float xOff = ([self frame].size.width - ((count) * (digitWidth + digitOffset)))/2.0 ;//+ digitWidth/4.0; 78 | float yOff = (([self frame].size.height + digitHeight) / 2.0 - 1.0);//- digitHeight/4.0; 79 | 80 | dc = count; 81 | ds = disps; 82 | 83 | tmp = [NSMutableArray arrayWithCapacity: dc]; 84 | 85 | for (i = 0; i < dc; i++) 86 | { 87 | dig = [[LEDDigit alloc] initWithDigitHeight: digitHeight 88 | width: digitWidth 89 | share: digitShare 90 | stroke: digitStroke 91 | dotOffset: dotOffset 92 | x: xOff 93 | y: yOff]; 94 | 95 | [tmp insertObject: dig atIndex: i]; 96 | xOff += (digitWidth + digitOffset); 97 | } 98 | 99 | digits = [[NSArray alloc] initWithArray: tmp]; 100 | } 101 | 102 | @end 103 | -------------------------------------------------------------------------------- /woodstock/SpiceSimulator.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // SpiceSimulator.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-26. 27 | // Copyright 2005-2012 Maciej Bartosiak. 28 | // 29 | 30 | #import 31 | #import "display.h" 32 | #import "LEDDisplayView.h" 33 | 34 | #ifdef NONPAREIL_32E 35 | 36 | #define NNPR_OBJ @"32e" 37 | #define NNPR_STATE @"state.nonpareil-32e" 38 | #define NNPR_RAM 32 39 | #define NNPR_CLOCK 140000.0 40 | #define NNPR_WSIZE 56.0 41 | 42 | #elif NONPAREIL_33C 43 | 44 | #define NNPR_OBJ @"33c" 45 | #define NNPR_STATE @"state.nonpareil-33c" 46 | #define NNPR_RAM 32 47 | #define NNPR_CLOCK 140000.0 48 | #define NNPR_WSIZE 56.0 49 | 50 | #elif NONPAREIL_34C 51 | 52 | #define NNPR_OBJ @"34c" 53 | #define NNPR_STATE @"state.nonpareil-34c" 54 | #define NNPR_RAM 64 55 | #define NNPR_CLOCK 140000.0 56 | #define NNPR_WSIZE 56.0 57 | 58 | #elif NONPAREIL_37E 59 | 60 | #define NNPR_OBJ @"37e" 61 | #define NNPR_STATE @"state.nonpareil-37e" 62 | #define NNPR_RAM 48 63 | #define NNPR_CLOCK 140000.0 64 | #define NNPR_WSIZE 56.0 65 | 66 | #elif NONPAREIL_38C 67 | 68 | #define NNPR_OBJ @"38c" 69 | #define NNPR_STATE @"state.nonpareil-38c" 70 | #define NNPR_RAM 48 71 | #define NNPR_CLOCK 140000.0 72 | #define NNPR_WSIZE 56.0 73 | 74 | #elif NONPAREIL_38E 75 | 76 | #define NNPR_OBJ @"38e" 77 | #define NNPR_STATE @"state.nonpareil-38e" 78 | #define NNPR_RAM 48 79 | #define NNPR_CLOCK 140000.0 80 | #define NNPR_WSIZE 56.0 81 | 82 | #else 83 | 84 | #error No type defined 85 | 86 | #endif 87 | 88 | #import "display.h" 89 | #import "digit_ops.h" 90 | #import "utils.h" 91 | #import "proc_woodstock.h" 92 | 93 | @interface SpiceSimulator : NSObject 94 | { 95 | NSTimeInterval lastRun; 96 | LEDDisplayView *display; 97 | 98 | cpu_t *cpu; 99 | 100 | segment_bitmap_t display_segments [MAX_DIGIT_POSITION]; 101 | } 102 | 103 | - (id)init; 104 | - (void)pressKey: (int)key; 105 | - (void)readKeysFrom: (NSMutableArray *) keyQueue; 106 | - (void)executeCycle; 107 | - (BOOL)displayScan; 108 | - (BOOL)getFlag: (int)num; 109 | - (void)setFlag: (int)num withBool: (BOOL)state; 110 | - (int)displayDigits; 111 | - (segment_bitmap_t *)displaySegments; 112 | - (void)saveState; 113 | - (void)readState; 114 | 115 | @property (nonatomic, strong) LEDDisplayView *display; 116 | 117 | @end 118 | -------------------------------------------------------------------------------- /voyager/VoyagerController.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // NonpareilController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-09-09. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import "VoyagerController.h" 31 | 32 | @implementation VoyagerController 33 | 34 | #define JIFFY_PER_SEC 30.0 35 | 36 | - (void)awakeFromNib 37 | { 38 | [NSApp setDelegate:self]; 39 | 40 | keyQueue = [[NSMutableArray alloc] init]; 41 | 42 | simulator = [[VoyagerSimulator alloc] init]; 43 | simulator.display = display; 44 | //[display setupDisplayWith:[simulator displaySegments] count: [simulator displayDigits]]; 45 | [display setupDisplayWith: [simulator displaySegments] 46 | count: [simulator displayDigits] 47 | yOffset: 24.0 48 | digitHeight: 25.0 49 | digitWidth: 15.0 50 | digitOffset: 10.5 51 | digitShare: 0.1 52 | digitStroke: 3.5 53 | dotOffset: 3.5]; 54 | 55 | timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/JIFFY_PER_SEC) 56 | target:self 57 | selector:@selector(run:) 58 | userInfo:nil 59 | repeats:YES]; 60 | } 61 | 62 | - (IBAction)buttonPressed:(id)sender 63 | { 64 | [keyQueue insertObject:[NSNumber numberWithInteger: [sender tag]] atIndex:0]; 65 | [keyQueue insertObject:[NSNumber numberWithInt: -1] atIndex:0]; 66 | } 67 | 68 | - (void)run:(NSTimer *)aTimer 69 | { 70 | [simulator readKeysFrom: keyQueue]; 71 | 72 | [simulator executeCycle]; 73 | //if([simulator executeCycle]) 74 | //{ 75 | // [display updateDisplay]; 76 | //} 77 | } 78 | 79 | - (void)quit 80 | { 81 | [timer invalidate]; 82 | //if (! write_ram_file (ram)) 83 | //[simulator printState]; 84 | } 85 | 86 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 87 | [simulator saveState]; 88 | [self quit]; 89 | } 90 | 91 | //-------------------------------------------------------------------------------------------------------- 92 | // NSWindow delegate methods 93 | //-------------------------------------------------------------------------------------------------------- 94 | - (void)windowDidBecomeKey:(NSNotification *)aNotification 95 | { 96 | [[aNotification object] setAlphaValue:1.0]; 97 | } 98 | 99 | - (void)windowDidResignKey:(NSNotification *)aNotification 100 | { 101 | [[aNotification object] setAlphaValue:0.85]; 102 | } 103 | 104 | //- (void)applicationWillTerminate:(NSNotification *)aNotification { 105 | // [self quit]; 106 | //} 107 | 108 | 109 | @end 110 | -------------------------------------------------------------------------------- /woodstock/WoodstockController.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // WoodstockController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-12-26. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import "WoodstockController.h" 31 | 32 | @implementation WoodstockController 33 | @synthesize modeSwitch; 34 | 35 | #define JIFFY_PER_SEC 30.0 36 | 37 | - (void)awakeFromNib 38 | { 39 | [NSApp setDelegate:self]; 40 | 41 | keyQueue = [[NSMutableArray alloc] init]; 42 | simulator = [[WoodstockSimulator alloc] init]; 43 | simulator.display = display; 44 | self.modeSwitch.state = [simulator getFlag: 3]; 45 | 46 | [display setupDisplayWith: [simulator displaySegments] 47 | count: [simulator displayDigits] 48 | //yOffset: 15.0 49 | digitHeight: 14.0 50 | digitWidth: 7.0 51 | digitOffset: 10.0 52 | digitShare: 0.0 53 | digitStroke: 1.5 54 | dotOffset: 6.0]; 55 | 56 | timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/JIFFY_PER_SEC) 57 | target:self 58 | selector:@selector(run:) 59 | userInfo:nil 60 | repeats:YES]; 61 | 62 | } 63 | 64 | - (IBAction)buttonPressed:(id)sender 65 | { 66 | [keyQueue insertObject:[NSNumber numberWithInteger: [sender tag]] atIndex:0]; 67 | [keyQueue insertObject:[NSNumber numberWithInt: -1] atIndex:0]; 68 | } 69 | 70 | - (IBAction)modeSwitch:(id)sender 71 | { 72 | NSInteger fff = [sender state]; 73 | if (fff == NSOnState) 74 | { 75 | [simulator setFlag: 3 withBool:true]; 76 | //NSLog(@"Run"); 77 | } else if (fff == NSOffState) { 78 | [simulator setFlag: 3 withBool:false]; 79 | //NSLog(@"Prgm"); 80 | } 81 | } 82 | 83 | - (void)run:(NSTimer *)aTimer 84 | { 85 | [simulator readKeysFrom: keyQueue]; 86 | [simulator executeCycle]; 87 | } 88 | 89 | - (void)quit 90 | { 91 | [timer invalidate]; 92 | } 93 | 94 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 95 | [simulator saveState]; 96 | [self quit]; 97 | } 98 | 99 | //-------------------------------------------------------------------------------------------------------- 100 | // NSWindow delegate methods 101 | //-------------------------------------------------------------------------------------------------------- 102 | - (void)windowDidBecomeKey:(NSNotification *)aNotification 103 | { 104 | [[aNotification object] setAlphaValue:1.0]; 105 | } 106 | 107 | - (void)windowDidResignKey:(NSNotification *)aNotification 108 | { 109 | [[aNotification object] setAlphaValue:0.85]; 110 | } 111 | 112 | //- (void)applicationWillTerminate:(NSNotification *)aNotification { 113 | // [self quit]; 114 | //} 115 | 116 | 117 | @end 118 | -------------------------------------------------------------------------------- /common/utils.c: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // any changes since 0.77 copyright 2005-2012 Maciej Bartosiak 24 | // 25 | 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | #include "digit_ops.h" 34 | 35 | #include "utils.h" 36 | 37 | void trim_trailing_whitespace (char *s) 38 | { 39 | int i; 40 | char c; 41 | 42 | i = (int)strlen (s); 43 | while (--i >= 0) 44 | { 45 | c = s [i]; 46 | if ((c == '\n') || (c == '\r') || (c == ' ') || (c == '\t')) 47 | s [i] = '\0'; 48 | else 49 | break; 50 | } 51 | } 52 | 53 | size_t fread_bytes (FILE *stream, 54 | void *ptr, 55 | size_t byte_count, 56 | bool *eof, 57 | bool *error) 58 | { 59 | size_t total = 0; 60 | 61 | *eof = false; 62 | *error = false; 63 | 64 | while (byte_count) 65 | { 66 | size_t count; 67 | 68 | count = fread (ptr, 1, byte_count, stream); 69 | ptr += count; 70 | total += count; 71 | byte_count -= count; 72 | if (byte_count) 73 | { 74 | if (ferror (stream)) 75 | { 76 | *error = true; 77 | return total; 78 | } 79 | if (feof (stream)) 80 | { 81 | *eof = true; 82 | return total; 83 | } 84 | } 85 | } 86 | return total; 87 | } 88 | 89 | void fatal (int ret, char *format, ...) 90 | { 91 | va_list ap; 92 | 93 | if (format) 94 | { 95 | fprintf (stderr, "fatal error: "); 96 | va_start (ap, format); 97 | vfprintf (stderr, format, ap); 98 | va_end (ap); 99 | } 100 | //if (ret == 1) 101 | // usage (stderr); 102 | exit (ret); 103 | } 104 | 105 | char* reg2str (char *str, reg_t reg) 106 | { 107 | static char hexmap[] = "0123456789abcdef"; 108 | int i = WSIZE - 1; 109 | char *tmp = str; 110 | 111 | do { 112 | *tmp++ = hexmap[reg[i]]; 113 | } while (i--); 114 | *tmp = 0; 115 | return str; 116 | } 117 | 118 | 119 | void str2reg(reg_t reg, const char *str) 120 | { 121 | int cchr; 122 | int i = WSIZE - 1; 123 | 124 | do { 125 | cchr = *str++; 126 | 127 | if((cchr >= 'a') && (cchr <= 'f')) // a,b...f 128 | reg[i] = cchr - 'a' + 10; 129 | else if((cchr >= 'A') && (cchr <= 'F')) // a,b...f 130 | reg[i] = cchr - 'A' + 10; 131 | else if(cchr >= 0x30) //1, 2... 132 | reg[i] = cchr - '0'; 133 | else { 134 | printf("warning: wrong code\n"); 135 | reg[i] = 0; 136 | } 137 | } while (i--); 138 | } 139 | 140 | 141 | void *alloc (size_t size) 142 | { 143 | void *addr; 144 | 145 | addr = malloc (size); 146 | memset(addr, 0, size); 147 | return addr; 148 | } 149 | -------------------------------------------------------------------------------- /woodstock/SpiceController.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // SpiceController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-26. 27 | // Copyright 2005-2012 Maciej Bartosiak. 28 | // 29 | 30 | #import "SpiceController.h" 31 | 32 | @implementation SpiceController 33 | #if (!defined (NONPAREIL_32E)) 34 | @synthesize modeSwitch; 35 | #endif 36 | 37 | #define JIFFY_PER_SEC 30.0 38 | 39 | - (void)awakeFromNib 40 | { 41 | [NSApp setDelegate:self]; 42 | 43 | keyQueue = [[NSMutableArray alloc] init]; 44 | simulator = [[SpiceSimulator alloc] init]; 45 | simulator.display = display; 46 | #if (!defined (NONPAREIL_32E)) 47 | self.modeSwitch.state = [simulator getFlag: 3]; 48 | #endif 49 | [display setupDisplayWith: [simulator displaySegments] 50 | count: [simulator displayDigits] 51 | //yOffset: 15.0 52 | digitHeight: 16.0 53 | digitWidth: 8.0 54 | digitOffset: 12.0 55 | digitShare: 0.1 56 | digitStroke: 1.5 57 | dotOffset: 6.0]; 58 | 59 | timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/JIFFY_PER_SEC) 60 | target:self 61 | selector:@selector(run:) 62 | userInfo:nil 63 | repeats:YES]; 64 | 65 | } 66 | 67 | - (IBAction)buttonPressed:(id)sender 68 | { 69 | [keyQueue insertObject:[NSNumber numberWithInteger: [sender tag]] atIndex:0]; 70 | [keyQueue insertObject:[NSNumber numberWithInt: -1] atIndex:0]; 71 | } 72 | 73 | - (IBAction)modeSwitch:(id)sender 74 | { 75 | NSInteger fff = [sender state]; 76 | if (fff == NSOnState) 77 | { 78 | [simulator setFlag: 3 withBool:true]; 79 | //NSLog(@"Run"); 80 | } else if (fff == NSOffState) { 81 | [simulator setFlag: 3 withBool:false]; 82 | //NSLog(@"Prgm"); 83 | } 84 | } 85 | 86 | - (void)run:(NSTimer *)aTimer 87 | { 88 | [simulator readKeysFrom: keyQueue]; 89 | [simulator executeCycle]; 90 | } 91 | 92 | - (void)quit 93 | { 94 | [timer invalidate]; 95 | } 96 | 97 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 98 | [simulator saveState]; 99 | [self quit]; 100 | } 101 | 102 | //-------------------------------------------------------------------------------------------------------- 103 | // NSWindow delegate methods 104 | //-------------------------------------------------------------------------------------------------------- 105 | - (void)windowDidBecomeKey:(NSNotification *)aNotification 106 | { 107 | [[aNotification object] setAlphaValue:1.0]; 108 | } 109 | 110 | - (void)windowDidResignKey:(NSNotification *)aNotification 111 | { 112 | [[aNotification object] setAlphaValue:0.85]; 113 | } 114 | 115 | //- (void)applicationWillTerminate:(NSNotification *)aNotification { 116 | // [self quit]; 117 | //} 118 | 119 | 120 | @end 121 | -------------------------------------------------------------------------------- /voyager/voyager_lcd.c: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // any changes since 0.77 copyright 2005-2012 Maciej Bartosiak 24 | // 25 | 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | #include "display.h" 32 | #include "digit_ops.h" 33 | #include "utils.h" 34 | #include "voyager_lcd.h" 35 | #include "proc_nut.h" 36 | 37 | 38 | static void voyager_op_display_off (cpu_t *nut_reg, int opcode) 39 | { 40 | voyager_display_reg_t *display = nut_reg->display_chip; 41 | 42 | display->enable = 0; 43 | display->blink = 0; 44 | } 45 | 46 | 47 | static void voyager_op_display_toggle (cpu_t *nut_reg, int opcode) 48 | { 49 | voyager_display_reg_t *display = nut_reg->display_chip; 50 | 51 | display->enable = ! display->enable; 52 | } 53 | 54 | 55 | static void voyager_op_display_blink (cpu_t *nut_reg, int opcode) 56 | { 57 | voyager_display_reg_t *display = nut_reg->display_chip; 58 | 59 | display->enable = 1; 60 | display->blink = 1; 61 | display->blink_state = 1; 62 | display->blink_count = VOYAGER_DISPLAY_BLINK_DIVISOR; 63 | //display->count = 0; // force immediate display update 64 | } 65 | 66 | 67 | static void voyager_display_init_ops (cpu_t *nut_reg) 68 | { 69 | //nut_reg->display_digits = VOYAGER_DISPLAY_DIGITS; 70 | nut_reg->op_fcn [0x030] = voyager_op_display_blink; 71 | nut_reg->op_fcn [0x2e0] = voyager_op_display_off; 72 | nut_reg->op_fcn [0x320] = voyager_op_display_toggle; 73 | } 74 | 75 | 76 | void voyager_display_reset (cpu_t *nut_reg) 77 | { 78 | voyager_display_reg_t *display = nut_reg->display_chip; 79 | 80 | display->enable = 0; 81 | display->blink = 0; 82 | } 83 | 84 | 85 | 86 | // For each of 11 digits, we need segments a-g for the actual digit, 87 | // segment h for the decimal point, segment i for the tail of the comma, 88 | // and segment j for the annunciator. 89 | 90 | 91 | void voyager_display_sleep(cpu_t *nut_reg) 92 | { 93 | voyager_display_reg_t *display = nut_reg->display_chip; 94 | 95 | if (display->enable) 96 | { 97 | /* going to light sleep */ 98 | #ifdef AUTO_POWER_OFF 99 | // $$$ how does display timer work on Voyager? 100 | /* start display timer if LCD chip is selected */ 101 | if (nut_reg->pf_addr == PFADDR_LCD_DISPLAY) 102 | display->timer = DISPLAY_TIMEOUT; 103 | #endif /* AUTO_POWER_OFF */ 104 | } 105 | else 106 | /* going to deep sleep */ 107 | nut_reg->carry = 1; 108 | } 109 | 110 | void voyager_display_init (cpu_t *nut_reg) 111 | { 112 | voyager_display_reg_t *display; 113 | 114 | voyager_display_init_ops (nut_reg); 115 | 116 | display = (voyager_display_reg_t *)alloc (sizeof (voyager_display_reg_t)); 117 | 118 | nut_reg->display_chip = display; 119 | } 120 | -------------------------------------------------------------------------------- /classic/proc_classic.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id: proc_classic.h 686 2005-05-26 09:06:45Z eric $ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // any changes since nonpareil 0.77 copyright 2005-2012 Maciej Bartosiak 24 | // 25 | 26 | #define CLASSIC_LEFT_SCAN (WSIZE - 1) 27 | #define CLASSIC_RIGHT_SCAN 0 28 | 29 | #define CLASSIC_DISPLAY_DIGITS 14 30 | 31 | #define SSIZE 12 32 | #define EXT_FLAG_SIZE 12 33 | 34 | #define MAX_GROUP 2 35 | #define MAX_ROM 8 36 | #define ROM_SIZE 256 37 | 38 | #if 1 39 | // This was the easiest way to use the existing code: 40 | #define MAX_BANK 1 41 | #define MAX_PAGE 1 42 | #define N_PAGE_SIZE (MAX_GROUP * MAX_ROM * ROM_SIZE) 43 | #else 44 | // This would somewhat more accurately represent the hardware 45 | // behavior, but the current code won't deal with it correctly: 46 | #define MAX_BANK (MAX_GROUP * MAX_ROM) 47 | #define MAX_PAGE 1 48 | #define N_PAGE_SIZE (ROM_SIZE) 49 | #endif 50 | 51 | //struct cpu_t; 52 | 53 | typedef struct classic_cpu_t 54 | { 55 | reg_t a; 56 | reg_t b; 57 | reg_t c; 58 | reg_t d; 59 | reg_t e; 60 | reg_t f; 61 | reg_t m; 62 | 63 | digit_t p; 64 | 65 | bool carry; 66 | 67 | uint8_t pc; 68 | uint8_t rom; 69 | uint8_t group; 70 | 71 | uint8_t del_rom; 72 | uint8_t del_grp; 73 | 74 | uint8_t ret_pc; 75 | 76 | uint16_t s; 77 | uint16_t ext_flag; // external flags, e.g., slide switches, magnetic card inserted 78 | 79 | // keyboard 80 | bool key_flag; /* true if a key is down */ 81 | int key_buf; /* most recently pressed key */ 82 | 83 | // display 84 | bool display_enable; 85 | 86 | // ROM: 87 | rom_word_t *ucode; // name "rom" was already taken 88 | 89 | // RAM 90 | uint16_t max_ram; 91 | uint16_t ram_addr; /* selected RAM address */ 92 | reg_t *ram; 93 | } cpu_t; 94 | 95 | cpu_t *classic_new_processor (int ram_size); 96 | 97 | bool classic_read_rom (cpu_t *cpu_reg, 98 | uint8_t bank, 99 | addr_t addr, 100 | rom_word_t *val); 101 | 102 | bool classic_write_rom (cpu_t *cpu_reg, 103 | uint8_t bank, 104 | addr_t addr, 105 | rom_word_t *val); 106 | 107 | bool classic_write_rom (cpu_t *cpu_reg, 108 | uint8_t bank, 109 | addr_t addr, 110 | rom_word_t *val); 111 | 112 | bool classic_execute_instruction (cpu_t *cpu_reg); 113 | void classic_press_key (cpu_t *cpu_reg, int keycode); 114 | void classic_release_key (cpu_t *cpu_reg); 115 | void classic_set_ext_flag (cpu_t *cpu_reg, int flag, bool state); 116 | bool classic_get_ext_flag (cpu_t *cpu_reg, int flag); 117 | void classic_reset (cpu_t *cpu_reg); 118 | void classic_clear_memory (cpu_t *cpu_reg); 119 | bool classic_read_object_file (cpu_t *cpu_reg, const char *fn); 120 | -------------------------------------------------------------------------------- /classic/ClassicController.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // ClassicController.h 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-08. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import "ClassicController.h" 31 | 32 | @implementation ClassicController 33 | 34 | #define JIFFY_PER_SEC 30.0 35 | 36 | - (void)awakeFromNib 37 | { 38 | [NSApp setDelegate:self]; 39 | 40 | keyQueue = [[NSMutableArray alloc] init]; 41 | simulator = [[ClassicSimulator alloc] init]; 42 | simulator.display = display; 43 | //[display setupDisplayWith: [simulator displaySegments] 44 | // count: [simulator displayDigits] 45 | // withX: ((320.0 - (15.0 * DIGIT_W) - (DIGIT_S * 2.0) * 14.0)/2.0)/*CLASSIC_DIGIT_START_OFF*/ 46 | // Y: 15.0]; 47 | 48 | [display setupDisplayWith: [simulator displaySegments] 49 | count: [simulator displayDigits] 50 | //yOffset: 18.0 51 | digitHeight: 20.0 52 | digitWidth: 9.0 53 | digitOffset: 10.0 54 | digitShare: 0.0 55 | digitStroke: 1.3 56 | dotOffset: 5.0]; 57 | 58 | timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/JIFFY_PER_SEC) 59 | target:self 60 | selector:@selector(run:) 61 | userInfo:nil 62 | repeats:YES]; 63 | 64 | } 65 | 66 | - (IBAction)buttonPressed:(id)sender 67 | { 68 | [keyQueue insertObject:[NSNumber numberWithInteger: [sender tag]] atIndex:0]; 69 | [keyQueue insertObject:[NSNumber numberWithInt: -1] atIndex:0]; 70 | } 71 | 72 | - (IBAction)modeSwitch:(id)sender 73 | { 74 | NSInteger fff = [sender selectedSegment]; 75 | if (fff == 2) 76 | { 77 | [simulator setFlag: 3 withBool:false]; 78 | [simulator setFlag:11 withBool:false]; 79 | //NSLog(@"Run"); 80 | } else if (fff == 1) { 81 | [simulator setFlag: 3 withBool:true]; 82 | [simulator setFlag:11 withBool:false]; 83 | //NSLog(@"Prgm"); 84 | } else if (fff == 0) { 85 | [simulator setFlag: 3 withBool:false]; 86 | [simulator setFlag:11 withBool:true]; 87 | //NSLog(@"Times"); 88 | } //else { 89 | //NSLog(@"Wrong %d", fff); 90 | //} 91 | } 92 | 93 | - (void)run:(NSTimer *)aTimer 94 | { 95 | [simulator readKeysFrom: keyQueue]; 96 | [simulator executeCycle]; 97 | } 98 | 99 | - (void)quit 100 | { 101 | [timer invalidate]; 102 | } 103 | 104 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 105 | [simulator saveState]; 106 | [self quit]; 107 | } 108 | 109 | //-------------------------------------------------------------------------------------------------------- 110 | // NSWindow delegate methods 111 | //-------------------------------------------------------------------------------------------------------- 112 | - (void)windowDidBecomeKey:(NSNotification *)aNotification 113 | { 114 | [[aNotification object] setAlphaValue:1.0]; 115 | } 116 | 117 | - (void)windowDidResignKey:(NSNotification *)aNotification 118 | { 119 | [[aNotification object] setAlphaValue:0.85]; 120 | } 121 | 122 | //- (void)applicationWillTerminate:(NSNotification *)aNotification { 123 | // [self quit]; 124 | //} 125 | 126 | 127 | @end 128 | -------------------------------------------------------------------------------- /woodstock/proc_woodstock.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id: proc_woodstock.h 686 2005-05-26 09:06:45Z eric $ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // any changes since 0.77 copyright 2005-2012 Maciej Bartosiak 24 | // 25 | 26 | //#define WSIZE 14 27 | //#define EXPSIZE 3 // two exponent and one exponent sign digit 28 | 29 | #define WOODSTOCK_LEFT_SCAN (WSIZE - 1) 30 | #define WOODSTOCK_RIGHT_SCAN 2 31 | 32 | #define SPICE_LEFT_SCAN (WSIZE - 2) 33 | 34 | #define WOODSTOCK_DISPLAY_DIGITS 12 35 | #define SPICE_DISPLAY_DIGITS 11 36 | 37 | //typedef digit_t reg_t [WSIZE]; 38 | 39 | 40 | #define SSIZE 16 41 | #define STACK_SIZE 2 42 | 43 | #define EXT_FLAG_SIZE 16 44 | 45 | #define N_PAGE_SIZE 1024 46 | #define MAX_PAGE 4 47 | #define MAX_BANK 2 48 | 49 | 50 | typedef uint16_t rom_addr_t; 51 | 52 | 53 | typedef enum 54 | { 55 | norm, 56 | branch, 57 | selftest 58 | } inst_state_t; 59 | 60 | 61 | typedef struct woodstock_cpu_t 62 | { 63 | reg_t a; 64 | reg_t b; 65 | reg_t c; 66 | reg_t y; 67 | reg_t z; 68 | reg_t t; 69 | reg_t m1; 70 | reg_t m2; 71 | 72 | digit_t f; 73 | 74 | digit_t p; 75 | 76 | bool decimal; 77 | 78 | bool carry, prev_carry; 79 | 80 | uint16_t s; 81 | uint16_t ext_flag; 82 | 83 | uint16_t pc; 84 | 85 | bool del_rom_flag; 86 | uint8_t del_rom; 87 | 88 | inst_state_t inst_state; 89 | 90 | int sp; /* stack pointer */ 91 | uint16_t stack [STACK_SIZE]; 92 | 93 | //int prev_pc; /* used to store complete five-digit octal address of instruction */ 94 | 95 | int crc; 96 | 97 | // keyboard 98 | 99 | bool key_flag; /* true if a key is down */ 100 | int key_buf; /* most recently pressed key */ 101 | 102 | // display 103 | 104 | bool display_enable; 105 | //bool display_14_digit; // true after RESET TWF instruction 106 | 107 | void (* op_fcn [1024])(struct woodstock_cpu_t *act_reg, int opcode); 108 | 109 | // ROM: 110 | uint8_t bank_exists [MAX_PAGE]; 111 | bool bank; // only a single global bank bit 112 | rom_word_t *rom; 113 | 114 | // RAM: 115 | uint16_t max_ram; 116 | uint16_t ram_addr; /* selected RAM address */ 117 | reg_t *ram; 118 | 119 | } cpu_t; 120 | 121 | cpu_t *spice_new_processor (int ram_size); 122 | cpu_t *woodstock_new_processor (int ram_size); 123 | 124 | void woodstock_set_ext_flag (cpu_t *act_reg, int flag, bool state); 125 | bool woodstock_get_ext_flag (cpu_t *act_reg, int flag); 126 | 127 | bool woodstock_execute_instruction (cpu_t *act_reg); 128 | bool spice_execute_instruction (cpu_t *act_reg); 129 | 130 | bool woodstock_read_object_file (cpu_t *act_reg, const char *fn); 131 | void woodstock_set_object(cpu_t *act_reg, uint8_t *bank_exists, rom_word_t *rom); 132 | 133 | void woodstock_press_key (cpu_t *act_reg, int keycode); 134 | void woodstock_release_key (cpu_t *act_reg); 135 | 136 | void woodstock_reset (cpu_t *act_reg); 137 | void spice_reset (cpu_t *act_reg); 138 | void woodstock_clear_memory (cpu_t *act_reg); 139 | 140 | char* reg2str (char *str, reg_t reg); 141 | void str2reg(reg_t reg, const char *str); -------------------------------------------------------------------------------- /common/digit_ops.c: -------------------------------------------------------------------------------- 1 | /* 2 | $Id: digit_ops.c 692 2005-05-27 04:53:57Z eric $ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | 23 | #include 24 | #include 25 | 26 | #include "digit_ops.h" 27 | 28 | 29 | void reg_zero (digit_t *dest, int first, int last) 30 | { 31 | int i; 32 | for (i = first; i <= last; i++) 33 | dest [i] = 0; 34 | } 35 | 36 | 37 | void reg_copy (digit_t *dest, const digit_t *src, int first, int last) 38 | { 39 | int i; 40 | for (i = first; i <= last; i++) 41 | dest [i] = src [i]; 42 | } 43 | 44 | 45 | void reg_exch (digit_t *dest, digit_t *src, int first, int last) 46 | { 47 | int i, t; 48 | for (i = first; i <= last; i++) 49 | { 50 | t = dest [i]; 51 | dest [i] = src [i]; 52 | src [i] = t; 53 | } 54 | } 55 | 56 | 57 | static digit_t do_add (digit_t x, digit_t y, bool *carry, uint8_t base) 58 | { 59 | int res; 60 | 61 | res = x + y + *carry; 62 | if (res >= base) 63 | { 64 | res -= base; 65 | *carry = 1; 66 | } 67 | else 68 | *carry = 0; 69 | return (res); 70 | } 71 | 72 | 73 | static digit_t do_sub (digit_t x, digit_t y, bool *carry, uint8_t base) 74 | { 75 | int res; 76 | 77 | res = (x - y) - *carry; 78 | if (res < 0) 79 | { 80 | res += base; 81 | *carry = 1; 82 | } 83 | else 84 | *carry = 0; 85 | return (res); 86 | } 87 | 88 | 89 | void reg_add (digit_t *dest, const digit_t *src1, const digit_t *src2, 90 | int first, int last, 91 | bool *carry, uint8_t base) 92 | { 93 | int i; 94 | 95 | for (i = first; i <= last; i++) 96 | { 97 | int s2 = src2 ? src2 [i] : 0; 98 | dest [i] = do_add (src1 [i], s2, carry, base); 99 | } 100 | } 101 | 102 | 103 | void reg_sub (digit_t *dest, const digit_t *src1, const digit_t *src2, 104 | int first, int last, 105 | bool *carry, uint8_t base) 106 | { 107 | int i; 108 | 109 | for (i = first; i <= last; i++) 110 | { 111 | int s1 = src1 ? src1 [i] : 0; 112 | int s2 = src2 ? src2 [i] : 0; 113 | int d = do_sub (s1, s2, carry, base); 114 | if (dest) 115 | dest [i] = d; 116 | } 117 | } 118 | 119 | 120 | // $$$ if in decimal mode, do illegal digits get normalized? 121 | void reg_test_equal (const digit_t *src1, const digit_t *src2, 122 | int first, int last, 123 | bool *carry) 124 | { 125 | int i; 126 | 127 | *carry = true; 128 | for (i = first; i <= last; i++) 129 | { 130 | int s2 = src2 ? src2 [i] : 0; 131 | (*carry) &= (src1 [i] == s2); 132 | } 133 | } 134 | 135 | 136 | // $$$ if in decimal mode, do illegal digits get normalized? 137 | void reg_test_nonequal (const digit_t *src1, const digit_t *src2, 138 | int first, int last, 139 | bool *carry) 140 | { 141 | int i; 142 | 143 | *carry = false; 144 | for (i = first; i <= last; i++) 145 | { 146 | int s2 = src2 ? src2 [i] : 0; 147 | (*carry) |= (src1 [i] != s2); 148 | } 149 | } 150 | 151 | 152 | void reg_shift_right (digit_t *reg, int first, int last) 153 | { 154 | int i; 155 | 156 | for (i = first; i <= last; i++) 157 | reg [i] = (i == last) ? 0 : reg [i+1]; 158 | } 159 | 160 | 161 | void reg_shift_left (digit_t *reg, int first, int last) 162 | { 163 | int i; 164 | 165 | for (i = last; i >= first; i--) 166 | reg [i] = (i == first) ? 0 : reg [i-1]; 167 | } 168 | 169 | 170 | // BCD to native host binary and vice versa 171 | uint64_t bcd_reg_to_binary (digit_t *reg, int digits) 172 | { 173 | uint64_t val = 0; 174 | 175 | reg += digits; 176 | while (digits--) 177 | { 178 | val *= 10; 179 | val += *(--reg); 180 | } 181 | 182 | return val; 183 | } 184 | 185 | void binary_to_bcd_reg (uint64_t val, digit_t *reg, int digits) 186 | { 187 | while (digits--) 188 | { 189 | *(reg++) = val % 10; 190 | val /= 10; 191 | } 192 | } 193 | -------------------------------------------------------------------------------- /led/LEDDigit.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // LEDDigit.m 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-10-26. 27 | // Copyright 2005 Maciej Bartosiak. 28 | // 29 | 30 | #import "LEDDigit.h" 31 | 32 | @implementation LEDDigit 33 | 34 | - (id)initWithDigitHeight: (float) digitH 35 | width: (float) digitW 36 | share: (float) share 37 | stroke: (float) stroke 38 | dotOffset: (float) dotOff 39 | x: (float) x 40 | y: (float) y 41 | { 42 | NSAffineTransform *tmp; 43 | 44 | float digith = digitH / 2.0; 45 | //float digitoff = (digitW + digitS * 2.0); 46 | 47 | self = [super init]; 48 | 49 | [NSBezierPath setDefaultLineWidth: stroke]; 50 | //[NSBezierPath setDefaultLineCapStyle: NSRoundLineCapStyle]; 51 | 52 | a = [NSBezierPath bezierPath]; 53 | [a moveToPoint: NSMakePoint( 0.0, 0.0)]; 54 | [a lineToPoint: NSMakePoint( digitW, 0.0)]; 55 | 56 | b = [NSBezierPath bezierPath]; 57 | [b moveToPoint: NSMakePoint( digitW, 0.0)]; 58 | [b lineToPoint: NSMakePoint( digitW, digith)]; 59 | 60 | c = [NSBezierPath bezierPath]; 61 | [c moveToPoint: NSMakePoint( digitW, digith)]; 62 | [c lineToPoint: NSMakePoint( digitW, digitH)]; 63 | 64 | d = [NSBezierPath bezierPath]; 65 | [d moveToPoint: NSMakePoint( 0.0, digitH)]; 66 | [d lineToPoint: NSMakePoint( digitW, digitH)]; 67 | 68 | e = [NSBezierPath bezierPath]; 69 | [e moveToPoint: NSMakePoint( 0.0, digith)]; 70 | [e lineToPoint: NSMakePoint( 0.0, digitH)]; 71 | 72 | f = [NSBezierPath bezierPath]; 73 | [f moveToPoint: NSMakePoint( 0.0, 0.0)]; 74 | [f lineToPoint: NSMakePoint( 0.0, digith)]; 75 | 76 | g = [NSBezierPath bezierPath]; 77 | [g moveToPoint: NSMakePoint( 0.0, digith)]; 78 | [g lineToPoint: NSMakePoint( digitW, digith)]; 79 | 80 | // "dot" segment 81 | h = [NSBezierPath bezierPath]; 82 | [h moveToPoint: NSMakePoint(digitW+dotOff-1.0, digitH-1.0)]; 83 | [h lineToPoint: NSMakePoint(digitW+dotOff-1.0, digitH+1.0)]; 84 | [h lineToPoint: NSMakePoint(digitW+dotOff-2.0, digitH+1.0)]; 85 | [h lineToPoint: NSMakePoint(digitW+dotOff-2.0, digitH-1.0)]; 86 | //[h closePath]; 87 | 88 | // "," segment 89 | 90 | i = [NSBezierPath bezierPath]; 91 | [i moveToPoint: NSMakePoint(digitW + dotOff-1.0, digitH /*-DIGIT_o*/)]; 92 | [i lineToPoint: NSMakePoint(digitW + dotOff-1.0-dotOff/3.0, digitH+dotOff/2.0)]; 93 | 94 | tmp = [NSAffineTransform transform]; 95 | [tmp shearXBy: share]; 96 | [tmp translateXBy: x + 0.5 yBy: y + 0.5]; 97 | [tmp scaleXBy:1.0 yBy:-1.0]; 98 | [a transformUsingAffineTransform: tmp]; 99 | [b transformUsingAffineTransform: tmp]; 100 | [c transformUsingAffineTransform: tmp]; 101 | [d transformUsingAffineTransform: tmp]; 102 | [e transformUsingAffineTransform: tmp]; 103 | [f transformUsingAffineTransform: tmp]; 104 | [g transformUsingAffineTransform: tmp]; 105 | [h transformUsingAffineTransform: tmp]; 106 | [i transformUsingAffineTransform: tmp]; 107 | 108 | return self; 109 | } 110 | 111 | - (id)init 112 | { 113 | return [self initWithDigitHeight: (float) 16.0 114 | width: (float) 8.0 115 | share: (float) 0.1 116 | stroke: (float) 1.5 117 | dotOffset: (float) 6.0 118 | x: (float) 0.0 119 | y: (float) 0.0]; 120 | } 121 | 122 | - (void) drawDigit: (segment_bitmap_t)dig 123 | { 124 | #if 0 125 | [[NSColor darkGrayColor] set]; 126 | [a stroke]; 127 | [b stroke]; 128 | [c stroke]; 129 | [d stroke]; 130 | [e stroke]; 131 | [f stroke]; 132 | [g stroke]; 133 | [h stroke]; 134 | [i stroke]; 135 | [[NSColor redColor] set]; 136 | #endif 137 | if((dig >> 0) & 1) [a stroke]; 138 | if((dig >> 1) & 1) [b stroke]; 139 | if((dig >> 2) & 1) [c stroke]; 140 | if((dig >> 3) & 1) [d stroke]; 141 | if((dig >> 4) & 1) [e stroke]; 142 | if((dig >> 5) & 1) [f stroke]; 143 | if((dig >> 6) & 1) [g stroke]; 144 | if((dig >> 7) & 1) [h stroke]; 145 | if((dig >> 8) & 1) [i stroke]; 146 | } 147 | 148 | @end 149 | -------------------------------------------------------------------------------- /voyager/proc_nut.h: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // any changes since 0.77 copyright 2005-2012 Maciej Bartosiak 24 | // 25 | 26 | //#define WSIZE 14 27 | //#define EXPSIZE 3 // two exponent and one exponent sign digit 28 | 29 | //typedef digit_t reg_t [WSIZE]; 30 | 31 | 32 | #define SSIZE 14 33 | #define EXT_FLAG_SIZE 14 34 | 35 | //#define EF_PRINTER_BUSY 0 // 82143A printer 36 | //#define EF_CARD_READER 1 // 82104A card reader 37 | //#define EF_WAND_DATA_AVAIL 2 // 82153A bar code wand 38 | //#define EF_BLINKY_EDAV 5 // 88242A IR printer module 39 | //#define EF_HPIL_IFCR 6 // 82160A HP-IL module 40 | //#define EF_HPIL_SRQR 7 41 | //#define EF_HPIL_FRAV 8 42 | //#define EF_HPIL_FRNS 9 43 | //#define EF_HPIL_ORAV 10 44 | //#define EF_TIMER 12 // 82182A Time Module (built into 41CX) 45 | //#define EF_SERVICE_REQUEST 13 // shared general service request 46 | // Flags 3, 4, and 11 are apparently not used by any standard peripherals 47 | 48 | 49 | #define STACK_DEPTH 4 50 | 51 | //#undef PAGE_SIZE 52 | #define N_PAGE_SIZE 4096 53 | #define MAX_PAGE 16 54 | #define MAX_BANK 4 55 | 56 | 57 | typedef enum 58 | { 59 | KB_IDLE, 60 | KB_PRESSED, 61 | KB_RELEASED, 62 | KB_WAIT_CHK, 63 | KB_WAIT_CYC, 64 | KB_STATE_MAX // must be last 65 | } keyboard_state_t; 66 | 67 | 68 | enum 69 | { 70 | //event_periph_select = first_arch_event, 71 | event_ram_select 72 | }; 73 | 74 | 75 | typedef uint16_t rom_addr_t; 76 | 77 | 78 | typedef enum 79 | { 80 | norm, 81 | long_branch, 82 | cxisa, 83 | ldi, 84 | selprf // "smart" peripheral selected (NPIC, PIL) 85 | } inst_state_t; 86 | 87 | 88 | struct nut_reg_t; 89 | 90 | typedef void ram_access_fn_t (struct nut_reg_t *nut_reg, int addr, reg_t *reg); 91 | 92 | typedef struct nut_reg_t 93 | { 94 | reg_t a; 95 | reg_t b; 96 | reg_t c; 97 | reg_t m; 98 | reg_t n; 99 | digit_t g [2]; 100 | 101 | digit_t p; 102 | digit_t q; 103 | bool q_sel; // true if q is the selected pointer, false for p 104 | 105 | uint8_t fo; /* flag output regiters, 8 bits, used to drive bender */ 106 | 107 | bool decimal; // true for arithmetic radix 10, false for 16 108 | 109 | bool carry; // carry being generated in current instruction 110 | bool prev_carry; // carry that resulted from previous instruction 111 | 112 | int prev_tef_last; // last digit of field of previous arith. instruction 113 | // used to simulate bug in logical or and and 114 | 115 | //bool s [SSIZE]; 116 | uint16_t s; 117 | 118 | rom_addr_t pc; 119 | //rom_addr_t prev_pc; 120 | 121 | rom_addr_t stack [STACK_DEPTH]; 122 | 123 | rom_addr_t cxisa_addr; 124 | 125 | inst_state_t inst_state; 126 | 127 | rom_word_t first_word; /* long branch: remember first word */ 128 | bool long_branch_carry; /* and carry */ 129 | 130 | bool key_down; /* true while a key is down */ 131 | keyboard_state_t kb_state; 132 | int kb_debounce_cycle_counter; 133 | int key_buf; /* most recently pressed key */ 134 | 135 | bool awake; 136 | 137 | void (* op_fcn [1024])(struct nut_reg_t *nut_reg, int opcode); 138 | 139 | rom_word_t *rom; 140 | 141 | // RAM: 142 | uint16_t ram_addr; // selected RAM address 143 | bool *ram_exists; 144 | reg_t *ram; 145 | //ram_access_fn_t **ram_read_fn; 146 | //ram_access_fn_t **ram_write_fn; 147 | 148 | uint16_t ext_flag; 149 | 150 | //uint8_t selprf; // selected "smart peripheral" number 151 | 152 | voyager_display_reg_t *display_chip; 153 | 154 | //int display_digits; 155 | //segment_bitmap_t display_segments [MAX_DIGIT_POSITION]; 156 | 157 | uint16_t max_ram; 158 | } cpu_t; 159 | 160 | cpu_t * nut_new_processor (int ram_size); 161 | bool nut_read_object_file (cpu_t *nut_reg, const char *fn); 162 | void nut_press_key (cpu_t *nut_reg, int keycode); 163 | void nut_release_key (cpu_t *nut_reg); 164 | bool nut_execute_instruction (cpu_t *nut_reg); 165 | 166 | char* reg2str (char *str, reg_t reg); 167 | void str2reg(reg_t reg, const char *str); -------------------------------------------------------------------------------- /other/TransparentWindow.m: -------------------------------------------------------------------------------- 1 | // 2 | // TransparentWindow.m 3 | // nonpareil 4 | // 5 | // Created by Maciej Bartosiak on 05-09-09. 6 | // Based on source code from RoundTransparentWindow.app from Apple. 7 | // 8 | /* 9 | Copyright: © Copyright 2001 Apple Computer, Inc. All rights reserved. 10 | 11 | Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 12 | ("Apple") in consideration of your agreement to the following terms, and your 13 | use, installation, modification or redistribution of this Apple software 14 | constitutes acceptance of these terms. If you do not agree with these terms, 15 | please do not use, install, modify or redistribute this Apple software. 16 | 17 | In consideration of your agreement to abide by the following terms, and subject 18 | to these terms, Apple grants you a personal, non-exclusive license, under Apple’s 19 | copyrights in this original Apple software (the "Apple Software"), to use, 20 | reproduce, modify and redistribute the Apple Software, with or without 21 | modifications, in source and/or binary forms; provided that if you redistribute 22 | the Apple Software in its entirety and without modifications, you must retain 23 | this notice and the following text and disclaimers in all such redistributions of 24 | the Apple Software. Neither the name, trademarks, service marks or logos of 25 | Apple Computer, Inc. may be used to endorse or promote products derived from the 26 | Apple Software without specific prior written permission from Apple. Except as 27 | expressly stated in this notice, no other rights or licenses, express or implied, 28 | are granted by Apple herein, including but not limited to any patent rights that 29 | may be infringed by your derivative works or by other works in which the Apple 30 | Software may be incorporated. 31 | 32 | The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 33 | WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 34 | WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 35 | PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 36 | COMBINATION WITH YOUR PRODUCTS. 37 | 38 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 39 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 40 | GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 41 | ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 42 | OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 43 | (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 44 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 45 | 46 | Change History (most recent first): 47 | 48 | 03/2001 - MCF - initial version 49 | 50 | */ 51 | 52 | #import "TransparentWindow.h" 53 | 54 | @implementation TransparentWindow 55 | 56 | - (id)initWithContentRect:(NSRect)contentRect 57 | styleMask:(NSUInteger)aStyle 58 | backing:(NSBackingStoreType)bufferingType 59 | defer:(BOOL)flag 60 | { 61 | 62 | NSWindow* result = [super initWithContentRect:contentRect 63 | styleMask:NSTexturedBackgroundWindowMask 64 | backing:bufferingType 65 | defer:flag]; 66 | 67 | [result setBackgroundColor: [NSColor clearColor]]; 68 | 69 | [result setLevel: NSNormalWindowLevel]; 70 | [result setOpaque:NO]; 71 | [result setHasShadow: YES]; 72 | return (id)result; 73 | } 74 | 75 | - (void)mouseDown:(NSEvent *)theEvent 76 | { 77 | NSRect windowFrame = [self frame]; 78 | 79 | //grab the mouse location in global coordinates 80 | initialLocation = [self convertBaseToScreen:[theEvent locationInWindow]]; 81 | initialLocation.x -= windowFrame.origin.x; 82 | initialLocation.y -= windowFrame.origin.y; 83 | } 84 | 85 | - (void)mouseDragged:(NSEvent *)theEvent 86 | { 87 | NSPoint currentLocation; 88 | NSPoint newOrigin; 89 | NSRect screenFrame = [[NSScreen mainScreen] frame]; 90 | NSRect windowFrame = [self frame]; 91 | 92 | //grab the current global mouse location; we could just as easily get the mouse location 93 | //in the same way as we do in -mouseDown: 94 | currentLocation = [self convertBaseToScreen:[self mouseLocationOutsideOfEventStream]]; 95 | newOrigin.x = currentLocation.x - initialLocation.x; 96 | newOrigin.y = currentLocation.y - initialLocation.y; 97 | 98 | // Don't let window get dragged up under the menu bar 99 | if( (newOrigin.y+windowFrame.size.height) > (screenFrame.origin.y+screenFrame.size.height) ){ 100 | newOrigin.y=screenFrame.origin.y + (screenFrame.size.height-windowFrame.size.height); 101 | } 102 | 103 | //go ahead and move the window to the new location 104 | [self setFrameOrigin:newOrigin]; 105 | } 106 | 107 | /*- (BOOL) canBecomeMainWindow 108 | { 109 | return YES; 110 | }*/ 111 | 112 | - (BOOL) canBecomeKeyWindow 113 | { 114 | return YES; 115 | } 116 | 117 | @end 118 | -------------------------------------------------------------------------------- /voyager/VoyagerDisplayView.m: -------------------------------------------------------------------------------- 1 | /* 2 | $Id$ 3 | Copyright 1995, 2003, 2004, 2005 Eric L. Smith 4 | 5 | Nonpareil is free software; you can redistribute it and/or modify it 6 | under the terms of the GNU General Public License version 2 as 7 | published by the Free Software Foundation. Note that I am not 8 | granting permission to redistribute or modify Nonpareil under the 9 | terms of any later version of the General Public License. 10 | 11 | Nonpareil is distributed in the hope that it will be useful, but 12 | WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program (in the file "COPYING"); if not, write to the 18 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 | MA 02111, USA. 20 | */ 21 | 22 | // 23 | // VoyagerDisplayView.m 24 | // nonpareil 25 | // 26 | // Created by Maciej Bartosiak on 2005-09-09. 27 | // Copyright 2005-2012 Maciej Bartosiak 28 | // 29 | 30 | #import "VoyagerDisplayView.h" 31 | 32 | @implementation VoyagerDisplayView 33 | 34 | - (id)initWithFrame:(NSRect)frameRect 35 | { 36 | //NSFont *font; 37 | 38 | if ((self = [super initWithFrame:frameRect]) != nil) 39 | { 40 | ds = NULL; 41 | dc = 0; 42 | 43 | attrs = [[NSMutableDictionary alloc] init]; 44 | [attrs setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName]; 45 | 46 | if (([NSFont fontWithName:@"Monaco" size:9.0]) != nil) 47 | [attrs setObject:[NSFont fontWithName:@"Monaco" size:9.0] forKey:NSFontAttributeName]; 48 | else 49 | [attrs setObject:[NSFont systemFontOfSize:9.0] forKey:NSFontAttributeName]; 50 | } 51 | return self; 52 | } 53 | 54 | - (void)drawRect:(NSRect)rect 55 | { 56 | int num; 57 | 58 | if (ds == NULL) 59 | return; 60 | 61 | [[NSColor blackColor] set]; 62 | 63 | for (num = 0; num < dc; num++) 64 | if (ds[num]) // we don't want to draw empty digit 65 | [[digits objectAtIndex: num] drawDigit:ds[num]]; 66 | 67 | 68 | // Now is time for annunciatiors 69 | 70 | #define ANNUNC_OFF 5.0 71 | if (((ds[1] >> 17) & 1)) 72 | [[NSString stringWithUTF8String: "*"] drawAtPoint: NSMakePoint(15.0,ANNUNC_OFF) 73 | withAttributes: attrs]; 74 | if (((ds[2] >> 17) & 1)) 75 | [[NSString stringWithUTF8String: "USER"] drawAtPoint: NSMakePoint(47.0,ANNUNC_OFF) 76 | withAttributes: attrs]; 77 | if (((ds[3] >> 17) & 1)) 78 | [[NSString stringWithUTF8String: "f"] drawAtPoint: NSMakePoint(89.0,ANNUNC_OFF) 79 | withAttributes: attrs]; 80 | if (((ds[4] >> 17) & 1)) 81 | [[NSString stringWithUTF8String: "g"] drawAtPoint: NSMakePoint(107.0,ANNUNC_OFF) 82 | withAttributes: attrs]; 83 | if (((ds[5] >> 17) & 1)) 84 | [[NSString stringWithUTF8String: "BEGIN"] drawAtPoint: NSMakePoint(125.0,ANNUNC_OFF) 85 | withAttributes: attrs]; 86 | if (((ds[6] >> 17) & 1)) 87 | [[NSString stringWithUTF8String: "G"] drawAtPoint: NSMakePoint(183.0,ANNUNC_OFF) 88 | withAttributes: attrs]; 89 | if (((ds[7] >> 17) & 1)) 90 | [[NSString stringWithUTF8String: "RAD"] drawAtPoint: NSMakePoint(189.0,ANNUNC_OFF) 91 | withAttributes: attrs]; 92 | if (((ds[8] >> 17) & 1)) 93 | [[NSString stringWithUTF8String: "D.MY"] drawAtPoint: NSMakePoint(212.0,ANNUNC_OFF) 94 | withAttributes: attrs]; 95 | if (((ds[9] >> 17) & 1)) 96 | [[NSString stringWithUTF8String: "C"] drawAtPoint: NSMakePoint(246.0,ANNUNC_OFF) 97 | withAttributes: attrs]; 98 | if (((ds[10] >> 17) & 1)) 99 | [[NSString stringWithUTF8String: "PRGM"] drawAtPoint: NSMakePoint(273.0,ANNUNC_OFF) 100 | withAttributes: attrs]; 101 | 102 | [self setNeedsDisplay: NO]; 103 | } 104 | 105 | //- (void)setupDisplayWith:(segment_bitmap_t *)disps count: (int)count 106 | - (void)setupDisplayWith: (segment_bitmap_t *)disps 107 | count: (int) count 108 | yOffset: (float) y 109 | digitHeight: (float) digitHeight 110 | digitWidth: (float) digitWidth 111 | digitOffset: (float) digitOffset 112 | digitShare: (float) digitShare 113 | digitStroke: (float) digitStroke 114 | dotOffset: (float) dotOffset 115 | { 116 | VoyagerDigit *dig; 117 | NSMutableArray *tmp; 118 | 119 | int i; 120 | float xOff = ([self frame].size.width - ((count) * (digitWidth + digitOffset)))/2.0; 121 | dc = count; 122 | ds = disps; 123 | 124 | tmp = [NSMutableArray arrayWithCapacity: dc]; 125 | 126 | for (i = 0; i < dc; i++) 127 | { 128 | /*dig = [[VoyagerDigit alloc] initWithDigitHeight: (float) 25.0 129 | width: (float) 15.0 130 | share: (float) 0.1 131 | stroke: (float) 3.5 132 | dotOffset: (float) 3.0 133 | x: (float) xoff 134 | y: (float) 24.0];*/ 135 | dig = [[VoyagerDigit alloc] initWithDigitHeight: digitHeight 136 | width: digitWidth 137 | share: digitShare 138 | stroke: digitStroke 139 | dotOffset: dotOffset 140 | x: xOff 141 | y: y]; 142 | [tmp insertObject: dig atIndex: i]; 143 | xOff += (digitWidth + digitOffset); 144 | } 145 | 146 | digits = [[NSArray alloc] initWithArray: tmp]; 147 | } 148 | 149 | @end 150 | --------------------------------------------------------------------------------