ATARI Portfolio - 02. New.

By Administrator at mája 19, 2014 06:30
Filed Under: ATARI Portfolio

ATARI PortFolio ála Miroslav Tomeš:


Jsou k mani zdrojove kody hudebnich enginu pro Atari800? jeden z napadu do budoucna je AY chip pripojeny na paralelni port PF. Emulovat se to nestihne jako na PC (pf ma skoro stejny kmitocet jako Spectrum a bohuzel min registru, instrukce exx me naprosto vydesila ;-)). Nasel jsem bud emulaci pro PC, coz neprichazi v uvahu nebo par zdroju pro ZX Spectrum, tam je zase problem pochopit jak je vlastne Melodic adresovany a co do nej vlastne tracker zapisuje.
 Jinak 1bitovou hudbou se zabyva ten Shiru, ma nekolik skvelych enginu dostupnych se zdroji v asm Z80, celkem to jde prepsat do 8086 akorat je to narocne na presne casovani, takze mi hraje jen ten HUBY. Rozdelany mam LSEngine, jenze zatim ohavne pisti prave kvuli nepresnemu casovani vystupu na beeper.
 Primarne pracuju hlavne na manazeru, ale chtel bych pro PF udelat vic veci. Mam rozdelanou grafickou knihovnu a mohlo by se zadarit dostat ji az na uroven ocesanych TurboVision (aspon nejake msg boxy, tlacitka, ikony, menu atd, ale lepsi nez int60). Uvidime... Samozrejmosti je inteligentni kresleni do pameti a hw refresh displeje, zadne int10 setpixel.
Jeste umim asm 6502, nicmene ted to neni primarni zajem. Ja se pro zmenu trapim win api SetWindowsHookEx. Mam par examplu ale moc to zatim nefunguje. Myslim, ze jiny nez tento mechanismus neni pro odchyceni zavreni jine aplikace, abych pak smazal docasny soubor napr. po editaci nebo prohlizeni.
 Tahne me to vic nez se ucit Javu a smolit neco pro Androida. Tyhle stare hracky maji stale svoje kouzlo...



Ahoj,

  diky za info a take za zajem o APM. Stranky jsem procital o vikendu jsou zajimave btw netusil jsem, ze se delaly klony originalnich jednotek pro Atari. SIO2SD jsem predloni koupil z Polska, ale zatim odpociva.
 Jak jsem uz psal v minulosti jsem se zivil programovanim, ale bohuzel profesne jsem se dostal k velkym databazim a moc legrace clovek neuzil. Proste prace, osud sel tak, ze se ted zivim trosku jinak, zato zustal cas a zajem psat neco v ramci hobby. Vzdycky me tahly Delphi, Pascal a assembler a soft typu 'nejaka' hracka pripojena k PC. Jako diplomku jsem psal sw pro merici kartu, neco jako pametovy osciloskop. Nemam moc rad dnesni umele nabubrele systemy o MS si davno myslim sve. Na tech win 3.11 je krasna sila v jednoduchosti. Srozumitelne i kdyz nedokonale API a po instalaci Calmiry bezi na malinkem starem notebooku vse co clovek potrebuje. Atari PF je laska jeste z vysky tak jsem se k tomu rad vratil.
 APM je vlastne takovy zacatek, aby se s PF dalo rozumne komunikovat a ladit na nem programy. Pisu si s Klausem Peichlem z Nemecka, ktery PF pouziva dodnes a jeste o par lidech vim. Proto myslim, ze i kdyz jen pro par fandu, ale prece jen pro nekoho muze tohle byt prinosem.
 Pokud APM dotahnu i ke 32bitove verzi, tak si myslim, ze at bude hostovany na Tvem blogu nebo jinde, mohl by byt o nej zajem.
 K jednobitove a AY hudbe a svych planech ohledne tohodle jeste napisu, pokud Te to zajima. Velice hezky vypada Rasteruv tracker...
 Dnes jsem udelal par uprav, prikladam aktualni verzi. Pokud to neotravuje a APM bude u Tebe hostovat muzu posilat update s dulezitymi zmenami. Jeste je co dodelavat, neni to hotova verze.

Hi Klaus,

 because I really wonder if APM will work on Your linux I tried to hurry with corrections. In my opinion it should work now. Maybe You should restart app when settings are wrong I didn`t long time testing. Remember when st. gone wrong press key or esc on pf and server should go back to state 'listening'. I will try explain changes.

in pf.pas

PFForm has new properties and all code use them

    PFInterFace:TPFInterface;
    PFComPort: string;
    PFLptPort: word;

in FMOption.pas

 on FormShow read and display on right side of radio buttons port addresses from Bios Data Area unused LPTs are disabled but can enter address of user port e.g. $0378 in hex.

..
    asm
     mov ax,2
     mov bx,$0000
     int $31
     mov Seg0000,ax
    end;
    Port:=MemW[Seg0000:$0408];
    if Port=0 then
     begin
      Label2.Caption:='';
      RadioButton3.Enabled:=false;
     end
    else
     Label2.Caption:='('+IntToHex(Port,4)+')';
..

in Main.pas

 function ReadOption sets interface, lpt port address and number of COM for serial adapter

procedure TForm1.ReadOptions;
var PomInt: integer;
begin
  with FTIniFile do
   begin
    PomInt:=ReadInteger('OPTIONS', 'Interface', 1);
    if PomInt=1 then PFForm.PFInterface:=ifParalell
                else PFForm.PFInterface:=ifSerial;
    PFForm.PFComPort:='COM'+IntToStr(ReadInteger('OPTIONS','Com',0)+1);
    PFForm.PFLptPort:=ReadInteger('OPTIONS','Lpt',$0378);
   end;
 end;

I will be very glad if this corrections would be successfull....


Regards,

Mirek

 

apm.zip (198,97 kb)

____________________________________________________

Vaše hodnotenie, Rate post:

Comments

8. 12. 2018 19:20:22 #

trackback

Directory Atari PortFolio

Directory Atari PortFolio

Igi blog |

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: