segunda-feira, janeiro 31, 2022

Tutorial Linguagem Assembly para MSX: Introdução

Motivação

Inicio aqui um tutorial sobre programação assembly para o MSX. Existem vários tutoriais, feitos no brasil, na espanha, holanda, etc.. Muito bons por sinal, porém a grande parte deles foi até uma leve introdução e em seguida foram descontinuados. Existem também bons livros de assembly para MSX, não? Não... Infelizmente as chamadas "bíblias do assembly msx" nacionais são muito confusas, não se dedicam há um projeto, simplesmente despejam dezenas de instruções sem mostrar de fato algo útil a ser feito com elas.

Artigo Original: Wilson Pilon

Eu mesmo estou digitando alguns livros em assembly de MSX no projeto MSX Typer, eles são válidos como referência e consultas, mas não creio que realmente ensinem algo mais profundo. Os livros não tratam segmentação de memória, acesso a disco, MSX 2, MSX-DOS além de outras coisas. Pretendo então criar aqui um tutorial como eu gostaria de ter na época. Este tutorial é totalmente baseado (praticamente cópia ou plágio se preferir) num dos livros primordiais para programação Assembly para IBM-PC: 

Peter Norton's Assembly Language Book for the IBM-PC - Brady Books, 1986 - Norton e John Socha

MSX Programas: Revista MSX Micro 01

Revista MSX Micro 01

Dezembro de 1985
Programas: Programas: Gráfico de Barras, Banco de Dados, Senha, Controle do Gravador e Piano
Jogos: Decathlon, Lode Runner, Frogger, Pac Man, Beamrider, Tennis, Pitfall, H.E.R.O., Keystone Kapers

fMSX 6 no Ubuntu 21.04

O fMSX ainda é um ótimo emulador e roda muito bem em maquinas menos potentes, principalmente em ambiente Unix/Linux.

Alteração no Makefile

A partir do GCC 10, ocorre o famoso problema de 'multiple definition of ARGC/ARGV', isto por conta que a partir desta versão, o GCC adota a flag no-common como padrão.

Uma pequena alteração no Makefile ajusta isso. O Makefile fica em fMSX/Unix, basta incluir na linha CFLAGS a opção '-fcommon' e a compilação transcorre tranquilamente, mas ainda não compile pois alguns pacotes são necessários.

Makefile

    CFLAGS += -Wall -I$(LIBZ80) -fcommon

AdrianPage: Electronic Applications

Ferramentas auxiliares à eletrônica desenvolvidas pelo Adriano Cunha.

Bobinex

An application for calculating many electronic inductors (in portuguese).

AdrianPage: Other Platform Utilities

Utilitários desenvolvidos pelo Adriano Cunha relacionados ao MSX porém para outras plataformas, como Linux ou DOS.

ChangeDrive

An utility for fast changing the drive definition on the CJS MSX Emulator.

A&L Software - Manual

The program purpose

This program can change the actual drive definition of the CJS MSX Emulator (MSX1, vr. 0.99b, or MSX2, vr.1.0 or above) without needing you to manually edit the definition file.

Using the program

The program syntax is the following:

  • ChangeDrive [d1,d2,d3,d4...] [/?]

AdrianPage: Third party softwares

Programas de terceiros postados com autorização pelos autores no site do Adriano Cunha para MSX.

Yie Ar Kung Fu I 2 Players version (IPS patch)

The classic Konami game featuring 2 players mode game; adapted by Eduardo Mello from Opcode Games and hosted under permission.

(OC) Com o IPS4MSX não consegui aplicar o patch.

Downloads

AdrianPage: Assembly Source Code

CALL Implementation

An installation routine for CALL commands; works on any MSX, with RAM on subslots or not (in portuguese).

sexta-feira, janeiro 28, 2022

AdrianPage: Coding Tools

 Ferramentas auxiliares para programação criadas pelo Adriano Cunha.

CMDJan

Three new commands for MSX-BASIC to create, save and restore text windows on SCREEN 0 (in portuguese).

AdrianPage: Instalando IDE no MSX1

Tutorial de como instalar uma IDE no MSX, artigo original do Adriano Cunha para MSX.

Introdução

Este tutorial explica como instalar a IDE CIEL ou Sunrise em uma máquina MSX1, sem necessidade se abrir o computador ou soldar qualquer peça.

Apesar do processo ter sido realizado com sucesso pelo autor, o mesmo não se responsabiliza por quaisquer danos causados a equipamentos ou dados decorrentes do uso que se faça da informação aqui disponibilizada.

Expert 1.1 com HD e CD-ROM IDE:

AdrianPage: Games

Detetive

A&L Software MSX version of "Cluedo" (in portuguese).

AdrianPage: Support software

Ferramentas auxiliares para programação criadas pelo Adriano Cunha.

Himem.com

A TSR memory manager for MSX1, by Mário Impronta, required by AD-DOS.COM.

AdrianPage: Utilities

Ferramentas auxiliares para programação criadas pelo Adriano Cunha.

Todos os softwares disponíveis nesta página, exceto os denominados, são livres.

(c) 2005 A&L Software

AD-MSX

A DOS/BASIC screen saver; requires HIMEM.COM (see Support Softwares).

(OC) Não encontrei informações de como executar o programa, restando apenas a opção de depurá-lo, assim que tiver feito isso, posto os resultados.

Atualizador de Backup

A disk backup comparison utility (in portuguese).