Sunday 10 December 2017

Fx - خيارات عبر غاما


كاسيت إو المرافق المرافق للتعامل مع الشريط وصورة القرص المرن من أجهزة الكمبيوتر جيب خمر هذا هو البرمجيات الحرة، المرخص لها تحت رخصة جنو العمومية. يتم توفير البرنامج كما هو. إم لا يمكن الاعتماد عليها عن أي عواقب تنشأ عن استخدام ذلك. جميع العلامات التجارية، وأسماء الشركات أو المنتجات تنتمي إلى أصحابها وكانت المرافق هنا كان المقصود أصلا لأجهزة الكمبيوتر جيب كاسيو فقط. إيف بدأت مؤخرا لدعم الأجهزة الأخرى مع تنسيق بيانات قابلة للمقارنة، وبالتالي إعادة تسمية الحزمة من كاسيو المرافق إلى كاسيت إو المرافق. التركيز الرئيسي لا يزال على آلات كاسيو ومعظم الوثائق يعالجهم فقط. هذا هو العمل قيد التنفيذ ليس كل وظائف تعمل على جميع أنظمة التشغيل وبعض الملفات قد يتم التعامل معها خطأ سيئا. أسف لأي ازعاج. وأضاف الخيار - d إلى list850 من أجل دعم الملفات المنسوخة من قرص MD100. إعادة صياغة md100. إزالة الخيار - f والخيار - p المضافة بعد المعلومات من بيوتر بياتك. إصلاح الخلل مما تسبب في حلقة لا نهاية لها عند كتابة شارب ملفات موجة النمط. يؤثر أساسا wav2wav. دعم ملف البيانات بحاجة إلى بعض التحسينات. وأضاف الخيار لقمع إخراج رأس إلى list850. واضاف لدعم ملفات البيانات إلى bas850. وأضاف يونيكود (أوتف-8) دعم القائمة 850، listX07، bas850 و basx07. الخيار - I يتجاهل البيانات مع تأطير أو أخطاء التكافؤ على إدخال ملف موجة لمعظم المرافق المساعدة. إضافة الثنائيات لمضيف ويندوز سي (أرم، سي 3.0) إزالة دعم بيك ل أوسك (أنا لم يعد لديك مترجم المناسب) list8000 يدعم الآن عرض وتصدير البيانات فيويندو رانج list8000 الآن تصدير الذاكرة المتغيرة إلى ملف كاس (ل فا-121) . باس 850 و md100 تسمح الأنابيب على الملفات النصية. إصلاح بعض تسلسل الهروب (في-غثيتا). list8000 يدعم الآن تصدير في شكل فا-123FA-124. list8000 - إضافة قائمة دعم ل فكس-8000G الرسم حاسبة مع واجهة فا-80. wav2wav تعزيز لدعم المزيد من الأشكال. list74 - يبدأ الدعم ل تي-74. waveX07 - وأضاف مولد ملف موجة لكانون X-07. basx07 - وأضاف توكينيزر لكانون X-07. listX07 - البرنامج الأول لآلة غير كاسيو: كانون X-07. يتم توفير البرامج التالية: list702 - عرض محتويات ملف ثنائي أو واف كما نص أو بيانات باسيك. هذا البرنامج هو ل فكس-702P. وهو التكيف من list730. list730 - عرض محتويات ملف ثنائي أو واف كنص أو بيانات باسيك. هذا البرنامج هو لسلسلة ي-100. تم إنشاؤه أصلا من قبل بيوتر بياتك. وأضاف إيف تنسيقات الملفات المختلفة. list850 - عرض محتويات ملف ثنائي أو واف كنص أو بيانات باسيك. هذا البرنامج هو لجميع الأجهزة الجديدة، بدءا من ي-700 بما في ذلك فكس-850 و ي-1000. يتم تضمين فب-200 كذلك. list8000 - عرض محتويات ملف ثنائي أو واف كقائمة مصدر أو سجلات أو صورة شاشة أو نص. هذا البرنامج هو لسلسلة فكس-8000G من الآلات الحاسبة الرسم. list8000 يمكن تصدير في تنسيق ملف يفهمها كاسيوس فا-121 أو فا-124 البرمجيات. listX07 - عرض محتويات ملف ثنائي أو واف كنص أساسي. هذا البرنامج هو كانون X-07. list74 - عرض محتويات ملف ثنائي أو واف كنص أساسي. هذا البرنامج هو تكساس إنسترومنتس تي-74. ؛ wave730 - إنشاء ملف واف من ملف ثنائي. هذا البرنامج هو لسلسلة ي-100. ؛ wave850 - إنشاء ملف واف من ملف ثنائي. هذا البرنامج هو لجميع الأجهزة الجديدة، بدءا من ي-700 بما في ذلك فكس-850 و ي-1000. يتم تضمين و فب-200 كذلك. يمكن إنشاء الملفات في (S) منخفضة أو (F) وضع أست. ؛ waveX07 - إنشاء ملف واف من ملف ثنائي. هذا البرنامج هو كانون X-07. ؛ bas702 - إنشاء ملف واف (أو ثنائي أو أسي ترميز) من نص مصدر باسيك. هذا البرنامج هو فقط ل فكس-702P. ؛ bas730 - إنشاء ملف واف (أو ثنائي أو أسي ترميز) من نص مصدر باسيك. هذا البرنامج هو لجميع الأجهزة القديمة، بدءا من ي-100 أو فكس-700P بما في ذلك فكس-730P و فكس-795P. ؛ bas850 - إنشاء ملف واف (أو ثنائي أو أسي ترميز) من نص مصدر باسيك. هذا البرنامج هو لجميع الأجهزة الجديدة، بدءا من ي-700 بما في ذلك فكس-850 و ي-1000. يتم تضمين فب-200 كذلك. يمكن إنشاء ملفات واف في وضع (S) منخفض أو (F) أست. تنسيقات البيانات الممكنة هي النص (ليتم تحميلها مع لواد، A على بعض الأجهزة) أو تنسيق داخلي (ليتم تحميلها مع لواد). ؛ basx07 - إنشاء ملف واف (أو ثنائي) من النص المصدر باسيك. هذا البرنامج هو كانون X-07. ؛ wav2raw - استخراج صورة ثنائية من ملف واف. يعمل لجميع النماذج. ؛ wav2wav - إعادة إنشاء ملف واف قليلا بت. الملف الناتج يمكن أن يكون مضغوط بشكل أفضل من خلال برامج ضغط ضياع مثل زيب أو غزيب من تسجيل الأصلي. منذ يتم الترفيه قليلا ل بت، يجب أن يعمل البرنامج لأي ملف واف التي تم تسجيلها في معيار كانساس سيتي مع الناقل 2400 هرتز. (شملت مؤخرا دعم أجهزة الكمبيوتر شارب التي تستخدم ترددات مختلفة.) md100 - التعامل مع الصور من الأقراص المرنة مد-100 مكتوبة من قبل أجهزة الكمبيوتر ي-1000 أو ي-2000C. على بعض أنظمة الكمبيوتر يعمل هذا حتى على الأقراص الحقيقية أجيال من جيوب كاسيو. يمكن تجميع أجهزة الكمبيوتر الجيب كاسيو باسيك. وضمن كل مجموعة، يمكن تبادل ملفات البرامج أو يمكن نقل البرامج مباشرة من آلة إلى أخرى من خلال واجهاتها الشريطية. لا يمكن تنفيذ جميع البرامج على جميع الأجهزة ضمن نفس السلسلة، وذلك لأن بعض الكلمات الرئيسية تختلف. على سبيل المثال فكس-700P لا يفهم ريم. تتوفر المزيد من التفاصيل حول إصدارات باسيك المختلفة في ورقة المقارنة الخاصة بي باسيك. سلسلة ي-100 هذا هو اسم كاسيو أعطى لمجموعة من أجهزة الكمبيوتر في وقت مبكر جيب مع باسيك. وتشمل المجموعة، وفقا لدليل كاسيو في وقت لاحق، الآلات التالية: ي-100، ي-110، ي-220، ي-240، ي-300، ي-410، فكس-700P، فكس-720P، فكس-730P ، فكس-770P، فكس-785P، فكس-790P و فكس-795P. أنا أملك بعض منهم: ي-220، ي-300، فكس-700P، فكس-720P، فكس-730P و فكس-795P. تشترك جميع الطرز في بعض السمات المشتركة: يتم تبديل مفتاح الوضع بين وضع رن أو ورت (برنامج)، ويختار أوضاع الزاوية ويعيد توجيه الإخراج إلى الطابعة الاختيارية (أو المضمنة). تتوفر 10 مجالات برنامجية منفصلة. لوحة المفاتيح لديها مفتاح إيكس واحد. یتم اختیار الوظائف التي تم تحویلھا بواسطة مفاتیح البادئة التي یجب الضغط علیھا وتحریرھا قبل المفتاح المتحول. الترميز الداخلي ليس أسي ولكن شيئا خاصا جدا. إذا كنت مهتما بالتفاصيل الفنية، راجع صفحات بيوتر بيكس على الإنترنت. وقد تم كل تسجيلات الشريط من خلال واجهة فا-3، وإن كان ي-220 يحتاج إلى محول لتوصيله ميكانيكيا. سرعة انتقال 300 بت في الثانية الواحدة. و فكس-702P هذا الجهاز يقف على نفسها. لهجة الأساسية هي غريبة قليلا. أوامر غوسوب. إرجاع. تم استبدال الطباعة و إنبوت بواسطة غسب. RET. برت و إنب. رمز الطابع الداخلي هو شيء خاص. أنها ليست أسي ولا متوافقة مع ترميز سلسلة ي-100. لوحة المفاتيح لديه مفتاح الوضع الذي يعمل إلى حد كبير مثل على آلات سلسلة ي-100. وهناك عشرة مجالات برنامجية منفصلة متاحة. لوحة المفاتيح لديها مفتاح إيكس واحد. لم يتم ترتيب لوحة المفاتيح ألفا مثل آلة كاتبة ولكن حسب الترتيب الأبجدي. مفاتيح التحول اثنين (F1، F2) هي مفاتيح البادئة. شكل الشريط لديه بعض أوجه التشابه إلى تنسيق سلسلة ي-100 ولكن يبدو أن البديل السابق. وبالتالي فإن برنامج قائمة ملف الشريط هو قابل للتنفيذ منفصلة في حين أن مولد ملف الموجة لسلسلة ي-100 (wave730) يمكن إنشاء صور ل فكس-702P. وقد تم كل تسجيلات الشريط من خلال واجهة فا-2. سرعة انتقال 300 بت في الثانية الواحدة. و ي-700، ي-770 و فكس-750P هذا هو الجيل الأحدث من جيوب باسيك التي تفتقر إلى مفتاح الوضع. بدلا من ذلك، يتم استخدام مفتاح إنتر على لوحة المفاتيح الرقمية لحسابات الوضع المباشر في حين أن مفتاح العودة هو إدخال الأوامر وخطوط برنامج باسيك. يجب أن يتم الضغط على مفتاح التحول مع الاستمرار مع المفتاح المتضرر، تماما كما هو الحال على آلة كاتبة. وتتوفر عشرة مجالات برنامجية منفصلة. تتحول كلمة رئيسية خاصة (بروج) بين المناطق دون بدء تشغيل البرنامج. هناك فرق دقيق في التعامل مع وظائف اللوغاريتم. أنظمة ي (سلسلة ي-700 و ي-1000، انظر أدناه) استخدام لغت لوغاريتم قاعدة 10 و لوغ لل لوغاريتم الطبيعي. جميع الآلات الأخرى، بما في ذلك سلسلة ي-100 القديمة، استخدام لوغ و لن على التوالي. الترميز الداخلي هو أسي مع أحرف الرسومات في مجموعة موسعة. إذا كنت مهتما بالتفاصيل الفنية، راجع صفحات بيوتر بيكس على الإنترنت. و فكس-750P لديه سخر مزعج: لا يفهم الأحرف الصغيرة ولكن لا يعرض شيئا بدلا من ذلك. وهذا يجعل من المستحيل تحرير خطوط مع سلاسل صغيرة تنتقل من ي-700 أو تحميلها من ملف ي-700. أملك ي-700 و ي-770 مع فا-10 واجهة و فكس-750P مع فا-20. إيف اختبار برامجي مع هذه الآلات واجهات. سرعة انتقال 300 بت في الثانية الواحدة. فكس-850P، فكس-870P، فكس-880P، فكس-890P، فس-1 إلى 4، Z-1 و ي-1000 هذه الآلات لديها تنفيذ جديد من باسيك، ودعا جيس القياسية باسيك من كاسيو. و ي-1000 يحتوي على نظام ملف ذاكرة الوصول العشوائي في حين أن أنظمة فكس و فس تحتفظ مجالات البرنامج عشرة من الآلات السابقة. الترميز الداخلي هو أسي ولكن يتم ترميز الكلمات الأساسية وأرقام الخطوط بشكل مختلف (يمكن أن تصل أرقام الخطوط الآن إلى 65535، وليس فقط 9999.) مجموعات الأحرف الموسعة تختلف بين ي-1000 والآلات الأخرى من السلسلة. و ي-1000 سهم مجموعة حرف ي-700 مع رسومات خاصة في حين أن أنظمة فكس، فس و Z تظهر الرياضيات والعلوم الرموز بدلا من ذلك. و Z-1 وشقيقتها فكس-890P تفتقر إلى واجهة الشريط. جميع الآلات باستثناء ي-1000 الاتصال واجهة فا-6. وتوفر هذه الواجهة سرعة نقل أعلى تبلغ 1200 بت في الثانية. تنسيق كتلة البيانات هو البديل من مخطط ي-700 ولكن ترميز برامج باسيك مختلفة. فمن الممكن لتحميل ملف حفظها مع حفظ، A على ي-700 في فكس-850P، وعلى العكس من ذلك جولة ممكنة أيضا. عليك أن تقيد السرعة إلى 300 بت في الثانية (سيف (S) و لواد (S) على فكس-850P.) لا أستطيع إلا اختبار جزء من واجهة الشريط مع فس-1 أو فكس-870P لأنني يمكن أن أكتب فقط ولكن لا تقرأ البرامج أو البيانات من خلال واجهة فا-6 مع هذه الآلات. يمكن للأنظمة فكس-850PFX-880P قراءة أشرطة من سلسلة ي-100 مع الأوامر الخاصة (بلواد. و ي-1000 لديه موصل مماثل ولكن الاختلافات الميكانيكية والكهربائية تمنع استخدام فا-6. و ي-1000 يستخدم واجهة فا-7 التي توفر معدلات نقل أعلى (تصل إلى 2400 بت في الثانية، يمكن اختيارها من قبل التبديل ديب على واجهة). Z-1 و فكس-890P لم تعد تدعم الأشرطة ولكن لا يزال من الممكن استخدامها مع المترجم النص مصدر Bas850 واجهة تسلسلية أو أوسب. و فب-200 هذا هو آلة بحجم A4 في فئة خاصة بها. و باسيك مماثلة ل ي-1000 ولكن يحتوي على بعض ميزات مايكروسوفت باسيك أيضا. تطبيق جدول بيانات سيتل المضمن فريد من نوعه. شكل الشريط مماثل بما فيه الكفاية للآلات فكس-850P مثل لتشمل التعامل في نفس البرامج. في معظم الحالات، فإن التبديل -2 التعامل مع الاختلافات. بعض الملفات المشفرة أسي متوافقة بين العائلات، على وجه الخصوص: سرعة الشريط 300 باود (تنسيق بطيء فقط). الترميز الداخلي هو مختلف، لا يمكن تبادل الملفات الثنائية. يتم فهم تنسيق أسي-فب-200s من قبل فكس-850P ولكن لا ي-1000. لم أستطع اختباره مع فس-4 أو فكس-870P (انظر أعلاه). فب-200 يفهم تنسيق أسي لجميع الأجهزة الأخرى، نظرا للسرعة الصحيحة. يمكنك إطعام الملفات من خلال List850 و bas850 لإنشاء ملفات لمنصات مختلفة. محرك الأقراص المرنة مد-100 مع الآلات الحاسبة ي-1000 و ي-2000C تفتقر مد-100 واجهة الشريط ولكن الذي يهتم عندما قرص مرن مع نظام الملفات الحقيقي هو متاح بسهولة أنا أملك اثنين من الآلات الحاسبة جيب التي تتصل مد-100 : الكمبيوتر ي-1000 باسيك و ي-2000C التي يمكن برمجتها في البديل من C (تفسير، بطيئة جدا). يفهم البرنامج md100 تنسيق القرص. هناك باسيك روم أوم-53B المتاحة ل ي-2000C الذي يتحول بشكل أساسي إلى ي-1000 مع حالة مختلفة، ولكن أنا رأيت هذا حتى الآن. بيوتر بياتك لديه محاكاة لجميع هذه. آلات أخرى كاسيو فكس-8000G هذا ليس كمبيوتر جيب الأساسية ولكن آلة حاسبة الجرافيك. مع واجهة فا-80، يمكنك حفظ البرامج والسجلات والرسومات والملفات النصية لشريط كاسيت. list8000 يدعم قائمة من هذه الملفات. ليس لدي واجهة نفسي، لذلك التنمية بطيئة. يمكن الملفات كوناتين أكثر من نوع واحد من البيانات. يسرد البرنامج المحتويات كما تظهر في الملف. يتم تحويل الرسومات إلى ملفات بمب عند الطلب. يتم التسجيل في 2400 باود. قد تضطر إلى تعيين برنامج الصوت الخاص بك إلى معدل أخذ العينات المناسبة لقراءة موثوق بها من ملفات واف. كانون X-07 كانون X-07 هو آلة صغيرة قادرة مع باسيك قوية وبنيت في واجهة كاسيت. إيف بدأت للتو لدعم ذلك مع قائمة البرامج X07. waveX07 و basx07. واللفظات في وضع سريع في 1200 باود، وهو شكل معتمد بالفعل من قبل مكتبة الموجة في هذا المشروع. فقط ترميز مستوى منخفض يختلف قليلا: 8 بت، لا التكافؤ، 2 بت على الأقل بت. كان لي لضبط نمط موجة ولدت لجعل كلواد العمل بشكل موثوق. تكساس إنسترومنتس تي-74 و تي-74 هو خليفة الكمبيوتر سيسي-40 باسيك التي فشلت تجاريا، لأنه في البداية، لم يكن هناك جهاز التخزين الشامل المتاحة. ويمكن تجهيز أحدث تي-74 مع واجهة كاسيت سي-7 من خلال موصل دوكبوس لها. منطق واجهة بنيت في الكمبيوتر، وليس واجهة. هذا يجعل من المستحيل استخدام سي-7 من خلال محول مع سيسي-40. و سيسي-40، التي يوجد منها سوى عدد قليل جدا من النماذج موجودة، لديه المدمج في واجهة كاسيت ويمكن أن تعمل مع المرافق بلدي، ولكن لا أستطيع اختبار نفسي. و باسيك هي واحدة من أفضل يمكنك أن تجد لأي كمبيوتر حجم الجيب من عصرها. وهو يدعم إو متطورة، البرامج الفرعية مع المعلمات، أسماء متغيرة طويلة، وأكثر من ذلك. واجهة الكاسيت يحاكي دوكبوس (أو هيكسوس) الجهاز 1 .. يمكن أن تسجل برامج باسيك مع SAVE1.NAME التي يتم تحميلها من قبل OLD1.NAME أو فقط OLD1 .. واجهة تدعم ملفات بيانات وضع النص المتسلسلة للإدخال البرمجة والإخراج كذلك . يمكنك حتى LIST1.NAME برنامج في أسي ولكن لا يمكنك تحميله مرة أخرى إلى الكمبيوتر. إم العمل على حل ولكن قد يستغرق بعض الوقت. تنسيق ملف الموجة هو البديل الخاص بدلا من معيار كانساس سيتي (كس) المستخدمة في مكان آخر: الترددات 1400 هرتز و 700 هرتز وسرعة 1400 بت في الثانية الواحدة. وهذا يعني أن نصف الموجة يستخدم فقط ل 700 بتة هز صفر يختلف التزامن تماما عن كس، ويتم ترميز البايتات بدون بداية أو تكافؤ أو بتات توقف. يتم نقل المعلومات في كتل تصل إلى 64 بايت من البيانات الصافية. يمكن أن تتكون السجلات المنطقية من كتل متعددة. يتم حماية كل كتلة من قبل المجموع الاختباري بسيط وينتقل مرتين للتكرار. إن حفظ برنامج باسيك سريع نسبيا لأنه ينتقل كسجل منطقي كبير. لا يزال هناك ما يكفي من تزامن النفقات العامة لإنشاء ملف موجة 30 ثانية لبرنامج قصير ولكن برنامج أطول لن يجعل الملف أطول من ذلك بكثير. كتابة ملف أسي هو مسألة مختلفة تماما: يتم إضافة النفقات العامة لكل سجل من الملفات. أصحاب واجهة الكمبيوتر لديها المزيد من الخيارات: يمكنهم حفظ مباشرة إلى وتحميل من نظام الملفات بيسي. ملفات البرنامج ثنائية وعادة ما يكون امتدادا ل بم. برنامج دوس TIC74 الذي يأتي مع برنامج واجهة تنتج مثل هذا الملف من ملف نصي باسيك. محتويات هذا الملف هو نفس سجل كبير واحد تنتقل من خلال واجهة كاسيت. إم التخطيط لاتخاذ مثل ملف بم كإدخال وإنشاء ملف موجة لتحميله من دون واجهة الكمبيوتر. يكون المريض list74 بالفعل قادرة على عرض مثل هذا الملف كقائمة باسيك أو استخراجه من تسجيل. كيفية التعامل مع تسجيلات الشريط توصيل واجهة الشريط مع كابل الميكروفون مباشرة إلى بطاقة الصوت. بدء برنامج مسجل الصوت من اختيارك مع المعلمات التالية: تنسيق ملف واف. 8 بت لكل عينة. المزيد من البتات ممكنة ولكن ليس هناك حاجة إليها. لا تستخدم شكل نقطة العائمة 11025 أو 22050 عينات في الثانية الواحدة (انها فكرة جيدة، ولكن ليس إلزاميا، لتسجيل 2400 باود التسجيلات في 44100 عينة في الثانية الواحدة). مستوى تسجيل مرتفع بما فيه الكفاية لملء النطاق الديناميكي لملف الموجة. بدلا من ذلك استخدام محرر الصوت مثل جرأة لتضخيم إشارة. إرسال البرنامج أو البيانات من جهاز الكمبيوتر الخاص بك جيب مع سيف. احفظ الكل. بوت أو كتابة وبدء التسجيل. إيقاف التسجيل عند عودة موجه جاهزة. التسجيلات عالية السرعة (1200 الباود أو أكثر) تجعل من الصعب على المرافق لتفسير أنماط الموجة بشكل صحيح لأن التكرار هو انخفاض كبير. إذا كان لديك مشاكل، حاول تعيين متغير البيئة وافيفاس 1 أو عكس التسجيل مع محرر الصوت وحاول مرة أخرى. هناك مشكلة مع بلدي إيماك وبطاقة الصوت الداخلية. مستوى التسجيل على المدخلات في خط منخفض جدا. إيف توصيل سوندبلاستر أوسب مع إدخال ميكروفون بدلا من ذلك. وقد ثبت أرخص بكثير نونام الصوت أوسب المكونات مع ميكروفون المدخلات للعمل بشكل جيد، أيضا. التشغيل عبر بطاقة الصوت الداخلية على ما يرام. قم بتوصيل دخل إير بواجهة الشريط إلخراج فونيس لبطاقة الصوت. هناك مشكلة في حل: سوف تحتاج إلى محول لتوصيل الإخراج ستيريو من بطاقة الصوت (قناة واحدة فقط) إلى إدخال أحادية من واجهة الشريط. قد تلحق الضرر ببطاقة الصوت مع الكبل الذي توفره واجهة الشريط لأنه يقطع أحد قنوات الإخراج قراءة الفقرة السابقة مرة أخرى قبل المتابعة إذا كان كل شيء متصلا بشكل صحيح، أدخل الأمر المناسب (آل) أو ريد أو جيت ثم بدء تشغيل ملف واف. اضبط مستوى الخرج أعلى من المعتاد. إذا كان بصوت عال جدا لأذنيك حقه فقط لجهاز الكمبيوتر الخاص بك قليلا إذا كان الكمبيوتر جيب يقرأ ويعالج البيانات داخل البرنامج، والاستفادة من المكونات ريموت من واجهة الشريط لوقف التشغيل أثناء العمل، سيكون لديك لتقليد هذا عن طريق إيقاف واستئناف التشغيل يدويا. ملفات البرنامج لا توجد مشكلة في هذا الصدد. تحديث قد لا تكون التسجيلات الأصلية (أو التسجيلات من مصادر أخرى على الإنترنت) الأمثل للأرشفة. برامج ضغط ضياع مثل زيب أو غزيب لا أحب الإشارات التناظرية بعض التسجيلات وجدت في مكان آخر لا اقول واجهة الشريط بشكل صحيح عند تسجيل أكثر. هذا يمكن أن يؤدي إلى فقدان خطوط البرنامج عند تحميله على آلة حاسبة الجيب. wav2wav يجعل نسخة بت-بت من ملف واف التي تم تسجيلها في كانساس سيتي ستاندارد أو أحد المتغيرات المعتمدة. وتستخدم جميع طرازات كاسيو نظام التسجيل هذا، حتى في وضع السرعة أو السرعة العالية (1200 أو 2400 بت في الثانية) حيث يمثل قليلا موجات واحدة أو موجتين بدلا من أربعة إلى ثمانية في الوضع القياسي عند 300 بت في الثانية. البرنامج قادر على ريكود تسجيل في أي من سرعات 300، 1200 أو 2400 بت في الثانية الواحدة إلى أي من هذه السرعات الأخرى. هناك نوعان من وسائط خاصة للأجهزة الأخرى: 500 بت في الثانية لأجهزة الكمبيوتر الجيب شارب و 1400 بت في الثانية ل تي-74 أو تي-95. وتستخدم هذه دائما للإدخال والمخرجات. ليس من المنطقي تغيير سرعة هذه التسجيلات لأن الملفات الناتجة ستكون عديمة الجدوى. نمط الإخراج هو موجة جيبية لجميع السرعات إكسيبت ل تي حيث يتم استخدام موجة مربع. هذا قد يتغير في المستقبل. ويسمى البرنامج على النحو التالي: إذا كنت ترغب في ريكود ملف 300 باود (e. g ملف من ي-700) إلى ملف عالية السرعة ل ي-1000، استخدام الخيار - وحيدا. سرعة الإدخال 300 افتراضيا. إذا كنت ترغب في ترميز ملف عالية السرعة من ي-1000 للتحميل إلى فكس-850P، استخدم كلا الخيارين - ه و-من. يتم تحليل الخيارات من اليسار إلى اليمين. لذلك حتى الجمع بين - t - من الأعمال ولكن لا طائل منه. يمكنك استخدام - f على 300 ملفات باود. وهذا ممكن لأن الترددات هي نفسها. وسوف يكون عدد البتات المبلغ عنه خاطئا بعامل قدره أربعة وتقلص إلى حد كبير موثوقية التحويل. إذا كان الملف الذي تم تحويله لا يمكن قراءته من قبل الجهاز، حاول مرة أخرى مع متغير البيئة WAVEPHASE1. إذا تم تسجيل الملف في حجم منخفض جدا، حاول تعيين متغير البيئة وافيثريشولد إلى القيم أعلاه 10. في أي حال من الأفضل لتحميل الملف إلى محرر الصوت وتطبيعه هناك. التحويل إلى صيغ أخرى يمكن تحليل التسجيلات (وأرشفتها) بسهولة عن طريق تحويلها إلى تنسيق ثنائي. تتوفر العديد من الأشكال: تنسيق ثنائي بايت هو مجرد بيانات فك الشفرة عادي. يفقد ما يسمى تسلسل الرصاص في تستخدم لمزامنة فك و فصل كتل البيانات. يتم استبعاد بايت مع إطارات أو أخطاء التكافؤ بها. الشكل هو أسهل لفهم للبشر وهو الأساس لبرامج الإدراج. تنسيق ثنائي ورد هو البديل من تنسيق ثنائي الذي يحفظ المزيد من المعلومات من تيار البيانات الأصلي. يتم ترميز تسلسل الرصاص في قيمة خاصة، يتم الحفاظ على جميع المعلومات تأطير والتعادل في البايت العلوي لكل كلمة البيانات. تنسيق ورد الخام هو مجرد 12 بت لكل بايت البيانات (مع بداية، وقف والتكافؤ بت) توسعت إلى 16 بت الكلمات. أسي ترميز البيانات الخام هو شكل ولدت وقبلت من قبل بيوترس واجهة تسلسلية. wav2raw يحول ملف واف إلى أحد التنسيقات المذكورة أعلاه: إلحاق - إلى نهاية الخيارات - s. - f أو - h له نفس تأثير تعيين متغير البيئة وافيفاس إلى 1. هذا يمكن أن يساعد على تجنب أخطاء القراءة بسبب مرحلة خاطئة في ملف الموجة. استخدام خيارات - f - pN2 لقراءة شكل كانون X-07. الآلات الحاسبة الرسومات كاسيو فكس-8000G و فكس-8500G مع واجهة فا-80 استخدام شكل - h. أعطت اختباراتي أفضل النتائج مع الخيار - h-. إدراج كنص هذه البرامج تفسر واف أو ملف ثنائي وإخراج محتوياته كبرنامج أو قائمة البيانات. البرامج هي list702. list730 و list850. جميع البرامج كتابة إنتاجها إلى وحدة التحكم التي يمكن إعادة توجيهها إلى ملف. كاسيو باسيك الكمبيوتر list702 مقابض فقط فكس-702P. ملفات البيانات غير معتمدة. list730 يعالج سلسلة ي-100، وهي فكس-730P. ملفات البيانات غير معتمدة. استخدام الخيار - e. إذا كنت ترغب في ترجمة الإخراج في وقت لاحق مع bas730 list850 يعرف عن جميع الآلات الحاسبة كاسيو باسيك الأخرى بدءا من ي-700، وهي فكس-850P. يتم دعم ملفات البيانات وملفات أسي المحفوظة مع سيف، A أيضا. استخدام خيارات - eP (أو - uP) و - LP عند سرد برنامج ي-1000. -2 يعالج جميع التفاصيل فب-200، وخاصة الترميز ثنائي مختلفة. كاسيو الرسومات الآلات الحاسبة قائمة list8000 وتحويل الملفات من آلة حاسبة الرسم البياني فكس-8000G. يتم دعم جميع أنواع السجلات. الأمر حفظ الاسم A يحفظ خليط من جميع الأشكال المتاحة: البرامج والمتغيرات (الذاكرة) والرسومات والملفات. list8000 يدعم تسلسل الهروب في سلاسل مثل البرامج الأخرى ورثت خيارات كوديباج من ListX07. تسلسل الهروب متوافقة مع تنسيق ملف كات (انظر أدناه). يتم تحويل الرسومات إلى ملفات بمب إذا كان الخيار - g موجودا. يجب أن يتبعها اسم ملف ينتهي ب. بمب ويجب أن يحتوي على حرف يتم استبداله من 1 إلى 3. يحتوي الملف الأول على دقة العرض بدقة 96 × 64 بكسل. الملف الثاني لديه قرار 192 من 128 بكسل. يتم استخدامه من قبل آلة حاسبة داخليا للطباعة عالية الدقة. إذا تم ضبط مفتاح التحديد على اليسار إلى N بدلا من هد أثناء رسم رسم بياني، يتم رسم كل نقطة ثانية فقط في الصورة عالية الدقة. كلا التنسيقين جزء من سجل الرسومات على الشريط. يتم إنشاء صورة ثالثة وهي نسخة من الأولى ولكن ثلاثة أضعاف الحجم: يتم رسم كل بكسل كمربع 2X2 مع كولوموم فارغة إلى اليمين و صف فارغ إلى أسفل. هذا يبدو أكثر مثل العرض الحقيقي حيث النقاط واحدة متباعدة قليلا. ويدعم list8000 التحويل إلى تنسيقات الملفات التي يفهمها برنامج فا-121 124 من كاسيو (انظر أدناه): شكل كاس لشكل فا-121 و كات من أجل فا-122 فصاعدا. مع كابل تسلسلي مناسب من كاسيو أو الحوسبة الصفراء - فكس واجهة أوسب كابل خرائط إلى منفذ تسلسلي منتظم - يمكنك توصيل جميع الآلات الحاسبة الرسومات الأخيرة مع الجولة ثلاثة دبوس موصل. منفذ أوسب المدمج في بعض الآلات الحاسبة لا يمكن استخدامها مباشرة لأن فا-124 لا يدعم ذلك في الوضع التقليدي (فا-123) وهو مطلوب من قبل شكل كات. هناك عدد قليل من الأشياء التي يجب أخذها في الاعتبار: ملف كاس: استخدام الخيار - cas وتوفير ملف الإخراج تنتهي في. CAS. يمكن اختياريا اختيارها من قبل مؤشر ما لوضعه في الملف: جميع العناصر والبرامج ومحرر الملفات والذاكرة أو معلومات المدى فقط. يتم استخدام تنسيق ملف كاس من قبل فا-121، وهو برنامج ويندوز 16 بت القديم. يجب تقييد نفسك إلى 83 اسم الملف لملف الإخراج. يمكن أيضا استيراد ملفات كاس من قبل برنامج فا أحدث. لا يتم إجراء تحويل رمز. حتى الجزء العلوي من خط آلة حاسبة من هذا الجيل، و كفكس-9800G، يجب تنفيذ بسعادة كل رمز فكس-8000G القديم. عند فتح ملف نوع A في فا-121، يتم إنشاء عناصر مفقودة مثل فاكتور تلقائيا ولكنها تحتوي على معلومات افتراضية فقط. استخدام الخيار - casP أو - cas7 إذا كنت تستهدف فكس-7700GB الذي يدعم نقل البرنامج فقط. الخيار الأخير له تأثير وضع الذاكرة المتغيرة وأي ملفات المحرر في مجالات البرنامج A. B. الخ الأول من هذه، يحتوي بروغ A. برنامج لضبط المتغيرات A إلى القيم الموجودة في الملف المصدر. يتم حفظ أسماء ملفات المحرر الأصلية كتعليقات في بداية كل برنامج تم إنشاؤه. لا تبذل أي محاولة لترجمة أي مكالمات اسم بروج. ملف كات: استخدام الخيار - cat وتوفير ملف إخراج تنتهي ب. cat. يتم قبول هذا الملف بواسطة فا-122124. يجب أن يكون فا-124 في الوضع التقليدي (موديل تايب: فكس-7400G كفكس-9850G) حتى لو قمت بتوصيل آلة حاسبة أحدث. يجب أن يتبع البادئة الاختيارية لتحويل اسم ملف البرنامج الخيار مباشرة (انظر أدناه). إذا لم يكن لديك كابل ثلاثة دبوس لا يزال بإمكانك محاولة خيار التحويل من فا-124 ونقل الملف المحول في وضع فا-124 الأصلي عبر أوسب. list8000 تحويل البرامج، ملفات المحرر، المتغيرات أز ومجموعة المعلومات في كلا الشكلين. الرسومات تذهب إلى تنسيق ملف كات فقط. تتم كتابة كافة المعلومات إلى ملف واحد. في ملف كات، يتم إعادة تسمية البرامج وفقا لموقفها في تسجيل المصدر. إذا قمت بحفظ كاسيت مع اسم ملف، سيتم استخدام هذا كبادئة. يمكنك اختياريا تقديم البادئة الخاصة بك بعد الخيار - cat. A في البادئة سيصبح رقم منطقة البرنامج. إذا لم يكن هناك في البادئة، البرنامج 0 سوف تحصل على اسم البادئة وحدها بينما يتم إلحاق أرقام 1 9 إلى مجالات البرنامج التالية. يتم تحويل المكالمات إلى بروغ n تلقائيا إلى اسم بروغ. تسجيل الشريط يفتقر إلى معلومات حول مجالات البرنامج الأصلي للبرامج المحفوظة. هذا يمكن أن يسبب المتاعب إذا كنت تتصل برنامج واحد من الآخر. الخيار - p يسمح لضبط المنطقة للبرنامج الأول في الملف إلى قيمة أخرى من 0. هناك بعض الاختلافات في بناء الجملة بين الأجيال المختلفة من لغة البرمجة كاسيوس. أبرز التعليمات سكل. لا يمكن تحويل كل و دت إلى تنسيق كات. للتغلب على هذا، يتم استبدال بعض الأوامر عند إنشاء ملف كات. هذا يجب تجنب أخطاء التركيب ولكن لا يمكن أن تساعد في جميع الحالات. E. ز. يتم استبدال الوصول إلى مجموعة من قبل الوصول إلى قائمة، ولكن إذا كنت تعتمد على تعيين معين بين المتغيرات أز والمصفوفات، لديك لتعديل البرنامج. يتم تغيير الأمر مكل لمسح المتغيرات A Z والإعداد قائمة 1 مع 26 عناصر. إضافته في بداية برنامج التعامل مع أراي الخاص بك. يجب ضبط حجم القائمة يدويا بعد التحويل. يتم تخزين الملفات النصية في تسجيل الشريط تحت اسمهم جنبا إلى جنب مع كلمات المرور الخاصة بهم. تنسيق ملف كات يحتفظ كل من اسم وكلمة المرور ولكن منذ هذا التنسيق ملف أسي يمكنك ببساطة تحرير كلمات السر بها. لا تحرير محتويات الملف مباشرة في ملف القط لأن حقل الطول لم يعد الصحيح ملفات كاس لا تحتوي على كلمات السر. الرسومات في ملف كات يتم تحويلها إلى أشكال مختلفة: Picture1 إلى Picture3 تحتوي على صورة تتمحور حول (96x64 على شاشة 128x64) في ثلاثة ألوان: البرتقالي. ازرق و اخضر. Picture4 لديه الأصلي 96x64 القرار باللون الأزرق. سوف الآلات الحاسبة مع شاشة أوسع رفض ذلك (في الواقع، لم أجد بعد آلة حاسبة أن تحميله). لا يتم تحويل صورة عالية الدقة لأنه لا يمكن للآلة حاسبة أخرى التعامل معها. في المثال الأول، سيتم إعادة تسمية البرنامج الأول على الشريط مياب-3.FX. مشغل إعادة التوجيه غ اختياري لإنشاء ملف كات ويجب إهمال إخراج ملف كاس. كانون X-07 listX07 يعالج كانون X-07. وهو يدعم الملفات الثنائية و واف من ساف فقط. تسلسل الهروب مختلفة قليلا عن آلات كاسيو لأن مجموعة الأحرف تختلف اختلافا كبيرا. انظر هنا للحصول على قائمة كاملة. يمكنك استخدام مجموعة أحرف تمديد دوس أو ويندوز (صفحات الرموز 437 أو 1252 على التوالي) على الإخراج مع الخيار - c. وهذا سيجعل العديد من الأحرف الخاصة في سلاسل أو تعليقات، دخلت مع مفتاح غرف على X-07، للقراءة على النظام الخاص بك. إذا كنت ترغب في ترجمة الإخراج في وقت لاحق مع basx07 يجب استخدام الخيار - e ويمكنك استخدام الخيار - c. كلا يمكن أن تكون مختلطة. إذا تم العثور على حرف مطابق مطابقة في صفحة التعليمات البرمجية المحددة، فإنه سيتم إخراج بدلا من تسلسل الهروب. list74 يتعامل مع تي-74. وهو يدعم الملفات الثنائية أو ملفات واف. يمكن إنشاء ملف ثنائي بواسطة wav2raw. يتم استخراجها من قبل الخيار - r في تشغيل سابق من list74. أو تأتي من واجهة جهاز الكمبيوتر تي: حفظها من تي-74 (أو سيسي-40) أو التي تم إنشاؤها بواسطة مترجم TIC74. استخدام الخيار - r إذا كنت ترغب في إنشاء ملف التي يمكن إرسالها إلى تي-74 من قبل برنامج واجهة الكمبيوتر. يجب أن يتبع اسم الملف الخيار شار مباشرة. لا يتم إنتاج أي قائمة ثم. list74 يعمل لملفات متتابعة مكتوبة على الجهاز 1. كذلك. خيارات - أ و - ج تعمل على غرار قائمة X07 ولكن تي يدعم الأحرف الوطنية أقل. على الأقل بعض الأحرف الخاصة مثل أومل، أومل، أومل أو سليغ يمكن استخدامها. لا يمكن إدخالها مباشرة على الجهاز ولكن قد تنزلق من خلال واجهة الكمبيوتر أو تظهر في ملفات البيانات. إنشاء من الملفات الثنائية ثلاثة برامج تفسر ملف ثنائي وإنشاء ملف واف منه يمكن نقلها إلى آلة حاسبة عن طريق بطاقة الصوت. البرامج هي wave730. wave850 و waveX07. البرنامج الأول يعالج سلسلة كاسيو ي-100، وهي فكس-730P، وكآثار جانبية، فكس-702P (ولكن اسم البرنامج المخزن في الملف غير صحيح عرض على الشاشة). الثانية مكتوبة للآخر الآلات الحاسبة الأساسية بدءا من ي-700، وهي فكس-850P. waveX07 يعالج كانون X-07. تسلسل الرصاص في أقصر مما هو عليه في ملف أصلي قادم من واجهة الشريط. هذا يوفر بعض الوقت عند تحميل الملفات. و فب-200 يحتاج أطول قليلا الرصاص الإضافية: استخدام -2 التبديل إنشاء من ملفات مصدر باسيك هذه البرامج تأخذ ملف المصدر، التي قد تم إنشاؤها من قبل أحد الأدوات المساعدة قائمة أو مجرد كتابة على جهاز الكمبيوتر، وإنشاء ملف الشريط في أحد التنسيقات التالية منه: ملف واف، ملف ثنائي أو ملف ترميز أسي ل بيوترس واجهة تسلسلية. البرامج هي Bas702. bas730، bas850 و basx07. The last two can create plain ASCII source files for transmission through a serial interface. BASIC programs can be written with lowercase or mixed case keywords. The utilities translate everything outside strings, comments or DATA lines to uppercase before further processing. Uppercasing can be suppressed for the newest machines which support case sensitive variable names. You can use a single apostrophe () instead of REM to start a comment. This is natively supported on the FX-850P and later models and on the X-07 but not on the older machines where it will be translated to REM or :REM depending on its position. Lines that do not start with a line number are ignored. This way you can have lenghty comments in your source code which are not downloaded to your pocket computer. Different generations and lines of pocket computers use different BASIC dialects. The differences are sometimes huge and sometimes very subtle. This ranges from the almost exotic FX-702P BASIC variant with abbreviated keywords like PRT instead of PRINT to minor quirks like the lack of USING in the FX-850P or the renaming of the logarithm functions in the PB-700 and PB-1000. The translators know about some of these specifics and try to bridge the gaps with special options. Of course some restrictions like variable name syntax or memory organization or the lack of functionality cannot be overcome. But I tried hard to avoid these nasty SN Error or ERR-2 messages resulting from unknown keywords where a perfect replacement on the target machine exists. VAC vs. CLEAR is a good example for this. Within the same family, some commands are valid for one machine but not for the other. The statistics functions of the FX-750P are unavailable on the PB-700. bas850 translates these functions to tokens but the PB-700 cannot list or execute them. This is equally true, if you load a programm written on and saved by the FX-750P directly into a PB-700. You will find a detailed analysis of the various BASIC dialects in my BASIC Comparison Sheet . You can translate source files especially written for the FX-702P or from newer Casios standard BASIC keywords like PRINT or INPUT are automatically translated to the special syntax of the FX-702P. The prefix FACT function is replaced by the FX-702P postfix factorial . Some unkown commands like REM or DATA are completely removed. This can lead to lines being deleted and therefore unavailable as jump targets. The PB-700PB-1000 logarithm syntax is supported with the - l option. The FX-702P supports only one array named A(). On the PB-100 series you better use Z() after DEFM when you do not want to overlap your standard variables with your array. bas702 translates the arrayname Z() to array A() to emulate this behaviour. bas702 supports escape sequences anywhere in the code in order to allow the use of the special characters of the pocket computer. An escape starts with a backslash character followed by either one or two characters (see table below) or a two digit hexadecimal code. Set the - e switch on list702 to include these sequences in a program listing Here is the character map: Code 0F is used as the space character. The BASIC tokens range from 60 to AF. The character escape sequences are: DG (deg), gt (greater or equal), lt (less or equal), ltgt (not equal), PI and E (exponent). These are case insensitive: PI and pi are equivalent. The strings gt. lt. ltgt. PI and E in numbers are automatically translated when they occur in normal code. There is no need to escape them, except when you want to use them in strings. The character is treated as deg. is the up arrow and is PI. and are lt, gt and ltgt respectively. So in order to print the character pi, any of the following will do: PI. pi. Pi or 3B. Outside of strings, PI. pi or Pi are also valid. FX-730P family If you have a source file from an FX-702P, which uses some special keywords like PRT or INP. translate your source with the - o option. If you want to port a program from one of the newer machines like the FX-850P, try option - n. The program does its best to translate to the older or newer syntax, but it is not foolproof. The FX-702P postfix factorial is translated to the prefix FACT function. The PB-700PB-1000 logarithm syntax is supported with the - l option. Since the BASIC of the PB-100, PB-300, FX-701P and FX-801P lacks some keywords, notably REM. use option -1 if you want to target one of these. The unknown commands are then excluded from the output. This may lead to lines being dropped as a whole. Their line numbers are no longer available as jump targets Options - n and - o are mutually exclusive. Option -1 may be combined with either one. bas730 supports escape sequences anywhere in the code in order to allow the use of the special characters of the pocket computer. An escape starts with a backslash character followed by either one or two characters (see table below) or a two digit hexadecimal code. Set the - e switch on list730 to include these sequences in a program listing Here is the character map (courtesy Piotr Piatek): Code 00 is used as the space character. The BASIC tokens range from 80 to D1. The character escape sequences are: gt (greater or equal), lt (less or equal), ltgt (not equal), PI. E-. E (exponent), SD. SL (small caps), GA (gamma), SI (lowercase sigma), -1 (small), . (quotes) (circle), SM (Sum), DG (deg), (triangle), (multiply), : (divide), SP (spade), HT (heart), DI (diamond), CL (club), MU (micro), OM (omega), YN (Yen), SQ (square), . (dot) and (block), (backslash), (gray block), (thick slash), Bgt (B) and TA (tau). These are case insensitive: PI and pi are equivalent. The strings gt. lt. ltgt. PI. E - and E in numbers are automatically translated when they occur in normal code. There is no need to escape them, except when you want to use them in strings or comments. The character is treated as deg. . and are the left, right, up and down arrows. So in order to print the character pi, any of the following will do: PI. pi. Pi or 1B. Outside of strings, PI. pi or Pi are also valid. PB-700 and FX-850P families and the FP-200 - tT format is just plain text with all source text translations performed. You can send the result directly to the serial or USB interface. The outfile can be omitted, the output goes to standard out then. This way, you can send the output directly to other utilities like md100. In Windows, the following commands will setup the serial port and send the file directly to the pocket computer: The mode command is necessary only once. On an FX-850P use LOADCOM0:6. to load the file. Ive tried this successfully with the USB-interface by Manfred Becker (see below .) - tA format is compatible with the PB-700, FX-850P series machines and the FP-200. But its slow because each program line is preceeded by a lead-in sequence of about two seconds. This is necessary because the computer needs some time to compile one line in memory before the next line arrives. This is still better than typing the code in. The FP-200 and the FX-850P support - tB format, a blocked variant of the - tA format. Blocking creates less but larger blocks and is therefore faster to load but cannot be used for the PB-1000. The -2 switch sets all relevant options for the FP-200 and adds some special quirks. If you target to this machine, use the -2 switch - t2 creates a binary file for the FP-200. It sets the -2 switch as well. To get a program from the PC into your PB-700, PB-770 or FX-750P, use switch - t7 to create a binary file. This will be much faster than - tA . - t8 is preferable over - tA or - tB if you target the FX-850 or the PB-1000. For the latter, - lF is needed as well, if you are using the correct LGTLOG syntax of the PB series. The token table only contains the FX syntax LOGLN keywords. The - lF switch takes care of the source text translation before the tokenization takes place. There is another caveat: The token table contains all keywords for all known variants of JIS BASIC. If your program uses such a keyword as a variable name on a machine where it is not a reserved word (e. g. VAC which is a replament for CLEAR on the FX-850P but free for use on the PB-1000) the tokenizer will accidently translate your variable name to a token. Rename your variable or use - tA mode instead In any case, be careful to select a speed ( - w or - f ) that is supported by your pocket computer Use - u if you plan to load the file into your FX-750P: This machine does not support lowercase letters On the other hand, option - l allows lowercase variable names and keywords as accepted by the newer machines otherwise, everything outside strings and remarks is translated to uppercase. If you have a source file from an FX-702P or from the PB-100FX-730P series, which have some special keywords like VAC, the - o option might help. The program does its best to translate to the new syntax, but it is not foolproof. The FX-702P postfix factorial is translated to the prefix FACT function. There is a problem with the different meanings of LOG, LN and LGT in the various versions of Casio BASIC. The PB-700 series, the PB-1000 and the FP-200 use LGT for the base 10 logarithm and LOG for the natural logarithm. The other machines use LOG for base 10 logarithm and LN for the natural logarithm. If your source file specifies LOG and LN but you want to transmit the file to a PB-700 or PB-1000, specify - lP to force a translation. In the opposite case, specify - lF if you transfer, for example, a source from a PB-700 to a FX-850P. If your source file already contains the correct logarithm functions, do not specify a conversion There is an Exception: If you are creating a binary file for the PB-1000, you need to use - lF (see above.) With option - d data files can be created for all machines. As a modern PC does not allow the pausing of the sound output to the tape interface by means of a Remote plug, there is the ltdelaygt parameter. It controls the time in tens of seconds between data lines or blocks. You may have to increase this value from its default (two seconds in non blocked mode, four seconds in blocked mode) if you program misses data. There are differences between the PB-700 and later systems. A PB-700 PUT command creates an unnamed tape file with as many lines as there are items in the command. Later systems use OPEN and CLOSE to create named files with as many lines as there are PRINT statements. The FP-200 and the FX-850P support large blocks of several records before a new lead-in sequence is output. Option -2 forces this mode. For other systems just set the the ltcountgt parameter of option - d to B. Here are a few examples: PB-700: bas850 - w - d30,1 DATAFILE. DAT DATAFILE. WAV This matches a single variable as in GET A. Set option - d30,3 for GET A, B,C. The value 30 for the lead-in time is arbitrary. In most cases the default of 20 works fine. For each tape file, two blocks are written to the wav-file, header and data, each with its own lead-in of the requested length FX-850P: bas850 - w - d, B DATAFILE. DAT DATAFILE. WAV This will create a file with large data blocks. The lead-in time per block is 40 in this case. You can try to decrease it to 30 or some such. FP-200: bas850 - w - d -2 DATAFILE. DAT DATAFILE. WAV Option -2 forces large blocks and a modified line end (CR LF). This is FP-200 specific. bas850 supports escape sequences anywhere in the code in order to allow the use of the special characters of the pocket computer without resorting to the CHR function. An escape starts with a backslash character followed by either one or two characters (see table below) or a two digit hexadecimal code. Set the - e switch on list850 to include these sequences in a program listing Here are the character maps for the PB-700 and the FX-850P (courtesy Casio and some editing by me): PB-700 and PB-1000 character map. The FP-200 uses a reduced version of this map. FX-850P character map. Also valid for VX and Z machines. The character escape sequences for the FX-850P are: AN (Angstroumlm), IN (integral), RT (root), (over), SM (Sum), OM (omega), (gray block), (block), AL (alpha), BT (beta), GA (gamma), EP (epsilon), TH (theta), MU (micro), SI (sigma), P S (psi), S0. S9. S. S-. SN. SX. -1 (superscripts), : (divide), . (dot), DG (deg), gt (greater or equal), lt (less or equal), ltgt (not equal), . V. lt-. - gt (arrows), PI (pi), SP (spade), HT (heart), DI (diamond), CL (club), SQ (square), (circle), TR (triangle). (multiply), PN (pound), CN (cent), -. - (signs), YN (Yen), (backslash, same as Yen). These are not case sensitive: PI and pi are equivalent. The symbolic escape sequences help in porting software from the older PB-100FX-700 series machines and are easier to remember. Just use the - e switch on list730 . Use option - uF if you have created the source text in UTF-8 format. A complete list of the supported extended characters is contained in the following document: CasioFX-850PCharset. pdf With option - eP set on bas850 . a different set of character escapes is used, because the PB-700 and PB-1000 support a different character set. Hexadecimal escapes are not affected by this option. The following codes are used instead (some looking a little strange, like the arrows): 1. 8 (horizontal bars), 1. 7 (vertical bars), (over), (gray block), (block), . (dot), DG (deg), . V. lt-. - gt (sort of arrows), SP (spade), HT (heart), DI (diamond), CL (club), LD (large dot), (circle), TR (triangle), YN (Yen), (backslash). Use option - uP if you have created the source text in UTF-8 format. A complete list of the supported extended characters is contained in the following document: CasioPB700Charset. pdf On the PB-700 and the FX-750P, lines with escape codes beyond 7F cannot be edited because the codes are replaced by their corresponding keywords when using LIST or EDIT. You can still LOAD and RUN such a program. Code F0 (multiplication sign) is not allowed on these machines because it breaks the transmission protocol. It can only be used in the form CHR(ampHF0). Canon X-07 The program supports three output formats: - b creates a binary file, used mainly for debugging the tokenizer or later translation with waveX07. - w creates a WAV file which can be fed to the computer via the sound card. - t creates plain text but all source text translations are performed. The delay value inserts a short break for the slow X-07 and controls the line termination: CR only if a delay is specified, the system default (CRLF for DOS, LF for Unix) without delay. The output can be sent to your machine directly via the serial interface (see below for details.) The Canon X-07 has an extended character set with many special characters for foreign languages like French or German. You can use your favorite editor in DOS or Windows and type text in strings, comments or data lines without worrying about the encoding. If you are on DOS use option - cD. on Windows use option - cW. If your text is in UTF-8 format use option - cU. Escape sequences are supported as well such as :A for Auml or e for eacute. The complete list is in the following document: CanonX-07Token. pdf. You can use binary escape sequences like 86 for Auml. جدا. A single backslash serves as the marker for an escape sequence. Therefore, in order to enter a backslash for the integer division, you need to encode it as (or YN because it is displayed as the Yen symbol yen on the machine). Using the serial interface on the Canon X-07 to enter a program The Canon X-07 lacks the ability to load an ASCII program with the LOAD command from the serial interface. Instead, it can be remotely controlled from another computer or terminal over the serial line. This way, an ASCII file can be simply typed in from the controlling system. To enable this feature, it is easiest to type in a small program first: The program is now ready to be run from the memory disk with RUNREMOTE. Before you start downloading, make sure to delete the current program. Otherwise, new lines will be merged with existing ones. You can now send your source from the PC. The following example is for a command prompt on Windows: The mode command is necessary only once. The basX07 command assumes that you have entered the text with a windows editor and you want to translate extended characters from Windows to the machines character set. If you see obvious garbage on the display, then the X-07 was too slow to read and store all the lines. You will then need to reduce the speed further or increase the delay after option - t . Turning the machine off and on returns control to the keyboard. An example: Dumping the memory of a PB-770 Here is a short example on how to get the RAM contents of a PB-770 as a binary dump file into your PC. This does not work for the FX-750P or the PB-700 because they lack the necessary PEEK function. Only RAM can be accessed, PEEK does not read out the ROM contents. PEEK(ampH0000) and PEEK(ampH8000) return identical values. PB-770 BASIC source The following source text should be created on the PC and transferred to the PB-770 via sound card: Save the file as pb-dump. txt and translate it to a WAV file: The wav file can now be downloaded to your PB-770. A simple LOAD on the machine will do. Getting the data into your PC Set up your recording software on the PC and start recording. You will need a lot of space. About half of the recording will be silence which you can edit out later if you like. Now run the program and enter the start address and the number of kilobytes to transfer. RAM seems to start at address 0000. Without RAM expansion, the size is 8 kb. Each block of 256 bytes takes about 75 seconds to collect and another 70 seconds to write out. This totals to about 80 minutes for 8 kb of RAM. After the last block has been written, save the recording as a WAV file, lets say as dump. wav . Converting the data The following command converts dump. wav into a readable format: The conversion takes its time because of the size of the WAV file. The file dump. txt can be inspected with an editor or treated with the following simple C program: The filenames dump. txt and dump. bin are hardcoded into the source. Feel free to improve it. The binary file is updated with each run of the program so that you can upload the dump in chunks of your liking. The new data will be inserted or updated in the correct position of dump. bin . Download all files including Windows executable of undump. exe here: mvcsys. dedownloadpb-dump. zip How to handle floppy disk images Creating an image An MD-100 image is a file that contains the sectors of a real 3.5 floppy disk. The disks are written with 80 tracks and 16 sectors of 256 bytes length on each track. Only one side of the disk is used. I use double density disks (without the second hole in the case) but high density disk may work if you cover the hole with black tape. You should format the floppy in the MD-100 drive. Now you need access to a Linux PC. Sorry, I havent written software yet to copy the disk under DOS or Windowsreg. In order to access the disk physically you need to tell the floppy driver about the format of the disk. Ive had success with the package fdutils-5.5 . In the Linux subdirectory of casutil youll find shell scripts to setup the drive, read and write floppies. The setup script makedev. sh creates the device devfd0casio and configures it with setfdprm SS DD ssize256 sect16 . Copying is done with dd . The sample script getmd100.sh creates an image file named md100.img . The md100 program can create an image if you precede the image name by the option - c. It is possible to create disk images of up to 512 blocks instead of the default 320 blocks, but these cannot be written back to a real disk. A new image is filled with empty blocks. The option is mostly ignored if the image already exists but you can increase the maximum allowed size of the image with its parameter. Writing to a floppy The image created in the step above can be written back to a real floppy in pretty much the same way. A sample script putmd100.sh is provided in the linux subdirectory. Manipulating files A single program, md100 . does all the manipulations to the disk image (or the real disk on some operating systems, see below .) Patterns are DOS style, but you can use for all files. Wildcard expansion on local files depends on the platform. On Linux this is automatic, on other platforms it depends on the compiler. The Borland compiler has wildcard support, the library wildargs. obj is automatically linked in by the compile jobs provided with the package. Patterns for files on the floppy must be included in double quotes. MD-100 filenames and types The MD-100 filenames are only eight characters long plus three characters for a file extension. Filenames can contain many characters not allowed on your PC. Case is respected just like on Unix file systems. There are no subdirectories on an MD-100 floppy. Files have an additional attribute, the file type. Both the PB-1000 and the PB-2000C use the file type to select the correct handling of a file selected from the menu. I know of the following types: S - Sequential files, including MEMO files, assembly source files, C data files, files loaded via RS-232C and BASIC programs saved with SAVE, A. Sequential files are opened with the MEMO editor and can be read and written by BASIC or C programs. The contents is ASCII text with CR LF delimiters. R - Relative or Random data files. They can only exist on a disk, not in PB-1000 RAM. C does not use type R files. The contents is defined by the BASIC FIELD statement. M - Machine code files, created by the PB-1000 assembler. B - BASIC programs in internal representation. C - C source or BAT files. The contents is ASCII text with CRLF delimiters, just like sequential files. The PB-2000C can change the file type between C and S from the menu. The PB-1000 misinterprets a type C file and thinks it is a type R file. Consequently it refuses to copy such a file to RAM. There is an additional attribute byte stored in each directory entry on the disk. Bit 0 is used to protect a file. You can set or select the attribute byte with the - p option. Space allocation is done in blocks of 4 sectors (1KB) each. The size in bytes is computed by multiplying the total number of sectors by 256 and searching backwards the last sector of the file for the EOF marker 1A. The marker is added even on empty files. The following examples assume that you have an image named md100.img in the current directory and that the md100 executable is in your path. Listing the disk directory If you want to specify a pattern, the command name dir must be spelled out: The double quotes around the patterns are essential The - i option forces a case insensitive search. You can use the - u or - l options to convert all filenames to upper or lower case. With the options - t andor - p the listing can be restricted to files of a certain type or with a certain protection setting: Listing files Files on the image can be displayed as text with the type command: (Ask me for a complete listing. The authors pages have seemingly gone.) The file name(s) can be patterns and the options - i. - t and - p do also work. If more than one file is specified, each listing is preceded by the filename and a colon. Listings can be binary (hex dump) or ASCII (the default for most file types). You can force a specific listing style with the options - b or - a : As you can see, BASIC programs are decoded from their internal, tokenized form. I cannot guarantee that the decoder works correctly in all cases, save your programs in ASCII from the calculator if you want to be on the safe side Option - e creates the same escape syntax as list850 does. Copying files to the PC The commands get and mget copy single or multiple files from the image to your PC. The only difference is that get just copies one file (in case of a pattern the first that matches) while the second argument is the new name given to the file on your PC. With mget you can copy a bunch of files in one go but your options to rename the files on your PC are limited to a directory name given with the - d option. Both commands allow the file selection options - i. - t and - f and the case conversion options - l and - u . Use get to copy a single file: This will copy the binary file, not the ASCII code of PI. BAS. You can specify no destination at all (defaults to the current directory), an explicit name, a directory ending in or a name ending in . The trailing in the destination filename is replaced by the source file name. If you want an ASCII copy (just like the type command) specify the - a option. Escape syntax can be created with the - e option: If you want to copy multiple files, use mget : The destination (after the - d option) must end in a directory delimiter or . This is prepended (without the trailing ) to the filename from the floppy image. The source filename pattern(s) must be enclosed in double quotes to prevent the shell from interpreting the wildcard characters. Some characters from the source file name are translated to an underscore. Copying files to the floppy image The commands to copy PC files to the floppy image are put and mput . Again, the main difference is that put copies just one file while mput copies a bunch of files in one go. When copying files to the MD-100 image or the floppy, you need to decide which type to assign to the file. The md100 program tries to guess the file type from the extension correctly:.c ..h and. BAT files are of type C..BAS is type B..REL is type R and all others are type S. You can override this with the - t option. The protection attribute is set to 0 by default but can be changed with the - p option. Files saved on your PC with mget in binary mode should be copied back with the - b switch set. This ensures that the file is transferred unchanged to the floppy image. PC text files should be transferred with the - a switch set to ensure ASCII mode. This way, the correct line termination ( CR LF ) is forced on the destination file. ASCII mode is default for all files except types M. R and B. Escape syntax is supported with the - e option, just like in bas850 . If you are unsure whether a copy command will do what you intended, use the option - n before the image name or between the command and its parameters. This prevents updates to the image or the floppy. Use put to copy a single PC file to the image: Since no destination filename was given it was built from the source file. The - u option forces the name to be all upper case. The - e option interprets escape sequences like PI or 80 and translates them to their binary equivalent. The file PI. ASC can later be opened on the PB-1000 with the memo editor or it can be loaded from the BASIC command prompt with LOAD0:PI. ASC. The BASIC interpreter compiles the file to internal format upon loading. You can use piping with the put command if you replace the source filename with stdin or stdin. EXT. Its better to provide a destination filename with a proper extension. Otherwise, the file will be created under the name stdin. EXT . Here is an example: The option - lP of bas850 will translate the fx-850 logarithm syntax LOG LN to the PB-100 syntax LGT LOG . With put and mput . destination names can be patterns included in double quotes. In order to copy all files ending on. asc on your PC to the floppy image and renaming them to be all lowercase and to end on. txt . enter the following command: Note the double quotes around the MD-100 pattern. txt but not around the PC pattern. asc . The third column is the size in blocks. Renaming or deleting files and setting file attributes The commands ren , del and set change the directory of the floppy image. They all work on file patterns or on single files. To rename all BASIC files to lower case with the extension. bas use the following command: As usual, all patterns must be enclosed in double quotes. With the ren command, all patterns except the last are considered source files, the last pattern forms the new name(s). To delete some C files from the image, enter: Use option - tC and the pattern to delete all type C files. To change all type C files to be of type S and alter the protection attribute, enter: This allows access to the files created by the PB-2000C from a PB-1000. The protection attribute is supposed to protect the file against writing. Direct floppy access On Linux, you can replace the image name in the md100 commands by devfd0casio . the device created with makedev. sh. All operations are directly performed on the floppy. Thats much slower than manipulating an image but you save the work of copying the image back and forth. On Windows youll need an additional package, LibDsk. This is a library to directly access floppies in various formats. See the file readme. txt in the win32 subdirectory. The library is cross platform and it should be perfectly possible to use it on other platforms. I simply havent tried it, yet. You can set the - DLIBDSK switch of your C compiler and try for yourself. To access the floppy, replace the image name with A: . Ive written an OS2 floppy access module as well, but that doesnt work, I keep getting read errors. My interest in OS2 has ceased so updates are unlikely. -( BASIC Comparison Sheet Ive made an attempt to compare the various BASIC dialects of different pocket computers in tabular form: Download page. The link points to the online version of the download page, a local copy is part of this package. The comparison includes Casio, Sharp, HP, TI, Canon and Epson machines. Casio Pages The following Internet sites have more or less influenced my work. More links can be found on these pages. Piotr Piatek has inspired much of what you can find here. Some recent bug fixes and contributions, e. g. direct floppy access from DOS, are by him. He has a deep insight in Casio hardware and has even built the interfaces himself. Visit his site at pisi. plpiotr433index. htm Ledudus site, dedicated to Casio calculators and pocket computers, with many pictures and links: ledudupockets. asp (English and French). Information about the PB-700 can be found on the pages of Christophe le Glatin, now hosted by Ledudu: casio. leduducasiopb700casiopb700.htm. Some French r equired. Thomaacutes Wrobel has collected technical information about the PB-1000: itkp. uni-bonn. de Viktor Toths rskey. org is a site that deals with many programmable calculators, among them several Casio models: rskey. org . The Pocket Computer Museum has many pictures and technical data. It hosts some software for Sharp pocket computers: pocket. free. frindex. html . SilRun Systems (Silent Runner) hosts many scanned Casio manuals: silrun. de . Manfred Becker has created a USB interface and a BASIC program editor for the FX-850P and its successors: manib. ma. funpic. dedetaschenrechner. htm (German pages only). The various file formats of Casio graphics calculators are the topic of the Casio file format documentation project. casetta. tuxfamily. orgformats . Casios communication software FA-124 can be downloaded here: world. casioeduresourcesfa124 Floppy access LibDsk . the library used to access the floppy to manipulate MD-100 disks is written by John Elliot: seasip. demon. co. ukUnixLibDsk . The auxiliary Windows driver fdrawcmd that LibDsk uses is the work of Simon Owen: simonowenfdrawcmd . Contact: Marcus von Cube ltmarcusmvcsys. de gt Page last updated: March 15, 2015ImageMagick v6 Examples -- Color Modifications To explore these technqiues we will need a test image. Dont worry above how I actually generated this image, it is not important for the exercise. I did design it to contain a range of colors, transparencies and other features, specifically to give IM a good workout when used. If you are really interested in the commands used to generate this image you can look at the special script, generatetest , I use to create it. WARNING: The color processes below generally assumes the image is using a linear colorspace. Most images are however saved using a sRGB or Gamma corrected colorspace, as such to get things right colorspace correction should also applied first. Converting Color to Gray-Scale Gray scale images can be very useful for many uses, such as, furthering the processing of the original image or for use in background compositions. The best method of converting an image to gray-scale is to just ask IM to convert the image into a gray-scale Color Space representation for the image. Note how the blue is much darker than the red, due the weighting to match the intensity as they seem to appear to the human eye. That is, red is quite a bright color compared to blue which looks darker. This is equivelent to the use of the rec709luma conversion formula with the dedicated - grayscale operator (Added IM v6.8.3-10). The rec709luma value is just one of many greyscaling formula that has been defined for use by the - intensity setting (see below). Here for example is the other common greyscaling formula rec601luma As you can see there is a slight different in intensity levels for the different red, green and blue color channels. However there a many other methods, and meanings of gray-scale. For example, you can drain all the color out of the image by using the Modulate Operator. to set all color saturation levels to zero. This essentually converts the image to the HSL colorspace, and extracts the grayscale Lightness value from that colorspace. However using a - define modulate:colorspace you can specify other colorspace models to use. See Modulate in Other Colorspaces below. Note how the IM green color I used for the center colored disk in my test image is not actually a pure green, such as used in the colored rainbow, but the half-bright green defined by the new SVG -- Scalable Vector Graphics standard. If you need a pure RGB green you can use the color lime instead. See Color Name Conflicts for more detail. Another way is to use the FX DIY operator to average the three channels together to get a pure mathematical meaning of gray-scale. The average of sRGB channel values also equivelent to the intensity channel of OHTA colorspace (red channel). Or the I channel of HSI. colorspace. Another technique is to simply add all three channels together (a color measure known as manhatten distance) and while the resulting image will not loose information due to quantum rounding effects, you may loose information about the brightest colors. Unfortunately, you also loose the transparency channel, too. You can use the same adding channels technique to control the weighting of the individual color channels. For example this is one DIY formula that you can use. The above would suffer from quantization effects for a ImageMagick compiled at a Q8 Quality Level. That is because the results of the - evaluate will be saved into a small 8 bit integer, used for image values. Only later are those values added together with the resulting loss of accuracy. An ImageMagick compiled with Q16, or better still the HDRI. quality compile options will produce a much more exact result. Another new alternative is the Poly - Weighted Image Merging Operator. which will do the weighting and addition of the separated channel images in one operation, so avoiding quantum rounding effects. A similar technique can be used to generate a pure mathematical gray-scale, by directly averaging the three RGB channels equally. However as you can see, I did not attempt to preserve the alpha channel of the resulting image. Another fast alternative is to use the - recolor color matrix operator, which will let you specify the weighting of the three color channels. This doesnt affect transparency, but makes it a much better way of converting colors using a specific weighting. Basically the first row of numbers is the channel weighting for the resulting images red channel, next 3 for green, and the final three numbers for blue. You can also use - type to tell IM to treat the image as gray-scale, when either reading or writing the image. The - type setting is generally only used as a guide when an image is being read or written to a file. As such its action is delayed to the final write of the image. Its effect is also highly dependant on the capabilities of the image file format involved and is used to override ImageMagicks normal determination during that process. See the Type examples for more information. Before IM v6.3.5-9 the above will have removed any transparency in the written image (equivalent of a - type Grayscale ) due to a bug. This was fixed as soon as I noted the problem and reported it. (There is a lesson here :-) A much more interesting technique is to extract a variety of different meanings of brightness by extracting the appropriate Color Channel from various Colorspace representations of the image. Examples see Grayscale Channels from Colorspace Representations. Image Level Adjustments The most basic form of adjustment you can make to images are known as level adjustments. This basically means taking the individual RGB color values (or even the alpha channel values) and adjusting them so as to either stretch or compress those values. As only channel values are being adjusted, they are best demonstrated on a gray-scale image, rather than a color image. However if you adjust all the color channels of an image by the same amount you can use them with color images, for the purposes of either enhancing, or adjusting the image. Do not confuse this with the more automatic form of level adjustments, which we will look at in the next major section of examples below, Normalize Adjustments. This function will do exactly the same operation regardless of the actual content of the image. It does not matter if the image is bright, or dark, or has a blue, or yellow tint. The operations are blind to the actual image content. In demonstrating these operations I will be using a modified gnuplot graph such as shown to the right, which I generate using a special script imgraph . The graph has a red line which maps the given original x value (representing the gray-scale value of the top most gradient) to the y value shown. The resulting color gradient is also shown underneath the input linear gradient. The graph shown to right is of the IM - noop operator which actually does nothing to an image. As such each of the images color values are just mapped to exactly the same value without change. The lower gradient is thus the same as the upper gradient. Image Negation The simplest and most basic global level adjustment you can make is to negate the image, using the - negate image operator. Essentially this makes white, black, and black, white. adjusting all the colors to match. That is, it will make the color red, its complementary color of cyan, and blue, yellow, etc. You can see this with the mapping graph shown below, as I use the - negate operator on both the test image and the standard IM rose built-in image. Note how the lower gradient in the mapping graph image is now reversed, so that black and white are swapped, and the same reversal appearing in the negated test image. Note that 25 is a huge contrast enhancement for any image, but it clearly shows what it does. You dont have to change both the black and white points. Instead it is quite permissible to just adjust only one end of the color range. For example we can make a very light, or a very dark rose image. However I again warn you that the colors outside the given range are clipped or burned, and as such will no longer be available for later image processing. This is the biggest problem with using a - level operator. By using a negative value you can do some rough de-contrasting of an image. What this means is that rather than providing a color value for the values to be mapped to black and white and thus stretching out the colors in between, you instead compress the color values so as to map the imaginary negative color to black or white. The result is a general graying of the image. This method of de-contrasting an image however is very inaccurate and not recommended, unless you have a IM older than version 6.4.2 where you dont have access to the new Reversed Level Operator. You can use the - level operator to negate an image (as previously shown above, just by swapping the black and white point values given, using - level 100,0 . Or by setting them to the same value, you can effectively call all the color values in the image to be thresholded. Using - level to threshold an image is exactly the same as if you used a Threshold Operator with that value. The mapping graph shown right, shows the results of a - level 50,50 operation, and its effect on a grayscale gradient. Note that unlike - threshold the image is not automatically converted to a grayscale image when used with the default - channel setting. The general nature of using level to linearly modify an image, makes the - level operator good for general gray-scale image modifications, and mask adjustments. Add the fact that you can modify individual channels (using the - channel setting) as opposed to the whole image, makes it one of the best color modification operators available to IM users. N ote you can also use the Evaluate and Function Operators for a more direct mathematical modification of the color values, to achieve the same results for - level both and - forms). Be warned that the - level operator treats the transparency channel as matte values. As such 100 is fully transparent and 0 is opaque. Please take this into account when using - level with a blurred shape image. This is most typically done after blurring an shape image, to expand and stretch the results. For examples of this see Soft Edges. and Shadow Outlines. Reversed Level Adjustments -- Decontrasting Images As of IM version 6.4.2 the Level Operator was expanded to provide a reversed form level (note the plus). Alternatively you can use the original - level form of the operator but add a . to the level argument given (for older API interfaces). The arguments for this variant is exactly the same, but instead of stretching the values so as to map the blackpoint and whitepoint to black and white, it maps black and white to the given points. In other words level is the exact reverse of - level . For example here we map black to a 25 gray, and white to 75 gray, effectively de-contrasting the image in a very exact way, using the two methods of specifying the reversed form. If you compare the above level 25 operation with the use of a a negative de-contrasting, - level -25 operator we showed previously, you will see that are not the same. The plus version produces a much stronger de-contrasted image (it is greyer), but does so by mapping to the exact values you give the operator, and not the imaginary values the minus form used. This exact value usage is important, and one of the reasons why the plus form of the operator was added. Of course a 25 is again a very large value, and it is not recommended for use with typical image work. Note that the - level and level , are in actual fact the exact reverse of each other when given the same argument. That is, one maps values to the range extremes, while the other maps from the range extremes. For example here we compress the colors of the test image using level , then decompress them again using - level , so as to restore the image close to its original appearance. The two images appear to be very very similar, and as I am using a high quality Q16 version of IM, you will be hard pressed to notice any difference at all. However the values may not be exactly the same, as you have effectively compressed the color values of the image to a smaller range of integers, and then restored them again. In extreme cases this can result in Quantum Rounding Effects. Doing these two operations in the opposite order (stretch, then compress the color values) will produce Quantum Clipping Effects. One other useful aspect of the level operator is that you can completely compress all the color values in an image to the same gray-scale level. By specifying levels according to the values of specific colors for each individual channel, you can effectively convert a greyscale gradient into a specific color gradient. However this is rather difficult to calculate and do. As such a - level-colors operator has also been provided that will let you specify the black and white points in terms of specific colors rather than level values. See Level by Color below. Level Gamma Adjustments Both the above - level variants also allow you to use a third setting. The gamma adjustment value. By default this is set to a value of 1.0 , which does not do any sort of mid-tone adjustment of the resulting image, producing a pure linear mapping of the values from the old image to the new image. However by making this value larger, you will curve the resulting line so as to brighten the image, while shrinking that value will darken the image. For example here I use just the gamma setting to brighten and darken just the mid-tones of the image. Values generally range from 10 for a blinding bright image, to .2 for very dark image. As mentioned a value of 1.0 will make no gamma changes to the image. However the special value of 2.0 (see above) can be used to get the square root of the images normalized color. Both versions of the - level operate handles gamma in the same way. This means you can combine the level adjustment of the black and white ends with a non-linear gamma adjustment. You can also only adjust a single channel of an image. For example, here we give an image a subtle tint at the black end of just the blue channel, while using gamma to preserve the mid-tone color levels of the image. This specific example could be used to tint a weather satellite photo, where only the sea is pure black, while land is more grey. Other alternatives to this blue channel adjustment are given below in DIY Mathematical Non-linear Adjustments. Gamma Operation Adjustments The - gamma operator is also provided, and has exactly the same effect as the gamma setting in the - level operator. However it will let you adjust the gamma adjustment level for each individual channel as well. Its real use is in adjusting the gamma function of an image before performing linear operations on them. For more details see Human Color Perception and Gamma Correction. We can also use this function to brighten the image differently for each individual RGB channel. For reasons about why you should used this function see Gamma Correction. This function actually equivelent to the Evaluate POW function but with the argument inverted. As such a - evaluate POW 2.2 will actually do a - gamma 0.45455 (0.45455 is equal it 12.2) operation, which is the reverse of a - gamma 2.2 . One of the less obvious uses of - gamma is to zero out specific image channels (see Zeroing Color Channels ). Or color an image completely black, white or some other primary color (see Primary Colored Canvases ). Level Adjustment by Color The - level-colors operator was added to IM v6.2.4-1. Essentially, it is exactly the same as the Level Operator we discussed above, but with the value for each channel specified as a color value. That is, the - level-colors option will map the given colors to black and white and stretching all the other colors between them linearly. This effectively removes the range of colors given from the image. And while this works, it is not particularly useful, as it is prone to fail for colors that have common values in some channel. For example, the colors DodgerBlue and White have the same color values in the blue channel. As such, - level-colors DodgerBlue, White may not always convert those colors to black and white. The better technique in that case is to extract a greyscale image of the channel with the highest differences (such as red) and level or normalize that channel. WARNING: watch out for transparent colors. The plus form of the operator level-colors on the other hand is extremely useful as it will map the black and white color to the given values compressing all the other colors linearly to fit the two colors you give. For example lets map black and white to green , and gold . As you can see the grayscale gradient is remapped into a gradient bound by the colors given, and although colors outside a gray-scale range are also modified, they will also follow the basic style of the color range specified. This makes the level-colors operator an extremely useful one, especially when mapping grayscale images. If you only supply one colorname but include a comma, the missing color will default either to black or white as appropriate. This makes it easy to convert grayscale images into a gradient for any color you like. For example here I remap a black and white gradient to a red and white gradient, (note the , in the argument). This didnt just replace black with red but also re-mapped all the anti-aliased gray colors to an appropriate mix of red and white, producing a very smooth result. If I had just performed a simple Direct Color Replacement converting pure black colors to red, I would end up with the horrible image (showen right). See Fuzz Factor for the example used to generate that image. Of course if you want one of the colors to be made transparent instead you are better off using the - alpha Shape operator instead, as this requires you to transfer the gradient into the alpha channel. If you only specify a single color, without any comma separator, that color will be used for both black and white points. That means all the colors in the image will be reset to that one color. (according to the current - channel setting limitations). This is an identical result to using - fill DodgerBlue - colorize 100 to Colorize Images (see below). If you want to set the images transparency setting as well you will need to set - channel to include the transparency channel, OR set the Alpha Channel to fully-opaque, using either - alpha opaque or - alpha off . Here are a few more examples of using this to adjust or tint a colorful image, rather than a gray-scale image. In summary the level-colors is a gradient color replacement, a linear tinting operator, and can also completely reset colors. Sigmoidal Non-linearity Contrast From a PDF paper on Fundamentals of Image Processing (page 44) they present an alternative to using a linear contrast control (level), with one using gamma correction known as sigmoidal non-linearity contrast control . The result is a non-linear, smooth contrast change (a Sigmoidal Function in mathematical terms) over the whole color range, preserving the white and black colors, much better for photo color adjustments. The exact formula from the paper is very complex, and even has a mistake, but essentially requires with two adjustment values. A threshold level for the contrast function to center on (typically centered at 50 ), and a contrast factor ( 10 being very high, and 0.5 very low). For those interested, the corrected formula for the sigmoidal non-linearity contrast control is. Where alpha is the threshold level, and beta the contrast factor to be applied. Here is a alternate version of the formula using intermedite variables. x exp( beta ( alpha - u)) y exp( beta 1 result (x y 1) (1 (x 1) - 1 y) The formula is actually very simple exponential curve, with the bulk of the above formula is designed to ensure that 0 remains zero and 1 remains one. That is, the graph always goes though the points 0,0 and 1,1. And the highest gradient of change is at the given threshold. Here for example is a - fx implementation of the above formula, resulting from a very high contrast value of 10 and a 50 threshold value. These values have been rolled into the floating point constants, to speed up the function. I did say 10 was a very heavy contrast factor. In fact anything higher than this value can be considered to be more like a fuzzy threshold operation, rather than a contrast enhancement. For a practical example of using this operator see the advanced Gel Effects Example. where it is used to sharpen the bright area being added to a shaped area color. Miscellaneous Contrast Operators Adjustments Using Hist ogram Modification This section was a joint effort by Fred Weinhaus and Anthony Thyssen. What is a histogram A histogram is a special type of graph. It simply sorts the color levels of the pixels in an image into a fixed number of bins each of which span some small range of values. As such each bin contains a count of the number of color levels (pixel values) in the image that fall into that range. The result is a representation of how the color values that make up an image are distributed, from black at the left, to white at at the right. The histogram can be generated for each channel separately or as a global histogram which looks at values from all the channels combined. The result is often displayed as a image of a bar chart. In IM, this is done using the special Histogram: output format. فمثلا. But it can also be displayed as a line graph where the line connects the tops of the bars. This will be demonstrated later in the discussion below. See Histogram: for more details of this special output format. This is recommended reading at this point as it is the best way to extract histogram information about images using IM. A histogram charts actual height has little actual meaning, since it is usually scaled so that the highest peak touches the top of the image. As such the height of each individual bar is not relevant. What is much more important is the distribution of the histogram over the whole range, and how the relative heights relate to each other over the whole of the chart. When looking at a histogram you would consider the following factors. Does the histogram form one wide band of values This means that the image makes wide use of the colorspace and thus has good contrast. Or is it all in a tight group in the middle or at one end of the range This means the image has a low contrast, making it look fogged or grayed, or perhaps overly light or dark. Does it form two or more peaks As a result of highly different areas or regions in the image. Where are most of the pixels At the left, meaning the image is very dark. Or at the right, meaning it is very bright. Or spread out around the middle Are there regular gaps or empty spaces between individual bars This usually means either the image has very few pixels, so it could not completely fill out the whole histogram, or the image was color reduced, or modified in some way, so as to produce those gaps. Essentially a histogram is a simpler representation of an image, and as such it is much easier to change or adjust an image in terms of its histogram. Almost any mathematical color transformation that one applies to an image will normally cause not only the image to be modified, but its histogram as well. These include linear operations such as the Level Operator or non-linear operations such as the Gamma Operator. (see above). The mapping graphs we saw above represent how the graylevels in an image and thus how the images histogram is to be transformed. For example, lets make a low contrast image to demonstrate. However, the final result is that it not only modifies the image, but does so by modifying the images histogram (by compressing it). In the above case, - contrast. is a simple Level type operator that adds just a little more contrast to the image. the result of this is that the histogram itself is spread out more, causing it to cover the whole of the possible color range better. You can also see from the histograms, before and after, that the colors will also end up with gaps and holes between the bins, due to the way in which the stretching was performed. Specifically it creates a histogram with all the colors being places into bin. These binned colors are then modified as a whole, causing the image colors to be grouped together. It is not a particularly good way of handling image colors. This operator however works blindly, without any knowledge of the image content or color distribution. It thus cannot be done without some user control, as the operator could very easily make any image it is applied to, worse, rather than better. In this section we will look at image processing operators that examine the images histogram as part of its decision making process. It then modifies images using the result this study, so as to enhance some quality of the image color distribution. As these operators make use of actual information coming from the image being processed, they can often be used more globally over many images with much checking by the user. Operators of this type include automatic linear level type operators such as - normalize , - contrast-stretch , and - linear-stretch , but also non-linear ones such as - equalize , and others that may eventually be included into ImageMagick such as Fred Weinhauss script, redist . Histogram Stretching The simplest techniques, like the previous example simply stretch the histogram of the image outward to improve the color range. However instead of just blindly picking the black-point and white-point for Level operation, they select points based on the images histogram. Basically they count up the number of color values in each histogram bin, from each of the two ends, inward until they reach some threshold. These points will then be used as the black-point and white-point for the histogram (level) stretching. Basically the histogram counts provide the graylevel values that the stretch will force to black and white. This means that all pixels in the image that fall within the range of bins from pure black to the selected black-point bins corresponding graylevel will end up pure black. Likewise those pixels in the image that fall within the range of bins from from pure white to the white-point bins corresponding graylevel will end up pure white. The pixels that are outside these points however will have been stretched outside the possible color range of values, and as a result they will be simply be set to the range limits. That is these pixels are clipped burned-in as they are converted to the extreme of pure black or pure white color values. As a result if the threshold limits for selecting the black-point and white-point is set too high, you will get lots of black and white areas in the image, with the resulting histogram having large counts (tall bars) at the extreme end bins. Example of severe burn-in -- Chinese Chess Image Summary of stretch operators . - contrast-stretch, and - linear-stretch all generate a histogram (using 1024 bins) to determine the color position to stretch. as such it is not exact. The other difference is how zero is handled, and that - linear-stretch actually does a - level operation to do the stretch, while - contrast-stretch uses histogram bin values for color replacement stretching (which introduces a 1024 quantum rounding effect. - normalize uses - contrast-stretch internally. A mathematically perfect normalization stretching operator is - auto-level. While a perfect white-point only or black-point only version is posible it has not been implemented at this time. Auto-Level - perfect mathematical normalization The - auto-level finds the largest and smalled values in the image to use to stretch the image to the full Quantum Range. At no time will values become clipped or burned as a result of the histogram being stretch beyond the value range. The - channel setting will determine if all channels are stretch equally in sync (using the maximum and minimum over all channels) or separatally (each individual channel as a separate entity). At this time the hidden color of fully-transparent pixels, are also used in determining the levels, which can cause some problems when transparency is involved. This is regarded as a bug. It is a pure-mathematical histogram stretch just as the manual Level Operator is. That is the minimum will be adjusted to zero and maximum to Quantum range, and a linear equation is used to adjust all other values in the image. It does not use histogram bins or any other grouping of values that other methods may use for either determining the levels to be used, or other histogram adjustments. The - normalize operator is the simplest of these three operators. It simply expands the grayscale histogram so that it occupies the full dynamic range of gray values, while clipping or burning 2 on the low (black) end and 1 on the on the high (white) end of the histogram. That is, 2 of the darkest grays in the image will become black and 1 of the lightest grays will become white. This is not a large loss in most images, and the overall result is that the contrast (intensity range) of the image will be automatically maximized. A idealized diagram is needed here Example using chinese chess Here we create a gray-scale gradient, and expand it to the full black and white range. For practical reasons to do with JPEG color inaccuracies (see JPEG Color Distortion for more details) and scanned image noise, - normalize does not expand the very brightest and darkest colors, but a little beyond those values. That is, it is equivalent to a - contrast-stretch with a value of 2,99 (see below). This means if highest and lowest color values are very close together, - normalize will fail, an no action will be taken. If you really want to expand the exact brightest and darkest color values to their extremes use - auto-level instead. Up until IM version 6.2.5-5, - normalize worked purely as a grayscale operator. That is, each of the red, green, blue, and alpha channels were expanded independently of each other according to the - channel setting. As of IM version 6.2.5-5, if only the default channel setting is given, then - normalize will tie together all the color channels, and normalizes them all by the same amount. This ensures that pixel colors within the image are not shifted. However, it also means that you may not get a pure white or black color pixel. For example here we added some extra colors (a blue to navy gradient) to our normalization test image. As you can see from the last example, for color images - normalize maximized all the channels together so one channel has a zero value, and another channel has a maximum value. That is, no black pixels were generated, as all the added blue colors already contain zero values in the red and green channels. As such the lower bounds of the image did not expand. If you want the old - normalize behaviour (before IM v6.2.5-5), you will need to specify any non-default - channel setting. For images that contain no alpha (or matte) channel, you can just use the all channel setting. Note that the number of parameters ( a to d in above) needed for curve fitting, must equal the number of control points you provide. As such if you want five control points you need to include another e term to the function. If your histogram curve goes though the fixed control points 0,0 and 1,1. you really only need two parameters as d will be equal to 0 , and c will be equal to 1-a-b . A more detailed usage guide to the above specifically for Windows users, but works for linux users too, has been posted on StackOverflow: IM Curves using Gnuplot on Windows. As you can see from the extra gnuplot generated image above, the function generated fits the control points perfectly. Also as it generated a - fx style formula it can be used as is as an IM argument. To make it easier for users to convert control points into a histogram adjustment function, I have created a shell script called imfxcurves to call gnuplot , and output a nicer looking polynomial equation of the given the control points. Gabe Schaffer, also provided a perl version (using a downloaded Math::Polynomial library module) called imfxcurves. pl to do the same thing. Either script can be used. For example here is a different curve with 5 control points. A more practical example of this method is detailed in the advanced Aqua Effects example. An alternative away generating curves is looked at in the IM Forum Discussion Arbitrary tonal reproduction curves. Tinting Images Uniformly Color Tinting Images Typically tinting an image is achieved by blending the image with a color by a certain amount. This can be done using an Evaluate Operator or Blend Images techniques, but these are not simple to use. Lucky for us a simpler method of bleeding a uniform color into an image is available by using the - colorize image operator. This operator blends the current - fill color, into all the images in the current image sequence. The alpha channel of the original image is preserved, with only the color channels being modified. For example lighten an image (gray scale or otherwise) we use - colorize to blend some amount of white into the image, making it brighter without saturating the image completely. Similarly we can use a black fill color to darken an image. To gray both ends of the image toward the mid-tones, you would use a specific gray fill color. The color gray50 is the exact middle color of the RGB color spectrum. This is also often used as an method of de-contrast such as what the Reverse Level Adjustment Operator provides, though with less control. The - colorize operator also allows you to specify dissolve percentages for each of the three color channels separately. This is useful for linearly darkening (or lightening) an image in a special way. Before IM v6.7.9 the - colorize operator did not modify the alpha channel at all. From that version onwards, as you can see above, it now uniformly tints all pixels including fully transparent pixels. One common use of the - colorize operator is to simply replace all the colors in an existing image (tinting 100 ), but preserve the transparency (alpha) shape of the image, so as to produce a colored mask. However from IM v6.7.9 you will need to protect the alpha channel from this operator by disabling it, then re-enabling the alpha channel. (See Alpha On for more details). Without this protection, colorize would have fully-blanked the canvas to the given color. However if there is a posibility of using a verion of IM older than IM v6.7.9 I recommend you include a - alpha opaque or - alpha off operation in the above to ensure the resulting image is the completely blank image you expect. Note that you can blank canvases faster using Level Adjustments by Color operator with a single color, rather than a range of colors. See also Blank Canvases. Midtone Color Tinting While the Colorize operator applies the - fill color to tint all the colors in an image linearly, the - tint operator applies the - fill color in such a way as to only tint the mid-tone colors of an image. The operator is a grayscale operator, and the color is moderated or enhanced by the percentage given (0 to 200). To limit its effects it is also adjusted using a mathematical formula so that it will not effect black and white. but have the greatest effect on mid-tone colors of each color channel. A - tint 100 essentially will tint a perfect gray color so that it becomes half the intensity of the fill color. A lower value will tint it to a darker color while a higher value will tint it so toward a perfect match of that color. The green color in the test image is not a true RGB green, but a Scaled Vector Graphics green , which is only half as bright as a true green color. As such it is also a mid-tone color, and thus is affected by the - tint operator, becoming darker, unlike red and blue color spots of the test image. Also you can tint the individual color components, by using a comma separated list of percentages. For example - tint 30,40,20,10 . This however can be tricky to use and may need some experimentation to get right. Better to specify the color you want for perfect 50 grays. The - tint operator works by somehow taking the color and percentages given then then adjusting the individual colors in the image according to the - fill colors intensity, as per the following formula. (see graph right) A quadratic function, the result of which is used as vector for the existing color in the image. As you can see gives a complete replacement of the color for a pure mid-gray, with no adjustment for either white or black. Or lower level operators that you can use to DIY this sort of thing, see FX Operator. as well as Evaluate and Function Operators. The tinting operator is perfect to adjust the results of the output of - shade , (See Shade Overlay Highlight Images ), such as the examples in 3d Bullet Images. You can also use - tint to brighten or darken the mid-tone colors of an image. This is sort of like a gamma adjustment for images, though not exactly. For example using a tint value greater than 100 with a white color will brighten the mid-tones. While a value less than 100 will darken colors. See also Hald Color Lookup Tables for a method by which you can save much more complex color change variations, such as the last example above. Duotone Effect A duotone is a printing method where you mix the grayscale of an image (black ink) with some other color to produce a better result, with a limited budget or printing equipment. For example the reason all the old photos you see today have a sepia-tone look about them, is because sepia-tone inks survived and did not deteriorate, or fade with time. Other black and white images formats faded into uselessness. See the Sepia Tone Operator above. Another duotone technique known as Cyanotype (more commonly known as blue-prints) became widely used as method of making large scale copies of the original black and white architect drawings. Remember this tenchique was used long before the invention of lazers and from that photo-copying (and Xerox). The above Tint Operator however produces a reasonable facsimile of the duotone effect, just as it did for a sepia-tone like effect above. Note that I generally chose a darker version of the duotone color, but you can also adjust this using the argument of the Tint Operator. The brightness and contrast can also be adjusted using the arguments of the Sigmoidal Contrast Operator. Another more exacting way of generating a duotone from three colors (the black-point, mid-point and white-point colors) is to use a Color Lookup Table (see below). Here is just a quick example where I create a very unusual duotone using the colors Black , Chocolate , and LemonChiffon for the duotone. And yes the black-point color is typically left black, which is why it is usally called duo - tone. The advantage of the above is an exact control of the mid-point color (unlike Tint which isnt exact). You can also use any the three colors you like directly, just as in the above example, or use an expanded gradient of the colors for finer control of the colors between the three (or more) control points. The technique also provides you with a very compact way of storing the specific duotone effect, for repeated and future usage. Also see Hald Color Lookup Tables for more complex method of saving color changes, that go beyond coloring greyscale images. Color Tinting, DIY One of the biggest problems with - tint is that it is a grayscale (or vector) operator. That is, it handles each of the red, green, blue channels completely separately to each other. That in turn means that a primary and secondary color like blue or yellow are not affected by - tint , even though all the gray levels are. However thanks to various channel mathematical transforms such as the FX Operator and the faster Evaluate and Function Operators. you can generate your own color overlays to modify the image. That is, to Tint the image in a similar what that the Colorize Operator does. For example, here I convert an images gray-scale brightness level into a semi-transparent overlay of the specific color wanted. Warning, this does not preserve image transparency correctly, but it will work fine for fully-opaque images. Note that unlike tint, any color can be used, including black as the color is not treated as a vector addition, but an alpha composition. The result is not quite the same as what you would get for a normal tint. Color Tinting Overlay The special Alpha Composition methods Overlay and Hardlight were actually designed with color (and pattern) tinting in mind. These compose methods also will replace mid-tone grays leaving black and white highlights in the image alone. For example here I quickly generate a colored overlay image, and compose it to tint the original image. As you can see the alpha composition does not preserve any transparency of the original image, requiring the use of a second alpha composition operation to fix this problem. The alpha composition method HardLight will produce the same results as Overlay but with the source and destination images swapped. This could have been used instead of the swap in the last few examples. Global Color Modifiers Modulate Brightness, Saturation, and Hue The - modulate operator is special in that it modifies an image in the special HSL (hue-saturation-lightness) colorspace. It converts each color pixel in into this color space and modifies it and converts it back to its original color space. It takes three values (though later values are optional) as a percentage such that 100 will make no change to an image. فمثلا. The first value, brightness is a multiplier of the images overall brightness. Note that while a brightness argument of 0 will produce a pure black image, you cannot produce a pure white image using this operator on its own. The second value saturation is also a multiplier adjusting the overall amount of color that is present in the image. A saturation of 0 will produce a grayscale image, as was also shown in Converting Color to Gray-Scale above. The gray however mixes all three color channels equally, as defined by the HSL colorspace, as such does not produce a true intensity grayscale. Essentially small values produce more pastel colors, while values larger than 100 will produce more cartoon-like colorful images. Note that as the brightness and saturation are percentage multipliers, you would need to multiply by a very large number to change almost all the image color values to near maximum. That is you would need to use a brightness factor of close to one million, to make all colors except pure black, white. Hue Modulation The final value, Hue . is actually much more useful. It rotates the colors of the image, in a cyclic manner. To achieve this the Hue value given produces a modulus addition, rather than a multiplication. However be warned that the hue is rotated using a percentage, and not by an angle. This may seem weird but - modulate has always been that way. Conversion formulas between angle and the modulate argument is. hueangle ( modulatearg - 100 ) 180100 modulatearg ( hueangle 100180 ) 100 That means 100 (for all three arguments) produces no change. While a value of 0 or 200 will effectivally negate the colors in the image (but not the intensity). As you can see a value of 33.3 produces a negative, or counter-clockwise rotation of all the colors by approximately 60 degrees, effectively mapping the red to blue, blue to green, and green to red. Using values of 0 or 200 produces a complete 180 degree negation of the colors, without negating the brightness of the image. Note that hues are cyclic, as such using a value of 300 will produce a 360 degree color rotation, and result in no change to the image. For examples of using Hue Modulation to modify colors in images see, Chroma Key Masking and Pins in a Map. These types of operations and more can also be applied using advanced Color Space techniques, such as using in Recolor Matrix Operator (below), but for basic modulation of an image, this operator greatly simplifies things. For primary color swapping, either Recolor Matrix Operator. or channel swapping (see SeparateCombine Operators ), is probably more accurate technique. Though it is much less versatile. See also Hald Color Lookup Tables for a method by which you can save color change variations, especially changes in Hue, for later reuse. Modulate DIY You can if really want to Do It Yourself. You basically convert the image into the appropriate color space, modify the values, and convert back. Remember that in HSL Color Space. the Green channel holds the Saturation value, and the Blue channel holds the Luminance value. For example here is the equivalent to a - modulate 80,120 (darken slightly, increase color saturation), using the default HSL colorspace. Of course if you modify the Hue (red channel) using this method you will need to ensure the final value wraps around (a modulus), rather than simply clipping the value at the maximum or minimum value (both of which is the red hue). As such it is probably easier to just directly use the Modulate Operator. for Hue modifications. Modulate in Other Colorspaces The biggest problem with - modulate is when handing images containing a lot of near white colors. As it does its work in HSL colorspace, colors that are off-white will become more saturated as the brightness is reduced. You can see this in the white leaf of the rose image above, which shows lots of color artifacts at a 50 darkening. This is especially a problem when dealing with JPEG image formats, as it tends to generate off-white colors (actually all colors are generally slightly off in JPEG) due to its lossy compression algorithm. فمثلا. The problem here is that in HSL all the off white colors were packed into a small white point area of the color space used (a double cone). When brightness is then reduced the off-white colors get expanded as the cone of color expands, causing the off white color to generate a more colorful (saturated) set of off-white colors. That is, small variations in color are exaggerated. The solution to this is to - modulate in the HSB colorspace, instead of HSL colorspace. The B in HSB, means Brigthness, but is also commonally known as HSV, with using V meaning Value. They are the same colorspace, but V is a confusing term, as a value normally means a stored number. There is also a HSI colorspace, (using I of Intensity) but it is uncommon, and not needed due to the addition of the HCL (where L means Luminance) cyclic colorspace (see below). In the HSB colorspace, white is not a single point, but a large disk, and as such off-whites, are not close to each other. As such when you reduce the brightness, the off-whites contract equally, reducing any slight color variations rather than expanding them. As such the whites just become gray, and not more colorful. To modulate the image in HSB Color Space you can either use the DIY technique (see above) in that colorspace. Or with IM v6.5.3-7 and later, you can Define an Operational Control of modulate:colorspace with one of the Hue color spaces. Other Hue colorspaces is HWB, and HCL (see next section). Of course if you resized the image to this small size, an even better solution is NOT to save the image to JPEG, which was the cause of the off-white values. Better still dont save the image at all, until after you are finished, so you can keep all the color values at the best in-memory quality setting. The reason HSB colorspace is not used by default for modulate, is because if you brighten an image in this colorspace the colors become more saturated, and bolder, rather than the image becoming more brilliant and whiter. Here for example is a 150 brighten of the rose image in the default HSL, and a specified HSB colorspace, for comparison. Before IM v6.4.0-10 the - modulate operator actually did use HSB color space rather than HSL colorspace. This was changed because of a bug report by a user about the above situation. The point is for some images you are damned if you use HSL, and for other images you are damned if you use HSB colorspace. It just depends on what you are attempting to do Modulate in LCHab and LCHuv Colorspace Hue modulation (in HSL or HSB colorpsace) is actually regarded as rather crude. These colorspaces do not take into account a more realistic intensity of the colors. As such rotating between the hues blue and yellow will also generate very large brightness shifts. See Wikipedia: Disadvantages to HSL Colorspace . One alternative is to do a Luminance preserving rotation as described on the Grafica Obscura in the Matrix Operations Paper. This is complex as the color modifications are being done as part of the operation, as a single calculated matrix operation that is different depending on how much of a rotation is required. As of IM v6.8.4-7 the Modulate Operator can also handle the special colorspaces LCHuv and LCHab which are Cylindrical (Hue-Chroma) forms the the respective Luv and Lab colorspaces. see Wikipedia, Cylindrical LUV, or LCHuv colorspace and The HCL Colorspace for more information. The equivelent channels of LCHuv and LCHab colorspaces are reverse to those of the HCL and HCB colorspaces. That is the grayscale intensity equivelent is in the first (red) channel and Hue is in the third (Blue) channel of the image. For example we do some hue rotations for the red rose using LCHuv colorspace. Compare these with the previous set for the HSL colorspace above. Note how the blue is nowhere near as dark, but is a shade that better matches the shade of the original image. You can also do the same in LCHuv though I found the hue spead more restrictive. For more information on HCL colorspace hues, see the examples on The LCH Color Wheel. Before IM v6.8.4-7 you would have used the colorspace HCL (introduced IM v6.7.9-1). This colorspace is exacty the same as LCHuv but with the channel order reversed so that Hue was in the first channel, so as to better match HCL colorspace. This spacial channel reversal allowed modulate to work properly, without it needing to understand different channel ordering for different colorspaces. This no longer required, so you can now use the more commonly known channel ordering for the cylindrical version of the Luv colorspace. You can also use a LCHab (cylindrical version of the Lab ) colorspace, however this version has discontinuities for specific impossible color values, especially in the green area. It is not recommended for use with the Modulate Operator. Color Matrix Operator The - color-matrix operator will recolor images using a matrix technique. That is to say you give it a matrix of values which represents how to linearly mix the various color channel values of an image to produce new color values. Typical usage is to provide the operator with 9 values, which form three functions (rows) or three multipliers (columns). As such the first three numbers is the color formula for the red channel. The next for green and so on For example. Future: Hue rotations using a color matrix However be warned that most of these implementations use a Diagonally Transposed form of the matrix, in which columns form the equation, instead of the rows. Or involve fewer channels (smaller number of rowscolumns). Solarize Coloring To - solarize an image is to basically burn the brightest colors black. The brighter the color, the darker the solarized color is. This happens in photography when chemical film is over exposed. Basically anything above the grayscale level given is negated. So if you give a argument of 0 you basically have a poor mans Negate Operator. For example here is a faked - solarize using a - fx mathematical formula. This operator is particularly well suited to extracting the midtone gray colors from images. For example here I use very strong Sigmoidal Contrast operation to produce a sort of fuzzy threshold at 70 gray. I then Solarize the result to generate a fuzzy-spike rather than a fuzzy-threshold. A final level adjustment then brings the spike to maximum brightness to generate a filament effect. ASIDE: The above images showing profile graphs of the gradient, was generated using the improfile in the IM Examples, Scripts directory. Note how anything that is white becomes black, while the mid-tone grays around the central spike are preserved. The fuzziness and placement of the spike is determined by the - sigmoidal-contrast operator. I call it a filament as typically the result looks remarkably like glowing electrical filaments, or lightning discharges. See Random Flux for another example of this effect. This extraction of mid-tone grays is also put to good use in techniques for generating Edge Outlines from Bitmap Shapes. and for the multiplication of two biased gradients. Another novel use of this operation is in determining if an image is basically a pure black and white sketch or drawing (such as from a book), rather than a shaded gray-scale or color images, See Determining if an image is: Pure Black and White, or Gray-scale Recoloring Images with Lookup Tables While you can recolor images using the various histogram color adjustments as shown above, there is another technique for recoloring images, simply by looking up the modified values from a pre-prepared color gradient, or Color Look Up Tables (Color LUT, or CLUT). There are two types of Color LUTs: simple one dimensional or per-channel LUTs and 3d color LUTs. A channel LUT has three independent look-up tables: one each for the R G and B channels. Each entry in the channel LUT maps an input channel value to an output channel value. The red channel of the output image is only effected by the original red value of the input image. A 3D color LUT however allow the whole color to be replaces as a function of the whole input color. That is the output value of the red channel can be dependent on any or all of the input red, green, and blue values. This is sometimes called channel cross-talk. Color (Channel) Lookup Tables A common requirement of a image processing tool is the ability to replace the whole range of colors, from a pre-prepared table of colors. This allows you to convert images of one set of colors (generally gray-scale) into completely different set of colors, just by looking up its replacement color from a special image. Of course you do need a Look Up Table image from which to read the replacement colors. For these first few examples, I choose to use a vertical gradient of colors for the LUT so that the IM gradient: generator can be used to simplify the generation of the color lookup table. Well so much for the theory. Let try it out by recoloring a simple gray-Scale Plasma image, replacing the grayscale with a dark-blue to off-white gradient of colors. The - clut operator takes two images. The first is the image to replace color values in, the second is a gradient image that is either a single row, or a single column. The - clut operator was added to IM v6.3.5-8. If your IM is too old to understand the - clut operator or you want to do something out of the ordinary, such as a 2 dimensional color lookup table, then you can roll your own using the General DIY Operator, FX. For example here is a slow, but equivalent command to the above. The problem is that even for a simple process such as the above the - fx operator is very slow, and has to be designed specifically for either a row or column LUT. But it does work. The LUT does not have to be very large. For example here we use a very small LUT, with a very limited number of colors. I enlarged the gradient image for the web page display above, otherwise it would be too small to see properly. The LUT is in actual fact only 6 pixels in size. However if you look at the result you will see that the Color Lookup Operator smooths out those 6 colors into a smooth gradient. What is happening is that IM is doing an Interpolated Lookup of the LUT image. That is, instead of just picking the color found, it does a weighted average of all the nearby colors to better represent the LUT. In this particular case, it used the default Bilinear setting that just links each colored pixel together with linear line segments. Different - interpolate settings generate different levels of smoothing of the colors when using a very small color LUT. Here for example I show a various type of interpolated smoothing of the LUT colors. The Integer and Nearest settings are special in that they do no smoothing colors at all. That is, no new mixed colors will be added, only the exact color values present will be used used to color a grayscale image. However note how the lookup of the colors differ between the two. It is a subtle difference but can be very important. The Average setting on the other hand also generated bands of color but only using a mix of the colors, resulting in one less color than the size of the color lookup table image. Blend however mixes Average and Nearest together, to add more pixels. This type of color banding (or Blocking Artefacts ) is actually rather common for geographic maps, and temperature graphs, as it gives a better representation of the exact shape of the map. The sharp boundary edges are known as iso-lines. Adding a slight one pixel Blur to the final image can improve the look of those edges, making it look a little smoother, without destroying the color banding. The BiLinear setting will also generate banding but only in the form of sharp gradient changes, when the colors change sharply (not in this example). While Catrom will smooth out the color changes. Finally Spline will blur the colors, and may not generate any of the colors in the given CLUT. To avoid interpolation problems, or better define the color gradients, the best idea is to use much longer LUT. Ideally this should cover the full range of possible intensity values. For ImageMagick Q16 (compiled with 16 bit quality) that requires a LUT to have a height of 65536 pixels. But Pixel Interpolation allows you to use a more reasonable LUT gradient image of 500 pixels suitable for most image re-coloring tasks. Note that the vertical gradient LUT used in the above examples appears upside-down to our eyes, as the black or 0 index is at the top of the image. Normally we humans prefer to see gradients with the black level at the bottom (thanks to our evolutionary past). If you rather save the gradient image the right way up you can - flip the image as you reading it in. For example lets try a more complex LUT, flipping the vertical gradient before using it on the image. As you can see for a vertical gradient, flipping it before using makes a lot of sense. For more examples of generating gradients see Gradients of Color. You may also be interested in a way of tiling greyscale images using a image for each grey level, which can produce even better map like images. See Dithering with Patterns. Function to Color LUT Conversion These pre-prepared Lookup Table Images (or LUTs) can also be used to greatly increase the speed of very complex and thus slow - fx operations, so instead of IM interpreting the functional string 3 or 4 times per pixel, it can do a much faster lookup of the replacement color. The procedure for doing this is quite straight forward, either apply the function to a unmodified linear gradient, or replace the u in the function with the value (iw) or (jh) to calculate the replace value based on its position. For example, in the advanced Aqua Effects example, I used a complex - fx function to adjust the gray-scale output of the Shade operator . Also as this gray-scale adjustment is also overlaid onto a DodgerBlue shape, there is no reason why the results of both of these operators could not be combined into a single gradient lookup table. That is, we generate a LUT from the - fx formula and the color overlay. Also for these examples I decided to generate a single row of pixels rather than a column as I did previously. The polynomial - fx in the above can now be generated more directly and faster using a Polynomial Function. For example This pre-generated LUT can now be applied to the shaded shape much more quickly at the minimal cost of storing a very small image. As you can see, the result is very effective, and once an appropriate LUT gradient has been generated, you can re-use the same gradient over and over, as many times as you want. CLUT and Transparency Handling The - clut operator is controlled by the - channel setting, but in reality, it only replaces the individual channel values within the image. That means that normally each individual channel of the source image is used to lookup the replacement value for just that channel from the color lookup table. That includes the alphamatte channel which is usually very inconvenient, and difficult to apply. Typically the - clut operator is used to either colorize a gray-scale source image, (see previous examples), OR it is used to do a histogram adjustment of a color image using a gray-scale CLUT (Color Lookup Table). In other words, usually one of the images will typically be gray-scale. As of IM v6.4.9-8, if a - channel setting specifies that if you are wanting to replaceadjust the alpha channel of an image (an A is present), and either the source image or CLUT image has no alphamatte channel defined, then IM will assume that that image is gray-scale, and will act accordingly. For example, here I generate a simple blurred triangle, as a grey-scale image. I can then color using a Color Lookup Table that includes transparency. I did not flip the CLUT image this time, so the black replacement will be at the top and white replacement at the bottom. Remember the above will only work as expected if the gray-scale image has no alpha channel (turned off using either - alpha off or matte ), and you specify that you also want to lookup alpha channel values (using - channel RGBA ). And here is the other special case where were have an image with transparency (and alpha channel) that needs to be adjusted using a gray-scale histogram adjustment gradient (with no alpha channel enabled). The above is a typical Image Feathering problem. The black halo in the intermediate image is caused by the - blur operation making the fully-transparent areas surrounding the triangle visible. As fully-transparent has an undefined color, IM defaults to black. The CLUT image itself was designed to ensure that any pixel that was less than 50 transparent will be turned fully-transparent, effectively making the previously fully transparent parts of the image, transparent again. For this example I over-do the initial blur, then over-correct the alpha channel adjustment. The result is a sever rounding of the points of the triangle. For normal image feathering would typically use much smaller values for both the - blur and the - sigmoidal-contrast alpha adjustment. Fred Weinhaus. has implemented a blurred feathering technique in his feather script, to make it easier to use. Hald 3D Color Lookup Tables As of IM v6.5.3-4 you can now also use a full 3D Color Lookup Table which can be used to directly replace all the colors of multiple images. That is, instead of just looking up the value of each each color channel as a separate entity (as in the CLUT above), the whole color is used to lookup the new color. However a 3D color tables usually require special file formats to correct store the 3D array of color values. However by using a special arrangement of color values the 3D table can be stored into a 2D image known as a Hald Color LUT . This is just a normal image and as such ANY good image file format can be used to save a Hald 3D Color LUT. For more details and examples of HALD Images, see the official website Hald Images, Clut Technology. To generate a Hald 3D color table, use the HALD: level image generator. For example, here is a small one that I have enlarged so you can see the individual pixels. The table holds a color cube with a side of level 2 colors or 9 colors. The full color cube contains 9 times 9 times 9 colors, giving a total of 729 colors, which is stored in a image of that numbers square root, or 27x27 pixels. The colors are stored so the first 9 colors (in the top-left corner) forms a gradient going from pure-black to pure-red. Every 9 th color then forms a gradient in green, and every 81 st color will form a gradient of blue. The last color in the bottom-right corner is pure-white. You can think of the image as an even simpler 1D array of pixels that are referenced as a 3D color cube, if it helps you to imagine it. Now this is only a small HALD CLUT image. More typically you would use at least a level 8 Hald ( the default ), which will hold a color cube with 64 colors per side, or 643 262144 colors, and produce an image that is 512x512 pixels in size. and saves into into an approximate 10Kbyte PNG image. This is not all 8 bit colors but is quite good. For a HALD image with every 8 bits color, you would need a level 16 version, producing a 4096x4096 image. Whcih just does to prove that even normal digital camera images generally can not hold every posible 8 bit color. However a smaller Hald image can be used, as IM will interpolate the neighbouring 8 colors from the Hald to work out the final color for the lookup replacement. It will simply not be as good a representation as a larger version. Hald images larger than 8 are not recommended, and would require very large images, of at least 16 bits per value depth to hold it. Now these generated hald images are the identity or no-op CLUT images. That is, they are the normal colors values forming the 3D color cube, and as such will produce no change the image. For example lets apply a no-op Hald image, using the - hald-clut operator. This image is exactly the same as the original, and the Hald image contained no changes. However by modifying the Hald image, either by hand, or using a color modification, then you can substitute the original colors for the modified colors. For example here I create a blended-sepia-tone color scheme. Of course if you can apply a specific color modification to a Hald image, you can also apply it to the actual image directly too. But you can now save your color modifications to reuse them, and can then be applied as many times as like. That means you can spend your effort on the halt, and save it for the future. You can also send, or download Hald CLUT images for other people and even other applications. You could even directly edit the colors in a Hald, using a image editor like Gimp or Photoshop , or if saved in a Enumerated Pixel Text Image use a plain text editor All this is especially the case for very complex color modifications Please mail me any Hald CLUT images you have found interesting or useful, and I will example them here. You will be credited, here as well Hald CLUT Limitations Unlike the simpler 1 Dimensional gradient lookup using the CLUT Operator you can use a Hald CLUT to rotate colors. For example swap red and blue colors. It is a much more versatile CLUT method. However it is not as good for doing simpler things like coloring a gray-scale image, or doing a histogram adjustment of color values. It can also replace colors with transparent, or semi-transparent values, by saving such replacement colors in the Hald CLUT image. However this replacement lookup is by color only. You cannot use it to replace transparent colors in specific ways. It isnt after all a 4D color lookup hyper-cube Color Replacement using Hald CLUT Now as the whole color value is used to lookup the color replacement, you could also use this as a method of directly replacing all the colors in an image with some other color. However as IM currently does a linear interpolated lookup of the Hald, you will need to set the replacement color in all 8 neighbouring color cells of the 3D color cube. This needs more work, and may need a nearest-neighbour Hald Lookup setting (say using - interpolate), rather than a 3D linear interpolated lookup to work better for specific color replacement. Also some easy way of locating specific colors in a Hald (nearest-neighbour, or the 8 neighbours) would make this a lot easier. If you have ideas, suggestions, or better still small examples, then please contribute by mailing them to me, or the IM Discussion Forums Another idea is that if you have two images, the original and the converted, then it should be possible to fill-in a Hald CLUT image from the comparison of the two images. When the immediate colors have been filled in the rest of the color cube should be able to be at least roughly derived by curve fitting the colors that are present. That is, create a 4-D color surface from the color changes discovered. When complete than you can apply the Hald CLUT to any other image so as to either make the same color transformation (in either direction) to any other image. Full Color Map Replacement FUTURE: Replace all the colors in one color map with colors in another color map. Suggestions as to how to best do this is welcome, or programmers to implement some image color map function. One method may be to use ideas presented in Dithering with Symbols. The best known solution (but hardly ideal) is currently provided by Fred Weinhaus in is mapcolors script. This script essentially maps each color one at a time, masking the pixels involved from one image into a new initially blank image. Another idea is to somehow map a 3 dimentional color replacement into a HALD Color Table. This will not just map the specified colors, but also re-map the colors between the specified colors in a logical way. HALD generator wanted. Created: 19 December 2003 Updated: 6 October 2011 Author: Anthony Thyssen. ltA. Thyssen64griffith. edu. au gt Examples Generated with: URL: imagemagick. orgUsagecolormodsThis is a guest post from 8220DerivsTrading,8221 who founded SampT Careers to teach you how to win bulge bracket trading interviews and offers and ace your assessment centers. هو 8217s المتداول خيارات تدفق المتداول يعمل حاليا في بنك قوس انتفاخ في لندن، وانه تحد من احتمالات كسر في القادمة من مدرسة غير المستهدفة. We8217ve covered a few days and 48-hour periods in the lives of sales amp trading interns before, but what about when you start working full-time Even if the hours and stress levels are still brutal, do you at least get to do more real work Or are you stuck picking up lunch for everyone on your desk Lets jump into this day-in-the-life account and see exactly what you do as a full-time options trader at a bulge bracket bank and hey, you might even improve your knowledge of the Greek language in the process 5:45 AM: Wake up. بغض النظر عن أي مكتب كنت في نهاية المطاف، وكنت على الأرجح سوف يكون الاستيقاظ في جميع أنحاء هذا الوقت. ضبط عادات النوم الخاصة بك وفقا لذلك أو تعاني لمعظم اليوم. نضع في اعتبارنا أيضا أنه حتى لو كنت الخروج في الليلة السابقة، لا يزال من المتوقع أن تكون في الوقت المحدد والتنبيه. أي علامات على أنك أقل من 100 القدرة سوف ينظر إليها سيئة للغاية. 6:30 آم: الوصول إلى المكتب. يفتح السوق في 90 دقيقة، لذلك حقا العد التنازلي من هنا. 20 دقيقة تنفق فقط تحول على جميع الأنظمة مع 4 أجهزة الكمبيوتر وكل واحد تشغيل 10-15 تطبيقات مختلفة، وهذا هو تماما تستغرق وقتا طويلا. حتما، سوف ننسى لتسجيل الدخول إلى نظام واحد حاسما على الأقل كل يوم ثم ندرك ذلك في أسوأ لحظة مطلقة. 6:50 آم: ابدأ في قراءة مصادر جديدة مختلفة بشكل عام فت، بلومبرغ، سيتي آم، ثم البحث الداخلي الذي يخرج. الانتهاء من مع اثنين من الدردشات وسيط. تحتاج إلى معرفة، قبل فتح، أي معلومات السوق التي يمكن أن تؤثر على الأسهم الخاصة بك كيف يمكن أن تؤثر على بامبل الخاص بك، وما التجار النقدية يطلقون عليه في ذلك اليوم (معظم التجار النقدية بعد قطعة كبيرة من الأخبار سوف ندعو الأسهم صعودا أو هبوطا خ). 7:15 AM: Look at the largest positions on the book and try to come up with a rough game plan for the day. وأود عموما أن تجعل قائمة من المخاطر أنا لا أحب، في ترتيب الأولوية، ثم العمل أسفل القائمة على مدار اليوم. تريد التأكد من أنك تعرف أكبر المخاطر في كل فئة (مثل غاما، فيغا، دلتا، الاضمحلال، الانحراف، ديف). NOTE FOR NON-TRADERS: These metrics all measure characteristics of options for example, delta is the rate of change of the option value relative to the changes in the underlying assets price (basically the first derivative with respect to price). Vega is the first derivative of the options value with respect to the underlying assets volatility gamma is the second derivative of the options value with respect to underlying asset price (so the first derivative of delta). في كتاب خيارات كبيرة هناك أيضا الكثير من المخاطر الخفية. لذلك، كنت غير قادر فقط إلقاء نظرة على المخاطر الخاصة بك بشكل عام لاسم تحتاج إلى معرفة أين أكبر الضربات الخاصة بك، وكيف تتغير المخاطر الخاصة بك من خلال المكان والزمان. على سبيل المثال، قد ترى نفسك غاما طويلة، ولكن في الواقع قد تكون قصيرة مخالفة تنتهي في 2 أسابيع التي هي 10 بعيدا. تحتاج إلى معرفة كل ذلك لأنه إذا كان السهم يجعل خطوة كبيرة، فإن هذا الإضراب يبدأ طرد غاما قصيرة جدا كبيرة (وهذا هو السبب أيضا معظم التجار غير مستعدين لبيع قصيرة أوتم الخيارات المتاحة). Morning Meetings: The Worst Time to Show Up with a Hangover 7:30 AM: Morning meeting with sales and research, which is generally the worst moment of your entire day if you have had a rough night out. يتم إعطاء ملخص الكلي، ومن ثم يناقش الجميع التحديثات البحثية الهامة. 7:50 AM: Take one final glance over the stock news to make sure you havent missed anything just before the open (which is at 8 AM in London and a few other regions). كنت لا تريد رئيسك أن يسألك سؤالا أنك لا تملك إجابة على: إذا كنت تشغيل المخاطر، تحتاج إلى أن تكون على بينة من كل شيء في جميع الأوقات. 8:00 AM: The market opens. يمكنك مشاهدة أي حركة كبيرة، نرى أن أسعار الأسهم النقدية تجد مستوياتها بسرعة إلى حد ما ولكن مستويات التقلب (فول) ضبط قليلا أكثر ببطء عموما، في غضون 10 دقائق الأولى تحصل على فكرة عن حيث فول على معظم الأسماء. If there are earnings or big announcements, you will generally not quote until the screens come in a bit. في الدقائق العشر الأولى، سيكون انتشار الفارق واسع للغاية ويمكنك الحصول عليه بسهولة. 8:15 AM: First wave of client requests comes in. If you cover several sectors, you can get a backlog of 7-10 prices pretty quickly. يمكنك إعطاء الأولوية لجميع هذه الطلبات من قبل العميل والحجم حتى عندما يكون لديك بضع دقائق فقط لكل سعر، تحتاج إلى التأكد من أن لديك كل ما تبذلونه من قواعد تغطيتها. تداول الخيارات صعب جدا لأن هناك الكثير من المخاطر المختلفة التي تحتاجها للتأكد من عدم انتقاؤها على المجلد (تحقق ما إذا كان أي شيء مماثل في سوق وسيط يتداول بالفعل للتحوط المخاطر الخاصة بك والتسعير التسعير وفقا لذلك)، تأكد من أنك لا يتم اقتطاع قبالة على الانقسامات، والتأكد من أنه يمكنك العثور على الاقتراض على الأسهم إذا كنت بيع الأسهم كجزء من التجارة. وإذا اتخذت الحكومة خطوات في البيع القصير وتقيده لسبب ما، فإن هذا الخطر الأخير يمكن أن يصبح مشكلة أكثر. US vs. European Options 8:30 AM: Finally send off last of the prices, get some time to look at how the book is doing, and start phoning up brokers and start working some trades. Options on single stocks in Europe trade a bit differently than in the US because the liquidity is not the same the issue is that screen prices are kept very tight in extremely small sizes, and clients expect the same spreads in sizes that are 50x larger. But the problem is that unless you can find someone to find the other side in the broker market. سوف تحصل على أسعار أوسع مع وسطاء مما تعطيه لعملائك. وهذا يعني أنه من أجل البقاء على قيد الحياة، تحتاج باستمرار إلى أن تكون على بينة من ما السماسرة تعمل بحيث يمكنك اكتشاف فرص لتفريغ المخاطر. وبهذه الطريقة، عندما يأتي طلب العميل في يمكنك تحريف ذلك بشكل مناسب. أفضل السيناريوهات: عندما تعرف أن أحدهم مشتر في سوق الوسيط، يمكنك شرائه من عميل في مجلد من ميدس، ثم تفريغه في سوق الوسيط في مجلد أعلاه. ومع ذلك، وهذا أمر نادر جدا، لذلك معظم الوقت تحتاج إلى جعل السعر على أساس عرض الدعامة (إذا كنت سوف). You need to price it according to your view of the trade, instead of where you can offload it. 9:15 AM: Things start calming down around this time, and you might chat with co-workers or use the time to go for a bathroom break. تذهب دائما عندما يكون لديك فرصة وليس عندما كنت في حاجة إلى أي شيء يصرف لكم أكثر من الاضطرار للذهاب إلى الحمام عندما كنت في منتصف شيء. 10:00 AM: Its still fairly quiet, so you finally get to fire up Excel and work on some longer-term projects. فإنه يحصل من الصعب على كتاب التدفق لأنك بحاجة إلى إيجاد التوازن بين رعاية المخاطر، ولكن في نفس الوقت أيضا استكشاف الفرص لنقل الأعمال إلى الأمام. 10:15 آم: تكلم في وقت قريب جدا طلب عميل كبير يأتي في، ولها عميل جيد وبالتالي فإن السعر يحتاج إلى أن تكون تنافسية للغاية. هذا سيف ذو حدين: يمكنك أن تأخذ الكثير من بامبل مقدما على التجارة، ولكنك تعلم أن الخروج من موقف مستحيل وسوف يستغرق بضعة أسابيع. لذلك كنت السعر مع مساعدة من كبار اللاعبين على مكتب والعودة إلى إكسيل. 12:00 PM: A company youre following announces a profit warning unfortunately, you have a short gamma position and the stock is down 5. This is one of the situations you hate to be in. NOTE: This is bad news because gamma is the second derivative of an options value with respect to the underlying stock price so if youre long gamma, you benefit from stock price movement, and the bigger the better. إذا كنت غاما قصيرة أن يضر لك لأنك الرهان ضد حركة سعر السهم والآن الأسهم قد اتخذت للتو خطوة كبيرة. Because of the short gamma, you are long a lot of delta. Do you sell the shares 5 down, or hold on and hope it rallies back As a personal rule, I like to keep my deltas from my short gammas to a certain limit, and I hedge so that it never crosses that limit. كنت لا تريد أن تكون عالقة مع الأسهم التي يسقط 20 في يوم واحد ومجرد الجلوس هناك مشاهدته. من المهم أن تعرف كل شيء عن غماس قصيرة الخاص بك، أكثر من ذلك الخاص بك، لأنه إذا كان هناك ثغرات أسفل تحتاج إلى معرفة تأثير على بامبل الخاص بك والدلتا. مع الأطوال على ما يرام بسبب بامبل إيجابية، ولكن سلبية بهبل يجلب دائما المزيد من الاهتمام الكبير ويعني أنك أكثر عرضة للحصول على أسئلة حول ما تفعله. تحتاج أيضا للتأكد من أنك تعرف ليس فقط المخاطر المحلية، ولكن أيضا المخاطر الخاصة بك كما تتحرك الأسعار الفورية. في دفتر تدفق العميل لديك الآلاف من المواقف، لذلك خطر الخاص بك يمكن بسهولة الوجه تماما كما المعلمات تتحرك. هذا هو السبب في أنك بحاجة إلى النظر في المخاطر الخاصة بك في ثلاثة أبعاد: الوقت، بقعة، وتقلب. هذه الأبعاد المضافة تجعل المشتقات أكثر إثارة للاهتمام من منتجات دلتا (مثل العقود الآجلة، أو الآجلة، أو أي شيء آخر مع ملف تعريف خطي متماثل)، ولكن أيضا أكثر صعوبة في إدارة المخاطر. 12:30 بيإم: هدوء السهم حتى تحصل على العودة إلى إكسيل، إبقاء العين على الرسم البياني في زاوية الشاشة في حالة ثيريس أي حركة المتابعة. 1:30 PM: You attend an IT meeting for 30 minutes, where youre really just listening to updates on various projects that theyre working on for trading desks. 2:00 PM: You get back to the desk to find 10 prices waiting for you. قفل مرة أخرى في قمرة القيادة. يصبح التسعير روتين بعد فترة من الوقت. This can become dangerous, especially with very small requests. You have to make sure that for every single price, you are very rigorous in assessing all the different risks you can easily get picked off because you missed an announcement in a company conference call that dividends were being changed or restructured, for example. 3:00 بيإم: لديك نهاية غاما قصيرة كبيرة اليوم وهذا هو أوتك وحلقت فقط بالقرب من الإضراب. دبوس المخاطر هو حقيقي جدا. يتداول السهم مباشرة فوق الإضراب ويتم التحوط بشكل كامل، مما يعني أنه إذا انخفض الانخفاض أدناه، فإن الدلتا تقلب من 0 إلى 1 (أو 1 إلى 0 ولكن لها نفس التأثير)، لذلك فجأة تحصل على دلتا طويلة إذا كان لها موقف كبير. A long delta position isnt a problem if the stock stays near that strike, but it could then drop 3 and you would lose quite a bit in that scenario. ومع ذلك، إذا كنت تبيع أسهم وأنها تأتي مرة أخرى من خلال الإضراب تحصل قصيرة الكثير من الدلتا. هذا الوضع يزداد سوءا إذا كان المخزون غير سائلة وتحصل لونغشورت عدة مرات من حجم اليومي. Your choices are very limited at these times, and you need to be aware of the strike risk days or weeks leading up to the expiry so you can plan accordingly. 4:00 PM: You slowly start hedging the smaller delta positions on the book so you can spend the last 15 minutes focusing on the 10-15 large positions and expiries. This is one of the most hectic times of the day, as you need to hedge quite a large percentage of daily volume for a lot of stocks. In addition, several prices come in for clients, and you are trying to finish off some stuff you have been working in the broker market. On a standard day there are 20-30 things you need to be on top of, and so mentally it does stretch you a bit. شيء آخر صعب هو أن الأسواق المختلفة تغلق في أوقات مختلفة من اليوم، لذلك أنت غير قادر بالضرورة يتوقف عن الاهتمام أو إنهاء على الفور بمجرد أن السوق في المدينة كنت في إغلاق. 4:35 بيإم: تغلق الأسواق، لذلك يمكنك إنهاء جميع الحجوزات المعلقة قبل تشغيل بامبل النهائي لهذا اليوم. Technically, your day is done once you submit the PampL, but you normally stay until 6 PM to work on your longer-term projects and think about new trade ideas. في الوقت الوحيد من اليوم حيث كنت لا تحتاج إلى رصد شيء، لذلك في الواقع الوقت الأكثر إنتاجية لتوليد الأعمال الجديدة كذلك. 6:45 PM: Wrap things up and head home. هذا هو ضيف آخر من 8220DerivsTrading، 8221 الذي أسس سامبت وظائف ليعلمك كيفية كسب الانتفاضات المقابلات التجارية قوس والعروض وآس مراكز التقييم الخاصة بك. هو 8217s المتداول خيارات تدفق المتداول يعمل حاليا في بنك قوس انتفاخ في لندن، وانه تحد من احتمالات كسر في القادمة من مدرسة غير المستهدفة. He offers a comprehensive SampT interview guide that includes 100 technical (equities, credit, FX, interest rates, and options theory) and behavioral questions, a guide to generating trade ideas, secrets on how to beat the intern 8220trading game,8221 and full support and access to a forum where you can ask all your questions and receive answers from professional traders. ملاحظة من بريان: ونعم، كما قلت في مقالة ضيف آخر من قبل بضعة أشهر. هذا دليل مقابلة كبيرة إذا you8217re تبحث للتحضير للجانب الفني من مقابلات سامبت وتريد شيئا أكثر عمقا. It goes well beyond the simple fit and markets-based questions we8217ve covered on the site before, into possible interview questions on the concepts discussed above. This is the best SampT interview guide I have seen if you are already comfortable with the fundamentals and want to learn even more. المسيح المقدس، بدأت بتطوير قرحة حوالي الساعة 12:00 مساء من يومك. How do you deal with the stress Do you genuinely find what you do rewarding The way it was written it seems like you are always on tenterhooks that the bottom is going to drop out and you are going to get royally fucked somehow. شكرا على القيام بذلك، مثيرة للاهتمام بشكل لا يصدق ههاس أن ليست وسيلة سيئة لوضعه، فإن المهمة تحاول التأكد من أنك على علم بها. For example a simple scenario is that you are long gamma with earnings coming up, but lets say earnings are 24th of May but most of your long gamma rolls off on the 22nd (its an OTC position). Now once that rolls off lets say you are flat gamma, but actually you have some short Jun13 downside options so if the stock drops 4 you actually become short gamma very quickly. هذا هو السيناريو بسيط جدا، ولكن خدعة يأتي عندما يكون لديك كتاب من 100 الأسماء التي لديك لتتبع هذه الأنواع من الأشياء لكل واحد. الإجهاد يأتي من فقدان شيء من هذا القبيل وفقدان المال بسبب الإشراف على الجزء الخاص بك. In terms of general stress, theres currently a thread on wallstreetoasis where i hve written quite a bit on general stress in a trading seat. لست متأكدا إذا بريان يسمح للنشر الروابط ولكن من السهل جدا العثور عليها. Thanks I will dig the thread up. هل تحب ما تفعله وأنا أعلم أنك ذكرت تيمفولسبوت يجعل الأمور مثيرة للاهتمام، ولكن يبدو أن أي إنسان العادي يمكن أن تتبع كل تلك الأشياء ل 100 name8230 ماذا يحدث إذا كنت تحصل على مريض حقا ولا يمكن أن تأتي في هل تاجر آخر يعتني كتابك لهذا اليوم (أتصور أن يجب أن يكون من الصعب بشكل لا يصدق إذا كان لديهم أيضا للتفكير في أسماء 100 الخاصة بهم). شكرا مرة أخرى كثيرا للاستجابة التعليمية بشكل لا يصدق قراءة الخبرات الخاصة بك. Yea i find it very interesting every day, and i love having something where results are so directly trackable every day. من حيث رصد كل شيء، كنت تعتاد بصراحة على ذلك. عينيك تتكيف بشكل جيد جدا في البحث عن الأشياء على جميع الشاشات. أيضا هناك دائما التسلسل الهرمي من الأشياء التي تبحث في، لذلك سيكون لديك دائما 4-5 الحرائق التي هي في طليعة عقلك، ومن ثم 90 الأشياء الأخرى هي على باكبورنر لأنها أرينت حاسمة، وكنت تدفع أتنيتيون لهم عندما تحصل على فرصة. In terms of covering books, most teams have a system, and there will usually always be some cross coverage so multiple people on a book.

No comments:

Post a Comment