HATARI(1) HATARI(1)

hatari - شبیه‌ساز Atari ST/STE/TT/Falcon

hatari [گزینه‌ها] [دایرکتوری|تصویر_دیسک|برنامه]

Hatari یک شبیه‌ساز Atari ST/STE/TT/Falcon برای لینوکس و سایر سیستم‌هایی است که توسط کتابخانه SDL (کتابخانه گرافیک، ورودی و صدای چندسکویی) پشتیبانی می‌شوند.

با Hatari می‌توان بازی‌ها، دموها یا برنامه‌های کاربردی نوشته‌شده برای Atari ST، STE یا Falcon را اجرا کرد. پشتیبانی از Atari TT آزمایشی است. Hatari از تصاویر دیسک پرکاربرد *.st،‏ *.msa و *.stx و همچنین شبیه‌سازی دیسک سخت پشتیبانی می‌کند.

برای اجرای شبیه‌ساز، به یک تصویر TOS ROM نیاز است. EmuTOS، که یک پیاده‌سازی آزاد از TOS است، همراه با Hatari عرضه می‌شود. این نسخه سریع‌تر از نسخه‌های اصلی TOS بوت می‌شود و به درایورهای دیسک سخت مجزا نیازی ندارد، اما برخی از برنامه‌های دارای ایراد (معمولاً برنامه‌های مخصوص فلاپی دیسک) ممکن است با آن به درستی کار نکنند. برای بهترین سازگاری، توصیه می‌شود از یک TOS ROM از یک رایانه واقعی Atari استفاده شود.

به‌عنوان آرگومان، می‌توان نام یک دایرکتوری را داد تا به صورت یک دیسک سخت مجازی GEMDOS شبیه‌سازی شود، یا تصویر یک فلاپی دیسک، یا یک برنامه Atari که باید به‌طور خودکار آغاز شود. در حالت آخر، دایرکتوری برنامه به‌عنوان درایو :C در نظر گرفته خواهد شد که برنامه از آنجا شروع می‌شود. این میان‌برها متناظر با گزینه‌های “-d <dir>”،‏ “--disk-a <تصویر فلاپی>” و “-d <dir> --auto C:\<برنامه>” هستند.

راه‌اندازی (بوت) از تصویر دیسک یا دایرکتوری‌ای انجام خواهد شد که در آخرین بخش خط فرمان چه به‌عنوان گزینه و چه به‌عنوان آرگومان داده شده باشد (و متناظر با :A یا :C است).

گزینه‌های Hatari به چندین دسته‌بندی تقسیم می‌شوند:

چاپ گزینه‌های خط فرمان و پایان اجرا
چاپ اطلاعات نسخه و پایان اجرا
تعیین اینکه آیا Hatari قبل از خروج تأییدیه بخواهد یا خیر
خواندن مقادیر پیکربندی اضافی از <فایل>؛ این مقادیر بر مقادیر خوانده‌شده از فایل‌های پیکربندی سراسری و کاربر اولویت دارند
بارگذاری نگاشت صفحه‌کلید از <فایل>. نگاشت «نمادین» (Symbolic) به‌عنوان جایگزین برای کلیدهایی که در آنجا تعریف نشده‌اند استفاده خواهد شد
تنظیم کد کشور EmuTOS ROM در دستگاه‌های Mega/ST/STe فاقد NVRAM، در زمانی که EmuTOS اعلام کند از چندین کشور پشتیبانی می‌کند.

در تصاویر ۵۱۲ کیلوبایتی EmuTOS، کد کشور چیدمان صفحه‌کلید TOS و نرخ تازه‌سازی صفحه نمایش را تعیین می‌کند (US = 60Hz NTSC، و در غیر این صورت 50Hz PAL). در تصاویر ۱۰۲۴ کیلوبایتی EmuTOS (که همراه با باینری‌های Hatari عرضه شده و از چندین زبان پشتیبانی می‌کنند)، کد کشور زبان TOS را نیز مشخص می‌کند.

همچنین، می‌توان از ابزار “tos-lang-change” از پروژه EmuTOS برای تغییر کد کشور در خود فایل تصویر ROM استفاده کرد. این ابزار برای TOS v4 نیز کار می‌کند.

تنظیم مقدار چیدمان صفحه‌کلید NVRAM. در حالی که هر دو دستگاه TT و Falcon دارای NVRAM هستند، فقط TOS v4 و نسخه‌های ۵۱۲k / ۱۰۲۴k از رام EmuTOS از چندین چیدمان پشتیبانی می‌کنند.

صرف‌نظر از اینکه تغییر چیدمان صفحه‌کلید از طریق کد کشور ROM انجام شود یا تنظیمات NVRAM، این کار ممکن است بر نگاشت‌های کلید در فایل‌های نگاشت کلید Hatari، آرگومان‌های رابط کاربری پایتون Hatari، یا تزریق کلید در اسکریپت‌های خودکارسازی شما برای دیباگر Hatari، لوله FIFO دستور یا ابزار hconsole تأثیر بگذارد.

