Jump to content
¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter!

1 Screenshot

Atmosphere es un Custom Firmware en progreso para Nintendo Switch, constantemente actualizado.

Componentes

Atmosphere está formado por múltiples componentes que reemplazan o modifican diferentes aspectos del sistema:

  • Fusée: Loader de primera etapa, responsable de cargar y validar la etapa 2 (TrustZone personalizado) más el paquete 2 (módulos de sistema Kernel / FIRM), y parchearlos según sea necesario. Esto reemplaza todas las funciones normalmente en Package1loader / NX Bootloader.
  • Exosphère: TrustZone personalizado, para ejecutar un monitor seguro personalizado
  • Thermosphère: compatibilidad con EL2 EmuNAND, es decir, realizar copias de seguridad y utilizar imágenes NAND virtualizadas / redirigidas
  • Stratosphère: Sysmodule (s) personalizado (s), tanto al estilo Rosalina para extender el kernel / proporcionar nuevas características, como al estilo de reimplementación del cargador para enganchar acciones importantes del sistema
  • Troposphère: parches de Horizon OS a nivel de aplicación, utilizados para implementar características de CFW deseables

Agradecimientos

Atmosphere está actualmente desarrollado y mantenido por SciresM, TuxSH y hexkyz.

Sin seguir un orden en particular, todas estas personas o equipos de personas han puesto su granito de arena para crear Atmosphere:

  • switchbrew for the libnx project and the extensive documentation, research and tool development pertaining to the Nintendo Switch.
  • devkitPro for the devkitA64 toolchain and libnx support.
  • ReSwitched Team for additional documentation, research and tool development pertaining to the Nintendo Switch.
  • ChaN for the FatFs module.
  • Marcus Geelnard for the bcl-1.2.0 library.
  • naehrwert and st4rk for the original hekate project and its hwinit code base.
  • CTCaer for the continued hekate project's fork.
  • Riley for suggesting "Atmosphere" as a Horizon OS reimplementation+customization project name.
  • hedgeberg for research and hardware testing.
  • lioncash for code cleanup and general improvements.
  • jaames for designing and providing Atmosphère's graphical resources.
  • Everyone who submitted entries for Atmosphère's splash design contest.
  • All those who actively contribute to the Atmosphère repository.

Que novedades incluye la versión 1.2.0

Released

  • boot se actualizó para reflejar el comportamiento oficial más reciente para la gestión de pantalla / batería.
    • Esto debería solucionar cualquier problema que pueda resultar de la ejecución de versiones anteriores en el modelo OLED, si de alguna manera está en condiciones de hacerlo.
  • El sistema de "firmware de destino" se cambió para permitir que el cargador de arranque especifique una aproximación, en lugar del firmware de destino real.
    • Anteriormente, esperábamos que los cargadores de arranque compatibles inspeccionaran SYSTEM: / para determinar el firmware de destino específico.
    • Ahora, solo necesitamos una versión aproximada, con la versión principal == verdadera versión principal y la versión aproximada <= versión verdadera.
    • Esto simplifica enormemente los requisitos del gestor de arranque y, en consecuencia, todo el código para acceder a SYSTEM se ha eliminado de fusee.
    • Esto debería resultar en una aceleración sustancial al arrancar emummc con fusee, ya que los accesos al SISTEMA eran lo más caro que se hacía anteriormente.
    • Esto debería resolver cualquier inconsistencia en la detección de firmware al arrancar a través de fusee vs hekate.
    • Esto también debería mejorar nuestra compatibilidad con las versiones de micro firmware, haciendo más probable que la atmósfera "simplemente funcione" si nada importante ha cambiado.
  • La lógica de determinación dinámica del límite de recursos se implementó en pm para que coincida con el comportamiento oficial más reciente.
    • Esto también simplifica en gran medida / hace coherentes los límites de recursos en firmwares más antiguos.
  • Se realizó una enorme cantidad de refactorización bajo el capó, que incluye:
    • Tenga en cuenta: si es un desarrollador que usa Atmosphere-libs, una serie de cambios aquí se están rompiendo.
      • No dude en comunicarse con SciresM # 524 para obtener ayuda para actualizar su programa.
    • El espacio de nombres del sistema operativo tenía muchas primitivas implementadas / hechas más precisas.
    • Dado que la mesosfera ahora está siempre encendida, os :: LightEvent (que requería SVC más nuevos) ahora se puede usar a nivel mundial (y la estratosfera lo usa cuando sea relevante).
    • Las afirmaciones ahora son verdaderas no-operaciones cuando se construye para su lanzamiento.
    • Stratosphere ahora está construido con -Wextra / -Werror.
    • La lógica más "común" en los archivos main.cpp del módulo del sistema se movió a libstratosphere.
      • Tenga en cuenta: los archivos main.cpp para atmosferas-libs anteriores ya no funcionarán, por una gran cantidad de razones.
    • Se corrigieron varios problemas de estilo de código de larga data.
    • Mesosphere ahora usa util :: BitFlagSet para los permisos SVC.
    • Mesosphere ahora coloca su tabla de reubicación dentro de .bss, lo que permite que esa memoria se recupere después de que se realicen las reubicaciones.
      • Estos cambios ahorran ~ 16 KB de memoria en el kernel, todo dicho y hecho.
    • Se detectaron y aprovecharon varias ubicaciones en la estratosfera donde se podía guardar la memoria, lo que llevó a ~ 150-200 KB de memoria guardada.
    • El módulo del sistema spl y loader fue refactorizado para reflejar mejor la lógica oficial.
    • El código del servidor sf ipc se actualizó para emitir solo lógica mitm / diferir cuando esa lógica se requiere en algún lugar del proceso.
    • El código del servidor tipc ipc se actualizó para reflejar los cambios en la lógica oficial realizados en 13.0.0.
    • Muchos, muchos otros cambios menores, hable con SciresM # 524 o lea las confirmaciones relevantes si desea saber más.
  •     Se solucionaron varios problemas menores, que incluyen:
    • El manejo de Mesosphere de los permisos SVC en el hilo pin / unpin se actualizó para reflejar el comportamiento oficial del kernel.
      • util :: CountTrailingZeroes () se corrigió para calcular el valor correcto cuando se usa en tiempo de compilación.
  •     Mejoras generales de estabilidad del sistema para mejorar la experiencia del usuario.

¿Tienes alguna duda, petición o aporte? Utiliza el foro!



×
×
  • Crear nuevo...