arc@desire.wright.edu (07/02/90)
SOME GENERAL COMPATIBILITY PROBLEM AREAS Generally fatal with any new OS: - Calling ROM code directly - Requiring all free RAM - Shaving stack size too close Often disastrous with new OS or hardware: - Depending on unsupported side effects - Bad flags/registers/condition code handling - Poking / peeking private system structures - Assuming current choices or configurations - Processor speed/instruction dependencies Strap: - romboot.library is gone - boot from other floppies (+5,-10,-20,-30) Exec: - Everything has moved, of course - Exec handles early expansion - Cold Capture done later - Exception/Interrupt vectors may move (VBR) - Size and types of MemHeaders may change - Survive reboot may break - new provided Expansion: - Two pass config, address slot reordering - ExpansionBase private - Use FindConfigDev() DOS: - Real library base with regular LVO vectors - Stack use all changed (variables, direction) - New packet and lock types - Process struct bigger, roll-your-own fails Workbench: - New sizes, depths, modes, fonts - Default Tool searches paths - New Look icons ( boxed ) Intuition: - Private IBase variables moved/changed - Poking IBase Max Mouse variables now a no-op - Poking other private variables may be fatal - Larger screens, new modes, overscan support - GetScreenData() not enough to clone a screen - Scrollable screens (Left-Amiga/select stolen) - Rawkey|Vanillakey gives raw fkeys, help, etc. - Move SimpleRefresh win may not send refresh Layers: - Use NewLayerInfo() to create not FattenLayerInfo,ThinLayerInfo,InitLayers - Simple-refresh preserves all pixels it can Graphics: - Copper lists changed, illegal poking breaks - ColorMap bigger, must GetColorMap() to create - Blitter rtns decide ascend/descend on 1st plane - Some flying mode changes may break - GfxBase DisplayFlags and row/cols may != WB Fonts: - Some format changes (old format supported) - Private format of .font files has changed - Default font may be larger, proportional - Topaz is now sans-serif - Size created via bitmap scale if requested CLI / Shell: - Many more commands built-in (no longer in C:) - Limit of 20 gone, DOSBase CLI table changed - EOF char passed for Close Gadget in CLI This is -1L from CON: getchar, close gad esc seq from raw - Uses simple-refresh character-mapped console Console: - CON: default is character-mapped console - Superbitmap console now has cursor (bug fixed) Audio.device: - Not initialized until used - This means lo-mem open failure possible Gameport.device: - Currently exclusive access Serial.device: - Clears io_Device on CloseDevice() Multi-Serial Boards: - May not support all params - So serial SetParams command may fail Timer.device: - Timer.device now trashes request as doc'd - IO_QUICK may defer and reply as doc'd Trackdisk: - Private trackdisk structures changed - Buffer freeable, lo-mem open fail possible CIA Timers: - CIAA Timer A is used by the system - CIAB Timer A and B currently available Hardware: - New RAM amounts and addresses - 32-bit addrs (trashed hi byte now matters) - New registers and bits - Battery-backed clock different New Look: - New default colors, new gadget images - Inner border line render - Window borders filled on active AND inactive That's the new info on Amiga's OS 2.0 for you all! COol, huh?