تنظیم مقدار زبان NVRAM. در حالی که هر دو دستگاه TT و Falcon دارای NVRAM هستند، فقط نسخه‌های TOS v4 و رام‌های ۱۰۲۴k متعلق به EmuTOS از چندین زبان پشتیبانی می‌کنند. پیش‌فرض از متغیر محیطی LANG گرفته می‌شود.
حرکت سریع به جلو در بخش‌های خسته‌کننده با اجرای شبیه‌ساز در حداکثر سرعت. این کار با نادیده گرفتن انتظارهای VBL به‌روزرسانی فریم انجام می‌شود. حد بالای رد کردن فریم با گزینه --frameskips تعیین شده و در فیلد “FS” در نوار وضعیت نمایش داده می‌شود.
اجرای خودکار برنامه مشخص‌شده، در صورتی که TOS آن را پیدا کند. برنامه باید با مسیر کاملی که در شبیه‌سازی خواهد داشت داده شود، برای مثال “C:\DIR\PROGRAM.PRG”. این قابلیت با ارائه یک فایل INF مجازی برای درایو بوت (:A یا :C) به TOS پیاده‌سازی شده است، که به TOS فرمان می‌دهد برنامه مشخص‌شده را اجرا کند. --fast-forward-key-repeat <bool> استفاده از تکرار خودکار صفحه‌کلید هنگام استفاده از حالت حرکت سریع به جلو (پیش‌فرض true)
راه‌اندازی در حالت تک‌رنگ (monochrome) به‌جای رنگی
انتخاب نوع مانیتور (x = mono/rgb/vga/tv)
انتخاب تفکیک‌پذیری TOS برای مانیتورهای رنگی (x = low/med/high/ttlow/ttmed)
راه‌اندازی شبیه‌ساز در حالت تمام‌صفحه
راه‌اندازی شبیه‌ساز در حالت پنجره‌ای
به‌دام‌انداختن موشواره (همچنین) در حالت پنجره‌ای
اجازه تغییر اندازه پنجره
نمایش حاشیه‌های صفحه ST/STE/Falcon (برای دموهای overscan در تفکیک‌پذیری low/med)
پرش از روی <x> فریم پس از هر فریم نمایش‌داده‌شده جهت افزایش سرعت شبیه‌سازی (0=غیرفعال، >4 از پرش خودکار فریم با مقدار مشخص‌شده به‌عنوان بیشینه استفاده می‌کند)
کاهش سرعت شبیه‌سازی با ضریب x (به‌عنوان ضریب زمان انتظار VBL استفاده می‌شود)
جهت هماهنگی بهتر موشواره میزبان با نشانگر موشواره Atari، قرار دادن آن در مرکز پنجره Hatari هنگام راه‌اندازی مجدد سرد (cold reset) و تغییرات تفکیک‌پذیری
نمایش نوار وضعیت (همراه با نشانگرهای LED فلاپی و غیره)
نمایش نشانگر پوششی (overlay) درایو هنگامی که نوار وضعیت نمایش داده نمی‌شود
عرض ترجیحی / بیشینه صفحه Hatari
ارتفاع ترجیحی / بیشینه صفحه Hatari.

گزینه‌های بیشینه عرض و ارتفاع بخشی از شبیه‌سازی مانیتور Atari در Hatari هستند. آن‌ها اندازه‌ای را که Hatari باید برای بافر فریم (framebuffer) داخلی SDL خود در نظر بگیرد و همچنین میزان نمایش حاشیه‌های صفحه Atari را محدود می‌کنند.

سپس بافر فریم بر اساس ضریب بزرگ‌نمایی (zoom factor) تعیین‌شده برای Hatari، در پنجره خروجی مقیاس‌بندی می‌شود (پایین را ببینید).

هدف از این کار، نمایش تمام تفکیک‌پذیری‌ها در اندازه‌ای تقریباً یکسان، همانند یک مانیتور واقعی Atari است. پشتیبانی داخلی Hatari از مقیاس‌بندی با اعداد صحیح (integer scaling) محدودیت‌هایی بر این امر اعمال می‌کند، بنابراین این یک گزینه تخصصی است.

نکته: تنها دلیل برای تغییر مقادیر پیش‌فرض باید محدود کردن آن به تفکیک‌پذیری کوچک‌تر به‌منظور بهبود کارایی باشد؛ مثلاً برای ضبط ویدیو، یا در سیستم‌های بسیار ضعیف، تا با وادار کردن Hatari به درخواست تفکیک‌پذیری CGA / QVGA از SDL، مانیتور کل مقیاس‌بندی تفکیک‌پذیری ST-low را انجام دهد.

این گزینه بر تنظیمات گزینه‌های بیشینه عرض/ارتفاع تقدم دارد، به‌طوری که برای مثال تفکیک‌پذیری ST-low همیشه دو برابر می‌شود و تمام تفکیک‌پذیری‌ها (به‌جز TT-high) اندازه‌ای تقریباً یکسان، همانند یک مانیتور واقعی CRT خواهند داشت.

سپس از ضریب بزرگ‌نمایی برای افزایش (یا کاهش) مقیاس آن به پنجره خروجی Hatari استفاده می‌شود. به این ترتیب، مقیاس‌بندی همیشه منجر به پنجره‌ای با اندازه تقریباً یکسان در Hatari می‌شود.

در ضرایب بزرگ‌نمایی غیرصحیح، از مقیاس‌بندی خطی برای هموارسازی خروجی استفاده می‌شود؛ در ضرایب بزرگ‌نمایی صحیح، مقیاس‌بندی با استفاده از نزدیک‌ترین پیکسل‌های همسایه (nearest neighbor) برای داشتن خروجی شارپ‌تر انجام می‌گیرد. این مورد برای تغییر اندازه پنجره نیز اعمال می‌شود.

برای جلوگیری از بزرگ‌نمایی تفکیک‌پذیری‌های پایین، از “--zoom 1 --max-width 416 --max-height 276” استفاده کنید (اگر به حاشیه‌ها نیازی ندارید، اندازه 320x200 کافی است). غیرفعال کردن دوبرابر شدن تفکیک‌پذیری‌های پایین به این روش برای شبیه‌سازی Falcon توصیه نمی‌شود، زیرا راه‌اندازی TOS v4 و برخی از دموها به‌طور مکرر تفکیک‌پذیری را تغییر می‌دهند.

