Батарея типу Gba картриджного типу. Про нас

Енергоспоживання флеш-картриджів Game Boy

Флеш-картриджі (= картриджі) зазвичай використовуються для запуску ПЗУ Game Boy, наприклад, саморобних ігор або офіційно випущених ігор, на реальному обладнанні. Різні види флеш-карт з різними функціями та експлуатаційними характеристиками доступні вже давно, але флеш-карти, як правило, мають репутацію споживача великої кількості енергії, що значно зменшує акумулятор термін служби акумулятора системи Game Boy і, можливо, спричинити інші додаткові проблеми. Стабільність системи може постраждати, особливо на Game Boy. а також, що флеші можуть збільшувати рівень шуму. Багато з цих проблем стали більш очевидними в останні роки, оскільки модифікація Game Boy сьогодні дуже популярна, і багато сучасних модифікацій, таких як IPS-екрани, споживають багато додаткової енергії. Деякі люди стверджують, що певні моди просто несумісні з флеш-картами, а іноді люди кажуть, що для безпечного використання флеш-карт потрібен додатковий регенератор. У цих твердженнях є частка правди, але, на жаль, дрібні деталі, як правило, мають значення, і такі загальні твердження можуть ввести в оману!

Для того, щоб дослідити цю тему, я протестував енергоспоживання декількох загальнодоступних флеш-карт і деяких власних розробок. У цій статті я маю намір показати, що існує більше варіацій в енергоспоживанні флеш-візків, ніж люди можуть подумати, і що флеш-візок може бути навіть більш енергоефективним, ніж звичайний візок!

Протестовані картриджі

Справжній Тетріс з 1997 року

Це справжній візок Tetris 1997 року, в якому використовується ПЗП з глухою маскою. Оскільки немає інших мікросхем (наприклад, з.g. MBC або RAM) на платі і ємність маскового ПЗП невелика, енергоспоживання дуже низьке. Ця простота означає, що картридж представляє складний виклик для більш складних флеш-карт у тестах на енергоспоживання.

Справжній Pokemon Blue 1998 року

Це справжній картридж Pokemon Blue з дуже типовою комбінацією мікросхем ROMRAMMBC. Хоча конкретні використовувані мікросхеми можуть відрізнятися, така комбінація дуже поширена в офіційно випущених іграх для Game Boy. Ось чому він забезпечує більш реалістичну точку порівняння, ніж Tetris.

Дешева репродукція Pokemon Blue

Це дешевий картридж для відтворення, який я купив на AliExpress для дослідницьких цілей. Очевидно, що він був розроблений з думкою лише про вартість, оскільки дизайн порушує деякі номінальні характеристики мікросхем і навіть не має золотих пальців на краях друкованої плати. Погано розроблений картридж який, безсумнівно, не витримав би постійного використання протягом тривалого часу, але все одно цікаво включити його в порівняння.

Оригінальна Wario Land II (випуск GBC) від 1998 року

Це справжній картридж Wario Land II. Як і Pokemon Blue, він використовує дуже типовий набір мікросхем, але тут використовується MBC5 замість MBC3. Зауважте, що у Wario Land II було більше одного випуску, і це західний Game Boy Color.покращена версія, яка все ще сумісна з усіма консолями Game Boy.

картридж, батарея, тип

Everdrive GB

Оригінальний Everdrive був дуже популярним флеш-накопичувачем картридж, але нещодавно був витіснений новими продуктами. Він використовує SD-карту, тому на ньому можна зберігати кілька ігор і легко перемикатися між ними за допомогою програми початкового меню, яка з’являється при увімкненні системи.

Протестовані картридж PCB має маркування v1.2, 13.03.2014, і використовувався з прошивкою v4.

Everdrive GB X5

Everdrive GB X5 – новіша модель Everdrive зі значно покращеним дизайном і продуктивністю. Як і його попередник, він використовує SD-карту. Серія X також включає X3 і X7, але я тестував лише модель X5, яка не має деяких функцій, таких як RTC, як у найдорожчій моделі X7. Зверніть увагу, що на друкованій платі вказано X7, але кілька компонентів відсутні, тому, схоже, в X5 і X7 використовується однаковий дизайн плати.

