Pular para o conteúdo principal

Introdução

Módulos

AthenaEnv é um projeto que busca facilitar e, ao mesmo tempo, fornecer um kit completo para que os usuários criem software homebrew para PlayStation 2 usando a linguagem JavaScript. Ele conta com dezenas de métodos integrados, tanto para a criação de jogos quanto de aplicativos.

A principal vantagem de usar o AthenaEnv em vez do PS2SDK puro é, acima de tudo, a praticidade. Você utilizará uma das linguagens mais simples possíveis para desenvolver suas ideias, sem a necessidade de compilação — basta escrever o script e testar, de forma rápida e simples.

Pré-requisitos

Com o AthenaEnv, você precisa de apenas uma forma de programar e uma forma de testar seu código. Ou seja, se quiser, pode até criar seu código diretamente no PS2. Porém, deixarei algumas recomendações abaixo.

PC

Android

Ah, e também preciso mencionar que um pré-requisito essencial para usar o AthenaEnv é saber programar em JavaScript.

PCSX2

Versão Qt

image

dica

Habilite a saída no console

console0

(antiga) versão WxWidgets

image

Primeiros Passos

const font = new Font("default");

os.setInterval(() => { // Basicamente cria um loop infinito, similar ao while true (você também pode usá-lo).
Screen.clear(); // Limpa a tela para o próximo quadro.
font.print(0, 0, "Hello World!"); // x, y, texto
Screen.flip(); // Atualiza a tela.
}, 0)

Veja mais exemplos em AthenaEnv samples.

Como executar

O Athena é basicamente um carregador de JavaScript, ou seja, ele carrega arquivos .js. Ele executa o main.js por padrão, mas você pode executar outros arquivos passando o nome como o primeiro argumento ao iniciar o arquivo ELF.

Demo

Se você tentar apenas fazer o download na aba de releases aqui e executá-lo, isso é o que você verá:

_50bda816_20230409025946

Esse é o painel padrão, codificado no arquivo main.js padrão. Ele procura arquivos JavaScript cuja primeira linha contenha a seguinte estrutura:

// {"name": "Nome do app", "author": "Quem fez isso?", "version": "04012023", "icon": "app_icone.png", "file": "meu_app.js"}
// Agora você pode programar livremente abaixo:

Uma vez encontrado, ele aparecerá na lista de aplicativos do painel.

Funcionalidades

Além disso, ele usa uma versão levemente modificada do interpretador QuickJS para a linguagem JavaScript, o que significa que traz quase todos os recursos modernos do JavaScript até agora.

Float32

Este projeto introduz um (antigo) novo tipo de dado para o JavaScript: floats simples. Apesar de serem menos precisos do que os doubles tradicionais em termos de semântica numérica, eles são importantes para o desempenho no PS2, já que o console só processa floats de 32 bits em sua FPU.

Você pode escrever floats simples no AthenaEnv seguindo a sintaxe abaixo:

let test_float = 15.0f; // O sufixo 'f' faz com que o QuickJS o reconheça como um float simples.

ou

let test_float = Math.fround(15.0); // Math.fround retorna floats simples reais no Athena.