اجبار عمق بیت (bitdepth) داخلی (x = 8/15/16/32، 0=غیرفعال)
اجرای شبیه‌سازی بدون نمایش ویدیو (فقط صدا).SH "گزینه‌های نمایش ویژه ST/STE (ST/STE specific display options)"
‏Hatari از این آستانه استفاده می‌کند تا تصمیم بگیرد چه زمانی صفحه را با توابع تبدیل صفحهٔ کندتر اما دقیق‌تر Spectrum512 رندر کند (0 <= x <= 512، 0=غیرفعال).
وضعیت بیدارباش (Wakeup State) برای MMU/GLUE (مقادیر x=ws1/ws2/ws3/ws4/random، پیش‌فرض ws3). هنگام روشن شدن، STF به‌طور تصادفی یکی از این وضعیت‌های بیدارباش را انتخاب می‌کند. این وضعیت سپس بر زمان‌بندی‌هایی که در آن‌ها حذف حاشیه‌ها و سایر ترفندهای ویدیویی باید اعمال شوند تأثیر می‌گذارد، که می‌تواند نتایج متفاوتی را روی صفحه نمایش دهد. به عنوان مثال، WS3 به سازگاری با بسیاری از دموها شناخته می‌شود، در حالی که WS1 می‌تواند مشکلات بیشتری را نشان دهد.

بزرگ‌نمایی به اندازه‌های مشخص‌شده در زیر، در داخل برنامه با استفاده از ضرایب مقیاس‌بندی صحیح (integer scaling) انجام می‌شود. این بدان معناست که رزولوشن‌های مختلف Atari ممکن است در اندازه‌های متفاوتی ظاهر شوند، اما هرگز تار نخواهند بود.

مشخص می‌کند که آیا برای جلوگیری از مشکلات مربوط به تغییر رزولوشن، از رزولوشن میزکار در حالت تمام‌صفحه استفاده شود یا خیر. در غیر این صورت، حالت تمام‌صفحه از رزولوشنی استفاده خواهد کرد که نزدیک‌ترین به اندازهٔ پنجرهٔ Hatari باشد (به‌طور پیش‌فرض فعال است).
اندازهٔ پنجرهٔ Hatari به حداکثر اندازهٔ مشخص‌شده اجبار می‌شود و هنگامی که رزولوشن Atari به‌طور یکنواخت با آن مقیاس نشود، حاشیه‌های سیاه به کار می‌روند. این گزینه هنگام ضبط ویدیو از دموهای Falcon که رزولوشن خود را تغییر می‌دهند بیشترین کاربرد را دارد (به‌طور پیش‌فرض غیرفعال است).
مشخص می‌کند که آیا تصحیح نسبت تصویر (aspect ratio) نمایشگر انجام شود یا خیر (به‌طور پیش‌فرض فعال است).

مشخص می‌کند که آیا از حالت صفحهٔ VDI استفاده شود یا خیر. با TOS v4 کار نمی‌کند. تشخیص حافظه در TOS v3 با حالت‌های بزرگ‌تر VDI سازگار نیست (یعنی باید در زمان راه‌اندازی از تشخیص حافظه صرف‌نظر کنید). میزکارهای اصلی TOS زمانی که ارتفاع صفحه بیشتر یا مساوی ۴۰۰ پیکسل باشد (screen height >= 400)، در حالت VDI دو صفحه‌ای (۴ رنگ) از اندازهٔ پنجرهٔ نادرستی استفاده می‌کنند. به دلیل این مشکلات، استفاده از EmuTOS برای حالت VDI توصیه می‌شود.
استفاده از رزولوشن گسترش‌یافتهٔ VDI با عمق بیتی <x> (مقادیر x برابر با 1، 2 یا 4).
استفاده از رزولوشن گسترش‌یافتهٔ VDI با عرض <w> (مقادیر 320 < w <= 2048).
استفاده از رزولوشن گسترش‌یافتهٔ VDI با ارتفاع <h> (مقادیر 160 < h <= 1280).

از آنجا که TOS و برنامه‌های محبوب GEM با اندازه‌های خاصی از صفحه مشکل دارند، Hatari محدودیت‌هایی را بر اندازهٔ صفحهٔ VDI اعمال می‌کند. در مجموع، اندازهٔ صفحهٔ VDI به ۳۲ تا ۳۰۰ کیلوبایت (32-300kB)، عرض به مضربی از 16/planes، و ارتفاع به مضربی از ۸ پیکسل (ارتفاع قلم کوچک‌تر سیستم) محدود است. این به بیشینهٔ رزولوشن‌های استاندارد زیر برای حالت VDI ترجمه می‌شود:

تک‌رنگ (monochrome)
‏FullHD (1920x1080)، WUXGA (1920x1200) و QWXGA (2048x1152)
حالت ۲ صفحه‌ای (۴ رنگ)
‏HD (1280x720)، WXGA (1280x768) و XGA+ (1152x864)
حالت ۴ صفحه‌ای (۱۶ رنگ)
‏qHD (960x540)، DVGA (960x640) و WSVGA (1024x600)