Протестований картридж Друкована плата позначена як Model 17, Rev B, 26.08.2017 року і використовувався з прошивкою v1.04.

EZ-FLASH Junior

EZ-FLASH Junior – ще один флеш-картридж, який використовує SD-карту. Його сторінка продукту може похвалитися великою кількістю функцій, таких як підтримка RTC, і він коштує набагато дешевше, ніж Everdrive GB X5.

Друкована плата протестованого картриджа позначена як 1320 і використовувалася з ядром 1.04e та прошивка v4.

EMS64

Це досить старий картридж на базі USB. Замість того, щоб використовувати SD-карту, ви можете просто прошити її за допомогою USB Зауважте, що існує кілька версій EMS64 з дуже різним дизайном, тому результати для цієї конкретної версії можуть відрізнятися в порівнянні з іншими версіями.

Налаштування тесту

Оригінальна консоль Game Boy (DMG) живилася від програмованого блоку живлення Rohde Schwarz HMC8043 з використанням гнізда постійного струму, що забезпечує стабільну вхідну напругу 6 В. Блок живлення контролювався командами SCPI через USBTMC за допомогою автоматизованого тесту, запущеного на ПК. Тестування деяких картриджів передбачає проходження через початкове меню після увімкнення системи, і в цих випадках для завершення тесту необхідно було виконати деякі ручні дії.

Використана консоль має серійний номер G38953646 і використовує мікросхему SoC версії B і тип Плата живлення C. Більш детально про тестову консоль можна прочитати на сторінці запису в базі даних обладнання Game Boy.

Дані про вхідну напругу та струм збиралися за допомогою функції реєстрації даних HMC8043 з інтервалом дискретизації 1 мс, що згідно з технічним паспортом пристрою забезпечує роздільну здатність 10 мВ / 1 мА. Використання досить короткого інтервалу дискретизації для вихідних даних дозволяє збирати дані про короткі стрибки струму та інші дрібні деталі. Однак надмірна деталізація не дуже корисна при порівнянні енергоспоживання з високорівневої точки зору. Наприклад, з інтервалом дискретизації 1 мс можна побачити навіть час vblank промальованих кадрів, оскільки Game Boy PPU (= Pixel Processing Unit) споживає менше енергії в цей момент часу, і є провал у виміряному вхідному струмі! Це цікава тема для дослідження, але зараз нас цікавлять більш високорівневі відмінності між картриджами, тому в постобробці було використано ковзне середнє з вікном 50 мс, щоб згладити непотрібні деталі з даних.

Наступні додаткові кроки були зроблені, щоб мінімізувати потенційні невідповідності в тестовій установці:

картридж, батарея, тип
  • Контрастність екрану було збільшено до максимуму, тому екран був повністю чорним. Якщо SD-карта картридж використовувався, я заздалегідь навчився орієнтуватися в меню і завантажувати тестове ПЗП, не дивлячись на екран
  • Гучність звуку було збільшено на максимум
  • Для тестування всіх SD-карт використовувалася одна і та ж карта пам’яті. Я не знаю, чи підтримують картриджі живлення SD-карти під час гри, але використання однієї і тієї ж SD-карти в будь-якому випадку є гарною ідеєю для узгодженості

Псевдокод автоматизованого тесту

hmc.instrument_select(Channel::Ch3) hmc.voltage(6.0) hmc.current(3.0) hmc.fuse(true) hmc.voltage_protection(true) hmc.voltage_protection_level(Limit::Max) hmc.power_protection(true) hmc.power_protection_level(Limit::Max) hmc.voltage_ramp(true) hmc.voltage_ramp_duration(Duration::from_millis(10)) hmc.output_channel(true) hmc.log_file(test.csv, FileLocation::External) hmc.log_channel(true) hmc.log_mode(LogMode::Unlimited) hmc.log_interval(Duration::from_millis(100)) hmc.log(true) hmc.output_master(true) pause_until_manual_stop hmc.log(false) hmc.output_master(false)

Чому ваші ігрові дані просто зникають?

Можливо, ви весь цей час думали, що дані гри зберігаються на Gameboy. І вам можуть знадобитися роки і роки, щоб з’ясувати, що ваші дані зберігаються на картриджі з відеоіграми.

Одного разу ви вирішили пограти в одну з ваших улюблених відеоігор, і коли ви ввімкнули Gameboy, то зрозуміли, що дані гри зникли. І вся ваша важка праця пішла нанівець. Ваші ігрові дані зникли, тому що батарея, яка знаходиться всередині вашої відеогри, розрядилася картриджі помер. Якщо картридж для відеоігор дуже старий, ви можете зіткнутися з такою ситуацією.

картридж, батарея, тип

Кілька факторів, які слід врахувати:

  • Скільки років грі картридж
  • Стан ігрового картриджа
  • Існує батарейка всередині картриджа (і вона, ймовірно, розрядилася)
  • Скільки годин ви грали в цю конкретну гру

Ви могли б грати в одну і ту ж гру тисячу разів, і щоразу ваші дані були б на місці. Це може зайняти роки і роки, щоб батарея всередині вашого картридж щоб померти. Все залежить від того, чи ви купили гру Gameboy вживаною, чи ви придбали абсолютно нову копію. Іншим фактором є те, скільки годин ви провели за конкретною грою.

Якщо The Батарея У вашій грі помирає

Отже, ви грали і грали у свою улюблену гру на Gameboy так багато годин, що збилися з рахунку. Одного дня ви берете до рук свою консоль Gameboy, вмикаєте її і швидко розумієте, що всі ваші ігрові дані зникли. Ну, що ж тепер робити? Ви завжди можете викинути улюблену гру і побігти в магазин за новою, але це буде великою тратою грошей, і це було б просто нерозумно.

Ви зрозуміли, що батарея у вашій Gameboy розрядилася і вам потрібно її замінити. Ігри для Gameboy використовують CR2025 батареї для збереження ваших ігрових даних. Після багатьох-багатьох годин гри, батарея всередині картридж помре. Коли це станеться, ваш Gameboy не збережеться, і всі ваші попередні дані будуть втрачені.

Як замінити батарею Батарея

У вашій Gameboy акумулятор розрядився. Але не варто ставити крапку в цьому питанні. Ви можете поміняти місцями батарея для нового за допомогою декількох простих кроків. Якщо вам потрібно замінити батарею у вашій грі, вам доведеться відкрити картридж.

  • A 3.Захисна викрутка 8 мм
  • Ізоляційна стрічка
  • Новий CR2025 акумулятор
  • Паяльний набір (про всяк випадок)
  • Відкрутіть задню частину картриджа з відеоіграми
  • Знайдіть розряджену батарею
  • Дуже обережно від’єднайте роз’єми від батарея
  • Замініть розряджену батарею на нову
  • Закріпіть нове акумулятор за допомогою ізоляційної стрічки
  • Прикрутіть картридж для відеоігор назад

Ось корисне відео на YouTube, яке допоможе вам виконати всі кроки!

ПРОЦЕСОР

Більшість компонентів об’єднані в єдиний пакет під назвою CPU AGB. Цей пакет містить два абсолютно різних процесора:

  • Sharp SM83 працює на швидкості 8.4 або 4.2 МГц: Якщо це не той самий процесор, що стоїть на Game Boy! Ефективно використовується для запуску ігор для Game Boy (DMG) та Game Boy Color (CGB). Ось моя попередня стаття, якщо ви хочете дізнатися більше про це.
  • ARM7TDMI з тактовою частотою 16.78 МГц: Це новий процесор, на якому ми зосередимося, він, безумовно, запускає ігри Game Boy Advance.

Зауважте, що обидва процесори ніколи не працюватимуть одночасно і не виконуватимуть ніяких хитромудрих спільних обчислень. Єдина причина включення дуже старого Sharp – це зворотна сумісність.

Що нового?

