[abc80] Video: Läs ABC80&ABC800-dokument i Linux (& Windows & macOS)!

Abinsium abinsium at gmail.com
Fre May 4 03:20:13 PDT 2018


Den 2018-05-04 kl. 00:25, skrev H. Peter Anvin:
> On 05/01/18 19:00, Abinsium wrote:
>> Hur man kan läsa ABC 80- & ABC 800-dokument & program i Linux, Windows
>> med Linux, eller (troligen) macOS. D.v.s. läsa alla dokument kodade i
>> ISO646-SE2 (svensk-ASCII för namn ä.k. SwASCII).
>>
>> https://youtu.be/NfJ-WL_iRQc (13 min)
>>
>> curl -s -k
>> https://www.abc.se/programbanken/abc/abc800/spel/adventur/starwars.bas |
>> sed 'y/`{|}~@[\\]^$\x7F/éäöåüÉÄÖÅܤ■/' | dos2unix | less
>>
> 
> Eller, bättre:
> 
> iconv -f ISO646-SE2 -t UTF-8

På ABC80 och ABC800 kan man skriva '■' genom att trycka Ctrl+< så därför 
förekommer detta tecken i bas-filer, men man kan använda:

iconv -f ISO646-SE2 -t UTF-8 | sed 'y/\x7F/■/'

Dock klarar iconv i Git Bash och MSYS2 ej ISO646-SE2 så därför använder 
jag sed (tr i Ubuntu verkar ej klara UTF-8).

> http://git.zytor.com/abc80/abcdisk.git har ett program (abctext) som
> konverterar en fil i ABC *binärt* format till en textfil (utan att
> konvertera teckenuppsättning.) ABC-DOS (eller egentligen I/O-rutinerna i
> BASIC-tolken) har ett minst sagt fuffens format för textfiler.

BAS-filer i programbanken verkar vara konverterade till DOS-textfiler. 
Originalformatet verkar vara \t%c för %c st. mellanslag och \3 för slut 
på text i block (253 tecken) och 6 st. \0 i början av block för filslut, 
enligt:
https://git.zytor.com/abc80/abcdisk.git/tree/abctext.c

cc finns ej i Git Bash, men perl och awk finns, så man kan översätta 
abctext.c till Perl eller Awk, eller möjligen Sed.


More information about the ABC80 mailing list