حذف نوار وضعیت (statusbar) از تصاویر ضبط‌شده از صفحه.
شروع ضبط AVI. توجه: با تغییر رزولوشن شبیه‌سازی، ضبط به‌طور خودکار متوقف خواهد شد.
انتخاب کدک ویدیویی AVI (مقادیر x = bmp/png). فشرده‌سازی PNG می‌تواند بسیار کندتر از استفاده از قالب فشرده‌نشدهٔ BMP باشد، اما محتوای ویدیویی فشرده‌نشده حجم بسیار زیادی از فضا را اشغال می‌کند.
انتخاب سطح فشرده‌سازی PNG برای ویدیوی AVI (مقادیر x = 0-9). کارایی فشرده‌سازی و سرعت هر دو به محتوای فشرده‌شدهٔ صفحه بستگی دارند. بالاترین سطح فشرده‌سازی (9) می‌تواند با برخی محتواها واقعاً کند باشد. سطوح ۳ تا ۶ با بار پردازشی به مراتب کمتر روی CPU، تقریباً به همان اندازه فشرده‌سازی انجام می‌دهند.
تحمیل نرخ فریم AVI (مقادیر x = 50/60/71/...).
استفاده از <file> برای ضبط فایل AVI.
دایرکتوری ذخیرهٔ نماگرفت‌ها (screenshots) (دایرکتوری پیش‌فرض Hatari برای آن‌ها وابسته به سیستم‌عامل است)..SH "گزینه‌های دستگاه‌ها (Devices options)"
شبیه‌سازی جوی‌استیک با کلیدهای جهت‌نما در درگاه مشخص‌شده (0-5)
تنظیم نوع جوی‌استیک (none/keys/real) برای درگاه مشخص‌شده
فعال‌سازی پشتیبانی از چاپگر و نوشتن داده‌ها در <file>
تعیین فعال بودن پشتیبانی از دستگاه MIDI (زمانی که Hatari با پشتیبانی از PortMidi ساخته شده باشد)
فعال‌سازی پشتیبانی از MIDI و نوشتن داده‌های خام MIDI در <file> (زمانی که بدون پشتیبانی از PortMidi ساخته شده باشد)
فعال‌سازی پشتیبانی از MIDI و خواندن داده‌های خام MIDI از <file> (زمانی که بدون پشتیبانی از PortMidi ساخته شده باشد)
فعال‌سازی پشتیبانی از درگاه سریال MFP و استفاده از <file> به‌عنوان دستگاه ورودی
فعال‌سازی پشتیبانی از درگاه سریال MFP و استفاده از <file> به‌عنوان دستگاه خروجی
فعال‌سازی پشتیبانی از درگاه سریال کانال A در SCC و استفاده از <file> برای ورودی (تنها برای Mega-STE، TT و Falcon)
فعال‌سازی پشتیبانی از درگاه سریال کانال A در SCC و استفاده از <file> برای خروجی (تنها برای Mega-STE، TT و Falcon)
فعال‌سازی پشتیبانی از درگاه شبکه (LAN) کانال A در SCC و استفاده از <file> برای ورودی (تنها برای Mega-STE و TT)
فعال‌سازی پشتیبانی از درگاه شبکه (LAN) کانال A در SCC و استفاده از <file> برای خروجی (تنها برای Mega-STE و TT)
فعال‌سازی پشتیبانی از درگاه سریال کانال B در SCC و استفاده از <file> برای ورودی (تنها برای Mega-STE، TT و Falcon)
فعال‌سازی پشتیبانی از درگاه سریال کانال B در SCC و استفاده از <file> برای خروجی (تنها برای Mega-STE، TT و Falcon)

فعال/غیرفعال کردن درایو A (پیش‌فرض on است)
فعال/غیرفعال کردن درایو B (پیش‌فرض on است)
تنظیم تعداد هدها برای درایو A (1=یک‌رو، 2=دورو)
تنظیم تعداد هدها برای درایو B (1=یک‌رو، 2=دورو)
تنظیم تصویر دیسک برای درایو فلاپی A
تنظیم تصویر دیسک برای درایو فلاپی B
افزایش سرعت شبیه‌سازی FDC (می‌تواند موجب ناسازگاری شود)
حفاظت در برابر نوشتن روی محتوای تصویر فلاپی (on/off/auto). با گزینهٔ «auto» حفاظت در برابر نوشتن مطابق با مشخصه‌های فایل تصویر دیسک تعیین می‌شود.SH "گزینه‌های دیسک سخت (Hard drive options)"
شبیه‌سازی GEMDOS HD. شبیه‌سازی پارتیشن(های) دیسک سخت با محتویات <dir>. اگر دایرکتوری فقط شامل زیردایرکتوری‌های تک‌حرفی (C-Z) باشد، با هر یک از این زیردایرکتوری‌ها به عنوان یک پارتیشن جداگانه رفتار خواهد شد؛ در غیر این صورت، خود دایرکتوری مشخص‌شده به درایو "C:" تخصیص داده می‌شود. در حالت چندپارتیشنی، حروفی که به عنوان نام زیردایرکتوری‌ها استفاده شده‌اند مشخص می‌کنند که به کدام درایوها/پارتیشن‌ها تخصیص یابند. اگر <dir> یک رشته خالی باشد، شبیه‌سازی دیسک سخت غیرفعال می‌شود.
محافظت از نوشتن روی محتویات <dir> دیسک سخت (on/off/auto). با گزینه "auto" می‌توان حفاظت را با تنظیم مشخصه‌های تک‌تک فایل‌ها کنترل کرد، زیرا این گزینه تغییرات مشخصه فایل را برای شبیه‌سازی دیسک سخت GEMDOS غیرفعال می‌کند.
مشخص می‌کند که آیا نام‌های دایرکتوری/فایل‌های جدید در شبیه‌سازی GEMDOS HD به حروف بزرگ یا کوچک اجبار شوند یا خیر. مقادیر ممکن off/upper/lower است؛ به‌طور پیش‌فرض off می‌باشد.
مشخص می‌کند که چه برچسب زمانی تغییر فایلی استفاده شود؛ برچسب‌های داخلی شبیه‌سازی (atari)، یا برچسب‌های ماشین میزبان (host) که شبیه‌ساز روی آن در حال اجرا است. هرچند ساعت‌های شبیه‌سازی Atari و میزبان در زمان راه‌اندازی Hatari همگام هستند، اما در حین اجرای شبیه‌سازی، به‌ویژه در صورت استفاده از دور تند (fast forward)، از یکدیگر فاصله می‌گیرند. پیش‌فرض "atari" است. اگر فایل‌هایی را که سمت Atari به آن‌ها دسترسی دارد، مستقیماً از سمت میزبان و در حالی که Hatari در حال اجرا است تغییر می‌دهید، ممکن است بخواهید از گزینه "host" استفاده کنید.
تعیین می‌کند که آیا نام‌های فایل GEMDOS با نویسه‌های ۸-بیتی (غیر ASCII) بین مجموعه‌نویسه‌های Atari و میزبان تبدیل شوند یا خیر. در لینوکس، مجموعه‌نویسه نام فایل میزبان UTF-8 فرض می‌شود. این گزینه به‌طور پیش‌فرض غیرفعال است، برای مواردی که فایل‌ها را بدون تبدیل مناسب نام فایل از ماشین Atari منتقل کرده‌اید (مثلاً با فشرده‌سازی آن‌ها روی Atari و استخراج روی رایانه شخصی).
تخصیص GEMDOS HD (که به‌طور جداگانه مشخص شده) به حرف درایو داده‌شده (C-Z) به جای مقدار پیش‌فرض C:، یا استفاده از "skip" برای مشخص کردن اینکه Hatari باید GEMDOS HD را پس از درایوهای IDE و ACSI اضافه کند (با این فرض که Hatari و راه‌انداز بومی HD تعداد یکسانی از پارتیشن‌ها را از جدول‌های پارتیشن در تصویرهای دیسک پردازش می‌کنند).
شبیه‌سازی یک دیسک سخت ACSI با BUS ID داده‌شده (0-7) با استفاده از <file> تصویر دیسک. اگر فقط یک نام فایل داده شود، به BUS ID 0 تخصیص می‌یابد.
شبیه‌سازی یک دیسک سخت SCSI با BUS ID داده‌شده (0-7) با استفاده از <file> تصویر دیسک. اگر فقط یک نام فایل داده شود، به BUS ID 0 تخصیص می‌یابد.
شبیه‌سازی نسخه مشخص‌شده SCSI (1-2) برای BUS ID داده‌شده (0-7). اگر فقط یک نسخه داده شود، به BUS ID 0 اعمال می‌شود.
شبیه‌سازی یک دیسک سخت IDE 0 (master) با یک <file> تصویر دیسک.
شبیه‌سازی یک دیسک سخت IDE 1 (slave) با یک <file> تصویر دیسک.
تنظیم گزینه تعویض بایت (byte-swap) <x> (off/on/auto) برای <id> مشخص‌شده IDE (0/1). اگر فقط گزینه داده شود، به IDE 0 اعمال می‌شود.