До того, як ARM Holdings (в даний час “Arm”) стала неймовірно популярною в світі смартфонів, вони ліцензували свої розробки процесорів для живлення комп’ютерів Acorn, Apple Newton, телефонів Nokia і Panasonic 3DO. Обраний Nintendo процесор, ARM7TDMI, заснований на більш ранньому дизайні ARM710 і включає в себе [1] :

  • ARM v4 ISA: 4-та версія 32-розрядного набору інструкцій ARM.
  • Триступеневий конвеєр: Виконання інструкцій розділено на три кроки або стадії. Процесор буде отримувати, декодувати і виконувати до трьох інструкцій одночасно. Це дозволяє максимально використовувати ресурси процесора (що зменшує простої кремнію), одночасно збільшуючи кількість інструкцій, що виконуються за одиницю часу.
  • 32-розрядний ALU: Може оперувати 32-бітними числами без зайвих циклів.

Крім того, це ядро містить деякі розширення, зазначені у його назві (TDMI):

  • T → Thumb: Підмножина набору інструкцій ARM, інструкції якої кодуються у 16-бітних словах [2].
  • Будучи 16-бітними, інструкції Thumb вимагають вдвічі меншої ширини шини і займають вдвічі менше пам’яті. Однак, оскільки інструкції Thumb пропонують лише функціональну підмножину ARM, можливо, вам доведеться написати більше інструкцій для досягнення того ж ефекту.
  • Thumb пропонує лише умовне виконання на гілках, його операції обробки даних використовують двоадресний формат, а не триадресний, і він має доступ лише до нижньої половини реєстрового файлу.
  • На практиці Thumb використовує 70% простору ARM-коду. Для 16-бітної широкої пам’яті Thumb працює швидше, ніж ARM.
  • За необхідності, інструкції ARM та Thumb можуть бути змішані в одній програмі (так звана взаємодія), щоб розробники могли вибирати, коли і де використовувати кожен з режимів.

Розташування пам’яті

Включення Thumb, зокрема, мало сильний вплив на остаточний дизайн цієї консолі. Nintendo змішала 16-розрядні та 32-розрядні шини між різними модулями, щоб зменшити витрати та надати програмістам необхідні ресурси для оптимізації їхнього коду.

Корисна пам’ять розподіляється між наступними областями (у порядку від найшвидшої до найповільнішої) [3] :

  • IWRAM (Internal WRAM) → 32-розрядна з 32 КБ: корисна для зберігання інструкцій ARM.
  • VRAM (Video RAM) → 16-розрядна з 96 КБ: Хоча цей блок призначений для графічних даних (пояснюється в наступному розділі цієї статті), він все одно знаходиться в карті пам’яті процесора, тому програмісти можуть зберігати інші дані, якщо IWRAM недостатньо.
  • EWRAM (зовнішня пам’ять) → 16-розрядна, 256 КБ: окрема мікросхема поруч з AGB процесора. Він оптимально підходить для зберігання інструкцій і даних, призначених лише для Thumb, невеликими фрагментами. З іншого боку, доступ до мікросхеми може бути до шести разів повільнішим у порівнянні з IWRAM.
  • Game PAK ROM → 16-біт зі змінним розміром: Це місце, де здійснюється доступ до ПЗУ картриджа. Хоча вона може забезпечувати одну з найнижчих швидкостей, вона також відображається в карті пам’яті, щоб керувати різними швидкостями доступу. Крім того, Nintendo встановила буфер попередньої вибірки, який взаємодіє з картридж щоб зменшити надмірне гальмування. Цей компонент самостійно кешує безперервні адреси, коли процесор не звертається до картриджа, він може вмістити до восьми 16-бітних слів.
  • На практиці, однак, процесор рідко дозволяє буферу попередньої вибірки виконувати свою роботу. Оскільки за замовчуванням він буде продовжувати отримувати інструкції з картриджа для продовження виконання [4] (ось чому IWRAM і EWRAM так важливі).
  • Це строго 8-бітна шина (процесор буде бачити “сміття” у невикористаних бітах), і з цієї причини Nintendo заявляє, що вона може працювати тільки через їхні бібліотеки.

