quinta-feira, 18 de abril de 2019

Resultado do "BASIC 10-Liner Contest 2019"



       Conforme falei no post anterior, vou comentar algo sobre o resultado do concurso, que saiu no dia 14 passado.

        Descobri que o MSX foi um dos computadores menos representados: houveram apenas três jogos para a plataforma, por outro lado dois ficaram entre os "top 10" na colocação de uma das categorias.
         Abaixo a colocação do "Ballistic Challenge":
   
Resultado do BASIC 10Liners 2019

       
     Alguns jogos surpreenderam pela qualidade. Veja este, campeão dos Extrem-256 deste ano: 
       


  Vitória mais que merecida para o "Mini Bros" (by Vitoco) 


      Pra concluir vou colar abaixo alguns dados interessantes sobre o concurso deste ano, que peguei (aqui) no forum da AtariAge:


  - 83 entries, only 20 of them are for Atari XL / XE, less than for Commodore 64 which are 21, plus 9 for VIC-20. There are 12 entries for Sinclair ZX Spectrum and 6 for Amstrad CPC. There are 3 or less entries for MSX, Apple IIe, Tandy TRS-80, BBC Micro, Mattel Aquarius, Thomson MO6 and Atari 2600. 

- PUR-80 category has 35 entries, both PUR-120 and EXTREM-256 have 18, and WILD has 12. 

-  There are 43 authors, and the "most" are: Kevin with 8 entries, Matteo "Toolkitman" Trevisan has entries for 3 different platforms. Nobody sent entries for all 4 categories, have two entries for WILD entry. 

-  16 different BASIC flavors were used in total (including different version numbers on some of them).


     Porcetagens de participação (por plataforma) ao longo dos anos:


2015: 56% Atari XL / XE, 31% C64, 8% Amstrad CPC, 5% other formats 

2016: 26% Laser VZ-200, 23% Atari XL / XE, 20% C64, 13% MSX, 7% Tandy MC-10, 11% other 

2017: 39% Atari XL / XE, 26% C64, 15% Amstrad CPC, 5% Tandy MC-10, 15% other formats 

2018: 33% C64, 26% Atari XL / XE, 13% Amstrad CPC, 7% Tandy MC-10, 21% other formats 

2019: 25% C64, 24% Atari XL / XE, 14% ZX Spectrum, 11% VIC-20, 7% Amstrad CPC, 19% other channels


    E o número de entradas por país:

22 entries from USA 
11 entries from Italy 
10 entries from Germany 
5 entries from Chile 
5 entries from France 
4 entries from Hungary 
3 entries from Spain 
3 entries from Switzerland 
3 entries from Sweden 
3 entries from Ukraine 
2 entries from Netherlands 
1 entry from Australia 
1 entry from Belgium 
1 entry from Brazil   <--- só uma este ano...
1 entry from UK 
1 entry from Austria 
1 entry from Poland 
1 entry from Columbia 
5 anonymous entries


 

  Até a próxima!






quarta-feira, 3 de abril de 2019

Meu jogo no "BASIC 10-Liner Contest" 2019


     
     Para quem não conhece, o BASIC 10-Liner Contest é um concurso de programação onde são aceitos jogos escritos em linguagem BASIC, para qualquer sistema (computador ou video-game) de 8 bits. A principal regra da competição é que o código não pode conter mais que 10 linhas.

      Ano passado, quando descobri a existência do concurso, não pude participar pois já havia passado a data limite de entrada... Mas neste ano estamos no pário! :)  