بارگذاری <file> تصویر وضعیت حافظه (memory snap-shot).
تنظیم مقدار RAM شبیه‌سازی‌شده ST؛ x = 1 تا 14 MiB، یا 0 برای 512 KiB. سایر مقادیر به عنوان اندازه بر حسب KiB در نظر گرفته می‌شوند. در حالی که Hatari مقدار 14 MiB را برای همه انواع ماشین‌ها مجاز می‌داند، روی سخت‌افزار واقعی، مدل ST/STE می‌تواند حداکثر تا 4 MiB، مدل MegaSTE/TT تا 10 MiB، و Falcon تا 14 MiB حافظه RAM داشته باشد.
تنظیم مقدار TT RAM شبیه‌سازی‌شده؛ x = 0 تا 1024 MiB (در گام‌های 4MiB)..SH "گزینه‌های ROM (ROM options)"
مشخص کردن تصویر ROM مربوط به TOS برای استفاده.
استفاده از این گزینه برای فعال یا غیرفعال کردن وصله‌کردن TOS ROM. فقط برای کاربران متخصص! این گزینه را فعال بگذارید مگر اینکه بدانید دقیقاً چه کاری انجام می‌دهید!
استفاده از تصویر کارتریج ROM مشخص‌شده با <file> (تنها در صورتی کار می‌کند که شبیه‌سازی GEMDOS HD و تفکیک‌پذیری گسترش‌یافته VDI غیرفعال باشند).

مشخص کردن CPU (680x0) برای استفاده (تنها از x >= 1 همراه با EmuTOS یا TOS >= 2.06 استفاده کنید!).
تنظیم فرکانس ساعت پردازنده (۸، ۱۶ یا ۳۲ مگاهرتز).
استفاده از حالت سازگارتر پردازنده 68000 با دقت پیش‌واکشی (prefetch) و شمارش چرخه بهتر.
استفاده از شبیه‌سازی پردازنده با دقت چرخه (cycle exact).
شبیه‌سازی حافظه نهان داده (data cache) پردازنده‌های >= 030.
استفاده از حالت آدرس‌دهی ۲۴ بیتی به جای ۳۲ بیتی (حالت ۲۴ بیتی به‌طور پیش‌فرض فعال است).
نوع FPU (مقادیر ممکن: x=none/68881/68882/internal).
استفاده از شبیه‌سازی کامل نرم‌افزاری FPU (کتابخانه Softfloat).
استفاده از شبیه‌سازی MMU.

انتخاب نوع دستگاه (x = st, megast, ste, megaste, tt یا falcon).
فعال‌سازی شبیه‌سازی blitter (تنها برای ST).
شبیه‌سازی DSP فالکون (x = none, dummy یا emu، تنها برای Falcon).
با مقدار پیش‌فرض 0، تاریخ و زمان RTC از میزبان گرفته می‌شود. اگر برنامه‌ای با تاریخ‌های فعلی سازگار نیست، می‌توان از این گزینه برای تغییر سال RTC به مقداری سازگارتر استفاده کرد. همچنین گزینه “--gemdos-time” را ببینید.
اصلاح فرکانس بیش از حد بالای Timer-D که توسط TOS تنظیم شده است. این کار می‌تواند سرعت Hatari را به میزان چشمگیری افزایش دهد (به‌ویژه برای شبیه‌سازی ST/e)، زیرا فرکانس اصلی Timer-D باعث ایجاد تعداد زیادی وقفه اضافی برای شبیه‌سازی می‌شود.
وصله‌کردن TOS و مقداردهی اولیه متغیرهای سیستمی موسوم به “memvalid” به منظور دور زدن بررسی حافظه TOS، تا سیستم سریع‌تر راه‌اندازی شود.