Хоча ця консоль позиціонувалася як 32-розрядна система, більшість її пам’яті доступна лише через 16-розрядну шину, а це означає, що ігри здебільшого використовуватимуть набір інструкцій Thumb, щоб не витрачати два цикли на вибірку інструкцій. Лише у дуже виняткових випадках (i.e. потрібно використовувати інструкції, яких немає в Thumb, зберігаючи їх в IWRAM), програмістам буде корисно скористатися набором інструкцій ARM.

Графіка

Перш ніж ми почнемо, ви побачите, що система є сумішшю між SNES та Game Boy, графічним ядром є все ще добре відомий 2D рушій під назвою PPU. Я рекомендую прочитати ці статті перед тим, як продовжити, оскільки я буду повторно розглядати багато раніше пояснених концепцій.

У порівнянні з попередніми Game Boys, тепер у нас є кольоровий РК-екран, який може відображати до 32,768 кольорів (15-біт). Має роздільну здатність 240×160 пікселів і частоту оновлення ~60 Гц.

Організація вмісту

У нас є наступні області пам’яті, в яких ми розміщуємо нашу графіку:

  • 96 КБ 16-бітної відеопам’яті (VRAM): Де 64 Кб зберігається фонова графіка, а 32 Кб – графіка спрайтів.
  • 1 КБ 32-біт OAM (Object Attribute Memory – пам’ять атрибутів об’єктів): Зберігає до 128 записів спрайтів (не графіку, а лише індекси та атрибути). Її шина оптимізована для швидкого рендерингу.
  • 1 КБ 16-бітної PAL-пам’яті (Palette RAM): Зберігає дві палітри, одну для фонів, а іншу для спрайтів. Кожна палітра містить 256 записів 15-бітових кольорів, колір 0 є прозорим.

Побудова фреймворку

Якщо ви читали попередні статті, то GBA буде вам знайома, хоча є додаткова функціональність, яка може вас здивувати, і не забувайте, що ця консоль працює від двох батарейок типу АА.

Я збираюся запозичити графіку з гри Sonic Advance 3 від Sega, щоб показати, як складається кадр.

Плитки

Charblocks, знайдені у VRAM.

Тайли GBA – це растрові зображення розміром 8×8 пікселів, вони можуть використовувати 16 кольорів (4 біт/сек) або 256 кольорів (8 біт/сек). Плитки розміром 4 bpp займають 32 байти, а 8 bpp – 64 байти.

Тайли можуть зберігатися будь-де у VRAM, проте PPU бажає, щоб вони були згруповані у charblocks: Регіон розміром 16 КБ. Кожен блок зарезервовано для певного тип шару (тла та спрайтів), і програмісти вирішують, де починається кожен чарблок. Це може призвести до деякого перекриття, що, як наслідок, дозволяє двом charblock’ам використовувати одні й ті ж плитки.

Залежно від розміру charblock, в одному блоці можна зберігати до 256 плиток розміром 8 bpp або 512 плиток розміром 4 bpp. Дозволено використовувати до шести charblock’ів, які разом потребують 96 КБ пам’яті: Точна кількість VRAM, яку має ця консоль.

Для тла можна використовувати лише чотири charblock’и, а для спрайтів – два.

Передумови

Використовуються статичні фонові шари.

Фоновий рівень цієї системи значно покращився з часів Game Boy Color. Нарешті, він включає деякі функції, знайдені у Super Nintendo (пам’ятайте про афінні перетворення)?).

PPU може намалювати до чотирьох фонових шарів. Можливості кожного з них залежать від обраного режиму роботи [6] :

  • Режим 0: Забезпечує чотири статичні шари.
  • Режим 1: Доступні лише три шари, хоча один з них є афінним (його можна обертати та/або масштабувати).
  • Режим 2: Надає два афінні шари.

Кожен шар має розмір до 512×512 пікселів. Якщо це афінний, то він буде розміром до 1024×1024 пікселів.