São 3 categorias:

  • "PUR-80":  Máximo de 80 caracteres por linha.
  • "PUR-120": Máximo de 120 caracteres por linha.
  • "EXTREM-256": Máx. de 256 caracteres por linha.

  É nesta última que se enquadra o jogo que enviei: "Ballistic Challenge" (entrada #69) p/ MSX 1.



Ballistic Challenge

     O objetivo é fazer o projétil bater nas duas paredes, à direita e à esquerda da tela, evitando acertar os obstáculos que ficam pelo caminho. 

Controles:
SETAS: para controlar a mira e o alcance do projétil.
BARRA DE ESPAÇOS: dispara o tiro.



    Caso queira aceitar o "desafio" (concluir as 10 fases antes de ficar sem munição) clique aqui para jogá-lo online.

      O jogo, como pode-se esperar, é muito simples. Talvez a única característica digna de nota, é que possui um "mini" motor de física. Isto é o que proporciona o efeito balístico do projétil, tornando possível, inclusive, alguns experimentos. Se quiser saber mais a respeito, explorar o código ou baixar os arquivos para jogar no seu MSX ou em um emulador, veja aqui


   Voltando ao concurso, o resultado será anunciado daqui a dez dias. Assim que possível postarei algo a respeito

Para maiores informações sobre a "10Liner Contest" recomendo a leitura do site.

Aqui a lista dos jogos participantes desta edição:

https://gkanold.wixsite.com/homeputerium/kopie-von-games-list-2019-2







terça-feira, 12 de março de 2019

MSXPen - Programe e rode MSX-BASIC no browser



                              Compilador / Interpretador online de MSX-BASIC 


  Faço este post para reforçar a divulgação desta mais nova ferramenta para programar o MSX. 

   Na verdade faz-se tudo online, aqui neste site chamado MSXPen, que tem como aliado o ótimo emulador WebMSX.
                       
   O funcionamento é extremamente simples: basta digitar o código na parte esquerda da tela, pressionar o botão "Run" e ver seu programa rodar no emulador (à direita).

     Há ainda, na parte inferior da tela, um assembler. Que me parece ter grande potencial pra quem está aprendendo ou pretende aprender a programar Assembly do Z80. 

     Também é possível criar um link para o seu programa, salvar o estado ou  a imagem do disquete (.DSK), o que facilita muita a vida na hora de compartilhar o código. 

   Termino o post dizendo, com muito orgulho, que tanto o MSXPen quanto o WebMSX foram desenvolvidos por brasileiros. O primeiro por Rafael Jannone e o segundo por Paulo A. Peccin (que também é o autor do Javatari). 

  








   

quinta-feira, 18 de outubro de 2018

Midi2PLAY - Convert MIDI files to BASIC language




   I made this post to tell about "Midi2PLAY" (for Windows 32/64, binaries source code available here), a program I developed that assists in the process of converting MIDI files (.mid) to the syntax accepted by the PLAY command of MSX-BASIC

As I will explain below, Midi2PLAY does not do the conversion alone, it depends on another program (3ML Editor) to intermediate the process. But it's all very simple and in the end you will have a BASIC music program practically ready to run on MSX.

About Midi2PLAY

The main purpose was to develop a converter parser that generates code compatible with all versions of MSX (from MSX1), without the need for additional hardware such as MSX-Audio, MSX-Music or FM-Pac. That is, the syntax generated by "Midi2PLAY" can be executed on any MSX.
The program is still in development but I already offer the executable and the code (in C++) for those who want to use it. Follow the download link:

https://github.com/rodrivas78/Midi2PLAY


 I will now make a quick summary of how the program works:

 Following up on what I said earlier, Midi2PLAY does not directly convert MIDI files (.mid). For this it depends on another program: the 3ML Editor.

The 3ML Editor is free and can be downloaded at: http://3ml.jp/download.html

See below how the conversion process works and what the function of each application is:

 MIDI file -> 3ML Editor -> MML file (.txt) -> Midi2PLAY -> .BAS file

Step by step:

  • Import the MIDI file into the 3ML Editor.
  • Still in the 3ML Editor: export the MML file. (Save as "mml.txt")
  • Run the "Midi2PLAY" (with the "mml.txt" properly formatted in your folder)
  • The "play.txt" file will be generated. Just save it as ".BAS" and use it in MSX.


What we see above is a summary, for the correct use of the program it is necessary to read the Midi2PLAY manual, since there are some non-automated processes. In the program folder, along with the manual, there are images and sample files that will help you to quickly understand what should be done to make everything work correctly.

 Addendum

   It is understood that Midi2PLAY could (or should!) be called mml2play, but as the "MML" format is not so well known and for the program function to become self explanatory, I chose the current name.

  As I mentioned earlier, the program still needs some improvement. For example: the user needs to perform a few steps manually, so that the document (mml) is properly formatted so that the conversion is correct. I intend to automate some of these steps in future releases.
    
  If you used the program I will be happy to hear your feedback.

 I have not had time to perform all the necessary tests, so if possible help by reporting any bug. Reviews and suggestions are also welcomed!


keywords: Midi2Basic, MIDI to BASIC


quarta-feira, 17 de outubro de 2018

Midi2PLAY - Converta arquivos MIDI para o MSX-BASIC




   


  Faço este post falar do "Midi2PLAY" (p/ Windows 32/64), programa que desenvolvi que auxilia no processo de conversão de arquivos MIDI (.mid) para a sintaxe aceita pelo comando PLAY do MSX-BASIC.

Conforme explicarei abaixo o Midi2PLAY não faz a conversão sozinho, depende de outro programa (3ML Editor) para intermediar o processo. Mas é tudo bem simples e ao final você terá um programa musical em BASIC praticamente pronto para rodar no MSX.

Sobre o Midi2PLAY

O intuito principal foi desenvolver um parser conversor que gere código compatível com todas as versões de MSX (desde o MSX1), sem a necessidade de harware adicional como MSX-Audio, MSX-Music ou FM-Pac. Isto é, a sintaxe gerada pelo "Midi2PLAY" pode ser executada em qualquer MSX. 

O programa ainda está em desenvolvimento porém já disponibilizo os binários para quem queira ir utilizando-o. 

Segue o link para download:
https://github.com/rodrivas78/Midi2PLAY

 Farei agora um rápido resumo de como o programa funciona: 

 Dando seguimento ao que eu disse anteriormente, o Midi2PLAY não converte diretamente os arquivos MIDI (.mid). Para isso ele depende de outro programa: o 3ML Editor. 

O 3ML Editor é gratuito e pode ser baixado no link:  http://3ml.jp/download.html     

Veja abaixo como funciona o processo de conversão e qual a função de cada aplicação:

 Arquivo MIDI --> 3ML Editor --> Arquivo MML(.txt) --> Midi2PLAY -->  Arquivo .BAS  

Passo a passo:

  • Importar o arquivo MIDI no 3ML Editor. 
  • Ainda no 3ML Editor: exportar o arquivo MML. (Salvar como "mml.txt")
  • Executar o "Midi2PLAY" (com o "mml.txt" devidamente formatado, em sua pasta)
  • Será gerado o aquivo "play.txt". Basta salvá-lo como ".BAS" e utilizá-lo no MSX. 


O que vemos acima é um resumo, para a correta utilização do programa faz-se necessária a leitura do manual do Midi2PLAY, visto que há alguns processos não automatizados. Na pasta do programa, juntamente com o manual, há imagens e arquivos de exemplo que o ajudarão a entender rapidamente o que deve ser feito para tudo funcionar corretamente.

  Adendo

   Fica-se compreendido que o Midi2PLAY poderia (ou deveria!) se chamar "mml2play, mas como o formato "mml" não é tão conhecido e para que a função do programa torne-se auto-explicativa, optei pelo nome atual. 

  Conforme mencionei anteriormente, o programa ainda precisa de algumas melhorias. Por exemplo: o usuário precisa efetuar alguns passos manualmente (não automáticos) para que o documento (mml) fique devidamente formatado e assim haja uma correta conversão. Pretendo automatizar alguns destes passos nas próximas versões. 
    
   Sobre a publicação do código, assim que possível, ou melhor, após uma devida "limpada", vou disponibilizá-lo no GitHub.

Se utilizar o programa ficarei feliz em ouvir o seu feedback.


Até a próxima!

keywords: MIDI para BASIC


segunda-feira, 1 de outubro de 2018

O programa da revista MAD - versão p/ MSX



         
         Em 1985, a revista MAD (e antes que me perguntem, já respondo: sim, eu lia essa eca! E pior, gostava...*) americana, mostrando-se antenada com a (então recente) febre dos computadores pessoais, fez uma edição com capa e algum conteúdo voltado à computação. 



Nos anos 80 a febre dos "personal computers" invadia tudo, até revistas de humor


    O tal conteúdo até que foi legal: além dos excelentes quadrinhos do mestre Aragonés, um programa em BASIC (basicamente uma rotina gráfica que plota o Alfred Newman na tela), com quatro versões diferentes, uma para cada um dos quatro computadores pessoais mais populares de então (nos EUA):  Apple II, Atari, Commodore 64 e IBM/PC.
  
     Como o MSX não atingiu muita popularidade na terra do tio Sam, é obvio não houve listagem pra a ele...mas não fique desapontado, já providenciamos uma (link ao fim da postagem)

    Na verdade, apenas o início do programa é específico para cada computador, o restante (da linha 500 ao fim) é código comum às quatro máquinas. Esse "restante" nada mais são que 129 linhas "DATA", que continham as coordenadas para que o desenho fosse traçado. 


   Reproduzo abaixo as páginas da revista que contém os códigos:

      


Digite, imprima e mande uma cópia pra revista (veja no canto direito). Naquela época havia tempo de sobra!




        Talvez como tentativa de estimular a sacal tarefa de digitar o código, é solicitado ao fim da 4a página, que os leitores enviem uma impressão da tela para a redação da revista. Apesar de tal empreitada (de digitar esse monstro) ser evidentemente demorada e trabalhosa, acredito que muitos dos leitores encararam o desafio. (Naquela época não havia ainda youtube, whatsapp, instagram e etc, ou seja sobrava tempo..)

    A conversão para MSX não deu trabalho, visto que podemos utilizar a versão para IBM com mínimas alterações. Na verdade, apenas uma alteração significativa: para que a string "What, me worry?" seja impressa em modo gráfico (SCREEN 2) no MSX, basta utilizar o comando OPEN":GRP", como vemos abaixo:

..
120 OPEN"GRP:" AS#1
130 PSET(67,178)
140 PRINT#1,"WHAT, ME WORRY?"
..

 Segue vídeo do programa rodando em um MSX1 (BlueMSX):






DOWNLOAD


      Você encontra aqui o código e o arquivo DSK. E aqui uma versão em Applesoft BASIC.


Até a próxima!


*publicaram um desenho meu na edição 87 (veja a capa abaixo). Não tenho mais a revista, se alguém a tiver me avise!






BASIC 10-Liners Contest 2020