فعال/غیرفعال کردن میکروفون (تنها Falcon).
فرکانس صدا: 6000-50066. مقدار “off” صدا را غیرفعال کرده و شبیه‌سازی را سرعت می‌بخشد. برای جلوگیری از اعوجاج و نویزهای صوتی اضافی، فرکانس باید به گونه‌ای انتخاب شود که دقیقاً با DMA صدای STE/TT/Falcon (فرکانس‌های 6258، 12517، 250033، 50066 هرتز) یا فرکانس‌های کارت صدای شما (11025، 22050، 44100 یا 6000...48000 هرتز) همخوانی داشته باشد. بررسی کنید کارت صدای شما از چه فرکانس‌هایی پشتیبانی می‌کند.
اندازه بافر صدای SDL: بین 10-100، یا 0 برای استفاده از اندازه پیش‌فرض بافر. به‌طور پیش‌فرض Hatari از بافر SDL به اندازه ۱۰۲۴ نمونه استفاده می‌کند که بسته به فرکانس صدای انتخابی، تقریباً ۲۰ تا ۳۰ میلی‌ثانیه صدا ارائه می‌دهد. در برخی سیستم‌عامل‌ها یا با کارت‌های صدایی که به‌طور کامل پشتیبانی نمی‌شوند، این تنظیم پیش‌فرض می‌تواند باعث تاخیر بیشتری در فرکانس‌های پایین‌تر شود (نزدیک به ۰٫۵ ثانیه). در چنین حالتی، می‌توانید با استفاده از این گزینه، اندازه بافر صدا را به تعداد میلی‌ثانیه‌های ثابتی از صدا محدود کنید (در صورت بروز چنین مشکلاتی، انتخاب ۲۰ معمولاً گزینه مناسبی است). بیشتر کاربران به این گزینه نیازی نخواهند داشت.
نرخ شبیه‌سازی در مواقع لازم به میزان +100، 0 یا -100 میکروثانیه جابه‌جا و تعدیل می‌شود. این کار از سرریز شدن بافر صدا (تاخیر طولانی و نمونه‌های از دست رفته) یا خالی شدن آن (تاخیر کم و نمونه‌های تکراری) جلوگیری می‌کند. نرخ شبیه‌سازی به آرامی تا حداکثر ۰٫۵۸٪ تغییر می‌کند تا همگام‌سازی کامل شود، در حالی که شبیه‌ساز به‌طور پیوسته تمام نمونه‌های صدا را تولید کرده و سیستم صوتی مبتنی بر کریستال تمامی نمونه‌ها را مصرف می‌کند.
(on|off، مقدار پیش‌فرض: off)
انتخاب یک روش برای میکس کردن همزمان صدای سه کانال YM2149 با یکدیگر. مقدار “model” از یک مدل ریاضیاتی از صداهای YM استفاده می‌کند، “table” از یک جدول جستجو (lookup table) از مقادیر ولتاژ خروجی صدا اندازه‌گیری‌شده روی STF بهره می‌برد، و “linear” صرفاً میانگین ۳ کانال صدای YM را محاسبه می‌کند..SH "گزینه‌های اشکال‌زدایی (DEBUG OPTIONS)"
باز کردن پنجره کنسول (فقط در Windows)
تغییر وضعیت فراخوانی اشکال‌زدا توسط استثناهای CPU
مشخص کردن این‌که کدام استثناها اشکال‌زدا را فراخوانی کنند؛ برای مشاهده پرچم‌های استثنای دردسترس (جدا شده با کاما)، --debug-except help را ببینید.
راه‌اندازی لینوکس m68k با استفاده از kernel، ramdisk و آرگومان‌های هسته مشخص‌شده در بخش [LILO] فایل پیکربندی Hatari. پوشه مستندات Hatari شامل یک فایل پیکربندی نمونه به نام "lilo.cfg" برای این منظور است. رشته داده‌شده به گزینه --lilo به خط فرمان هسته پیوست می‌شود.
نکته: این گزینه مخصوص توسعه‌دهندگان Hatari (و هسته Linux) برای آزمایش راه‌اندازی لینوکس است. مگر اینکه از نحوه پیکربندی هسته خود و وضعیت ویژگی‌های خاص هسته و Hatari آگاه باشید، انتظار نداشته باشید لینوکس m68k با موفقیت راه‌اندازی شود.
فعال/غیرفعال کردن تجزیه دستورات XBios. فراخوانی Dbmsg در XBios(11) می‌تواند برای فراخوانی اشکال‌زدای Hatari استفاده شود. فراخوانی‌های printscreen در XBios(20) همچنین تصاویر صفحه‌نمایش Hatari را تولید می‌کنند. فراخوانی XBios(255) به برنامه‌های Atari اجازه می‌دهد از قابلیت‌های اشکال‌زدای Hatari استفاده کنند، که برای نمونه امکان فراخوانی کلیدهای میانبر و گزینه‌های خط فرمان Hatari را می‌دهد. مورد آخر منسوخ شده است زیرا کنترل بیش از حدی به برنامه شبیه‌سازی‌شده می‌دهد؛ لطفاً به جای XBios 11 و 255 از NatFeats و APIهای کنترل از راه دور (--natfeats، --cmd-fifo، hconsole) استفاده کنید.
فعال کردن بازهدایت خروجی کنسول (توابع بردار xconout) برای <device> داده‌شده به ترمینال میزبان. دستگاه 2 برای کنسول VT52 (CON:) است، که تابع بردار آن علاوه بر خروجی عادی کنسول BIOS، پیام‌های کرنیک EmuTOS panic و خروجی کنسول MiNT را نیز دریافت می‌کند.
تنظیم گزینه‌های دیس‌اسمبلی. مقادیر 'uae' و 'ext' موتور دیس‌اسمبلی مورد استفاده را انتخاب می‌کنند، بیت‌ماسک گزینه‌های خروجی دیس‌اسمبلی را تعیین می‌کند و 'help' آن‌ها را فهرست می‌کند.
فعال/غیرفعال کردن پشتیبانی (پایه‌ای) از Native Features. برنامه EmuTOS از آن برای خروجی اشکال‌زدایی استفاده می‌کند و شبیه‌ساز Aranym نیز از آن پشتیبانی می‌نماید. برای اطلاعات بیشتر، کد نمونه و فایل readme.txt موجود در tests/natfeats/ همراه سورس‌کد Hatari را ببینید.
فعال کردن ردگیری‌های اشکال‌زدایی؛ برای مشاهده پرچم‌های ردگیری دردسترس (جدا شده با کاما)، --trace help را ببینید.
ذخیره خروجی ردگیری در <file> (پیش‌فرض=stderr)
تغییر وضعیت سرکوب تکرارهای متوالی پیام‌های لاگ یا ردگیری یکسان، به‌گونه‌ای که تنها تعداد آن‌ها نمایش داده شود (پیش‌فرض=سرکوب). ردگیری‌های دیس‌اسمبلی، ثبات‌ها و ردیابی‌های (چندخطی) AES این ویژگی را دور می‌زنند.
تجزیه/اجرای دستورات اشکال‌زدا از <file>
ذخیره پیکربندی Hatari و خروج. واسط کاربری Hatari برای شروع به فایل پیکربندی Hatari نیاز دارد؛ از این گزینه می‌توان برای ایجاد خودکار آن استفاده کرد.
اتصال Hatari به فایل سوکت محلی داده‌شده و خواندن دستورات از آن. زمانی استفاده شود که طول عمر فرایند کنترل‌کننده بیشتر از Hatari است، یا فرایند کنترل‌کننده به پاسخ از جانب Hatari نیاز دارد.
ایجاد فایل FIFO مشخص‌شده توسط Hatari و خواندن دستورات از آن. دستورات را می‌توان به فایل FIFO فرستاد (echo کرد)، و مشابه دستورات سوکت کنترلی هستند. Hatari برای دستورات و زیردستورات ناشناخته راهنما نمایش می‌دهد.
ذخیره خروجی لاگ در <file> (پیش‌فرض=stderr)
سطح خروجی لاگ (x=debug/todo/info/warn/error/fatal)
نمایش کادر محاوره‌ای برای پیام‌های لاگ بالاتر از سطح تعیین‌شده
خروج پس از X دوره VBL. همراه با حالت --benchmark استفاده می‌شود.
شروع در حالت بنچ‌مارک (استفاده همراه با --run-vbls). همانند حالت --fast-forward است، با این تفاوت که نمی‌توان آن را در زمان اجرا غیرفعال کرد و FPS هنگام خروج از شبیه‌سازی (و توقف موقت) بدون در نظر گرفتن سطح لاگ چاپ خواهد شد. این گزینه امکان اندازه‌گیری بهتر سرعت شبیه‌سازی را بر حسب فریم بر ثانیه فراهم می‌کند. مگر اینکه مشخصاً سرعت پردازش صدا و تصویر شبیه‌ساز را اندازه می‌گیرید، آن‌ها را غیرفعال کنید (--sound off / --disable-video on) تا سربار سیستم‌عامل تا حد امکان کاهش یابد..SH "مدیریت ورودی (INPUT HANDLING)" Hatari مدیریت ورودی ویژه‌ای را برای اهداف مختلف ارائه می‌دهد.