Файл даних, який визначає фоновий шар, називається Tile Map. Щоб реалізувати це у спосіб, зрозумілий для PPU, програмісти використовують екранні блоки, структуру, яка визначає частини фонового шару (32×32 плитки). Екранний блок займає лише 2 КБ, але для побудови всього шару знадобиться більше одного. Програмісти можуть розміщувати їх де завгодно всередині фонових чарблок, це означає, що не всі записи тайлів будуть містити графіку!

Спрайти

Розмір спрайту може бути до 64×64 пікселів, але для такого маленького екрану вони займатимуть значну його частину.

Як зробити внесок

Ця стаття є частиною серії Архітектура консолей. Якщо ви знайшли це цікавим, то, будь ласка, розгляньте можливість пожертвувати. Ваш внесок буде використано на придбання інструментів та ресурсів, які допоможуть мені покращити якість існуючих та майбутніх статей.

Ви також можете придбати електронну книгу англійською мовою. Я розглядаю прибуток як пожертвування.

Список бажаних інструментів та останніх придбань для цієї статті можна відстежувати тут:

Крім того, ви можете допомогти, запропонувавши зміни та/або додавши переклад.

Як довго працюють батарейки в Game Boy Color?

Картридж для Game Boy Color дуже схожий за конструкцією на звичайний Game Boy. Крім того, він використовує елементи CR2025/ CR1616, а це означає, що ви можете просто купити пачку цих елементів, щоб полагодити як GB, так і GBC-ігри. Коли ви виймаєте стару акумулятор з вашої гри GB або GBC, ви втратите всі збережені дані.

Ви можете створити гарну вітрину для старих картриджів Game Boy. Або ви можете придбати дампер ROM і створити власну резервну копію ROM для використання в емуляторах. Якщо ваш Game Boy розрядився, ви можете купити аналогову

Аналог – це сучасна портативна консоль, яка може відтворювати всі картриджі Game Boy, Game Boy Color та Game Boy Advanced. Ні, він не використовує програмну емуляцію. І він може виводити на сучасні HD-телевізори за допомогою док-станції.

Використовує дві мікросхеми FPGA, які можна запрограмувати на роботу як оригінальне обладнання. Одна з них – Altera Cyclone V, інша – Altera Cyclone 10. Розробники ігор можуть запрограмувати ПЛІС на роботу як “ядра” для інших ретро-приставок.

А РК-дисплей має роздільну здатність 1600 x 1440, що в 10 разів перевищує роздільну здатність оригінального Game Boy. Він навіть має захист Gorillas Glass.

Скільки коштував Game Boy у 1990 році?

Всього 89.99, що робить його на цілих 60 доларів дешевше, ніж Sega Game Gear (і 205 в сьогоднішніх грошах). Так, Game Gear була трохи швидшою, але вона також споживала більше енергії. Для живлення Game Gear потрібно було шість батарейок типу АА, а для Game Boy – лише чотири.

Від самого початку Nintendo розробляла свою портативну консоль, щоб вона була максимально доступною та компактною. При цьому він мав чудову витривалість, тому міг працювати цілий день без потреби в нових батарейках. Game Boy також мала велику бібліотеку якісних ігор, багато з яких були розроблені Nintendo.

Висновок

Сподіваюся, ця стаття допомогла вам зрозуміти, як працює картридж Game Boy і як довго він може працювати. Кожне покоління Game Boy приносило щось нове. До моменту появи GBA більшість ігрових картриджів використовували енергонезалежну пам’ять для зберігання даних користувача (тому вони не потребували батарейок).

Деякі ігри для GBA мали EEPROM, але все одно використовували батарейки, оскільки вони також мали годинник реального часу. Цей годинник був використаний для полегшення ігрових функцій, таких як вирощування ягід у Pokémon або зміна припливу в Shoal Cave. Тож якщо батарея Якщо батарея розрядилася, ви не втратите дані збережень, але певні функції гри будуть недоступні.

Скільки себе пам’ятаю, мені завжди подобалися відеоігри. Я пережив дивовижні моменти, граючи в них, і саме тому я став розробником ігор, щоб створювати дивовижний досвід для гравців. Почитайте про мене

Leave a Reply