دسته بازی (جوی‌استیک) می‌تواند توسط صفحه‌کلید یا هر دسته بازی واقعی که توسط هسته یا کتابخانه SDL پشتیبانی می‌شود، شبیه‌سازی شود. نخستین دکمه دسته بازی به عنوان FIRE و دکمه دوم به عنوان کلید SPACE عمل می‌کند.

کلیک دکمه وسط ماوس به عنوان دوبار کلیک تفسیر می‌شود؛ این ویژگی به‌ویژه در حالت Fast Forward مفید است.

چرخ اسکرول ماوس به عنوان کلیدهای مکان‌نمای بالا و پایین عمل خواهد کرد.

کلیدهای صفحه‌کلید مانند کلیدهای عادی Atari ST عمل می‌کنند؛ بنابراین فشردن SPACE در رایانه شما منجر به فشردن شبیه‌سازی‌شده کلید SPACE در ST می‌شود. نحوه نگاشت کلیدهای رایانه به کدهای کلید Atari می‌تواند با استفاده از فایل پیکربندی صفحه‌کلید (گزینه -k) تغییر یابد.

کلیدهای زیر دارای معانی ویژه‌ای هستند:

به عنوان کلید ALTERNATE در ST عمل می‌کند
به عنوان کلید CONTROL در ST عمل می‌کند
کلید HELP در ST را شبیه‌سازی می‌کند
کلید UNDO در ST را شبیه‌سازی می‌کند

کلید AltGr نیز تا زمانی که آن را همزمان با ترکیب کلیدهای میانبر Hatari فشار ندهید، به عنوان Alternate عمل خواهد کرد.

هنگامی که شبیه‌سازی دسته بازی را از طریق صفحه‌کلید فعال می‌کنید، از کلید right Ctrl به عنوان دکمه شلیک (fire) دسته بازی شبیه‌سازی‌شده استفاده می‌شود.

کلیدهای جهت‌نما تا زمانی که شبیه‌سازی دسته بازی از طریق صفحه‌کلید غیرفعال باشد، به عنوان کلیدهای مکان‌نما در Atari ST عمل خواهند کرد.

کلیدهای میانبر را می‌توان در فایل پیکربندی تنظیم کرد. تنظیمات پیش‌فرض عبارتند از:

ضبط پویانمایی
گرفتن تصویر از صفحه‌نمایش (اسکرین‌شات)
کلید رئیس (boss key): خروج از حالت تمام‌صفحه و کمینه‌سازی پنجره
قفل کردن/آزاد کردن ماوس در پنجره
راه‌اندازی مجدد گرم (warm reset) در ST (مشابه دکمه ریست)
راه‌اندازی مجدد سرد (cold reset) در ST (مشابه کلید پاور)
باز کردن کادر گفتگو برای انتخاب/تغییر دیسک A
فعال/غیرفعال کردن صدا
خروج از شبیه‌ساز
جابه‌جایی میان سرعت عادی/حداکثر
فعال/غیرفعال کردن ضبط صدا
ذخیره وضعیت لحظه‌ای حافظه (memory snapshot)
بارگذاری وضعیت لحظه‌ای حافظه (memory snapshot)
جابه‌جایی شبیه‌سازی دسته بازی از طریق کلیدهای مکان‌نما
تغییر نوع دسته بازی در درگاه joy port 0
تغییر نوع دسته بازی در درگاه joy port 1
تغییر نوع دسته بازی برای joypad A
تغییر نوع دسته بازی برای joypad B
روشن/خاموش کردن حاشیه‌ها
جابه‌جایی بین حالت تمام‌صفحه و حالت پنجره‌ای
فعال‌سازی رابط کاربری گرافیکی تنظیمات Hatari
ممکن است لازم باشد در حالت پنجره‌ای کلید SHIFT را نگه دارید.
متوقف کردن موقت شبیه‌سازی
فراخوانی دیباگر داخلی Hatari.SH "کلیدهای میان‌بر برای رابط کاربری گرافیکی SDL (Keyboard shortcuts for the SDL GUI)" چندین روش برای تعامل با رابط کاربری گرافیکی (GUI) مبتنی بر SDL وجود دارد.

کلید TAB و کلیدهای جهت‌نما فوکوس را بین عناصر رابط کاربری تغییر می‌دهند. کلید Home فوکوس را به اولین مورد کادر محاوره‌ای و کلید End به آخرین مورد منتقل می‌کند. در ابتدا، فوکوس روی عنصر پیش‌فرض رابط کاربری قرار دارد، اما تغییرات فوکوس بین دفعات فراخوانی کادر محاوره‌ای به خاطر سپرده می‌شود.

کلیدهای Enter و Space مورد دارای فوکوس را فعال می‌کنند، و کلید ESC گزینهٔ لغو (Cancel) کادر محاوره‌ای را (در صورت وجود) فراخوانی می‌کند.

عنصر رابط کاربری که نام آن دارای نویسه‌ای با خط زیرین است می‌تواند مستقیماً با فشردن Alt به‌همراه کلید آن نویسه فراخوانی شود. ترکیب Alt + کلیدهای جهت‌نما بر روی دکمه‌های جهت‌نمای کادر محاوره‌ای عمل خواهد کرد.

تعاملات اصلی:

نمای اصلی Options GUI
کلید Enter پیکربندی را می‌پذیرد، ESC آن را لغو می‌کند.
کادرهای محاوره‌ای Options GUI
کلید Enter (یا در صورت جابه‌جایی فوکوس، ترکیب End + Enter) به نمای اصلی بازمی‌گردد.
انتخاب‌گر فایل (Fileselector)
کلیدهای Page up و Page down فهرست فایل‌ها را به اندازه یک صفحه جابه‌جا می‌کنند، چرخ ماوس و ترکیب Alt + کلیدهای جهت‌نما آن را به اندازه یک مورد پیمایش می‌کنند. فشردن Enter روی نام فایل دارای فوکوس آن را انتخاب می‌کند. فشردن Enter روی دکمه OK فایل انتخاب‌شده را می‌پذیرد. کلید ESC کادر محاوره‌ای/انتخاب را لغو می‌کند.
کادرهای محاوره‌ای هشدار (Alert dialogs)
کلید Enter تأیید و ESC کادر محاوره‌ای را لغو می‌کند.

مستندات اصلی برنامه، معمولاً در /usr/share/doc/. این مستندات در میان سایر موارد، شامل یک راهنمای جامع استفاده، فهرست سازگاری نرم‌افزاری و یادداشت‌های انتشار است.

وبگاه اصلی Hatari: https://www.hatari-emu.org

سایر برنامه‌ها و ابزارهای Hatari:
hmsa(1), zip2st(1), atari-convert-dir(1), atari-hd-image(1), hatariui(1), hconsole(1), gst2ascii(1), hatari_profile(1)

/etc/hatari.cfg (یا /usr/local/etc/hatari.cfg)
فایل پیکربندی سراسری Hatari.
~/.config/hatari/
دایرکتوری (پیش‌فرض) برای فایل‌های شخصی کاربر در Hatari؛ hatari.cfg (فایل پیکربندی)، hatari.nvram (فایل محتوای NVRAM)، hatari.sav (فایل تصویر وضعیت حافظه Hatari که برنامه می‌تواند هنگام شروع یا خروج به‌طور خودکار آن را بارگیری/ذخیره کند)، hatari.prn (فایل خروجی چاپگر)،
/usr/share/hatari/ (یا /usr/local/share/hatari/)
دایرکتوری داده‌های سراسری Hatari.
تصویر TOS ROM از دایرکتوری داده‌های Hatari بارگیری خواهد شد، مگر اینکه در خط فرمان یا فایل پیکربندی مشخص شده باشد.

این صفحهٔ راهنما توسط Marco Herrn <marco@mherrn.de> برای پروژه Debian نوشته شد و بعداً توسط Thomas Huth و Eero Tamminen برای سازگاری با آخرین نسخه Hatari اصلاح گردید.

2020-11-27 Hatari