Programování - DOS - Pascal, Basic, C, Assembler atd.
Logout napsal(a)
slayn napsal(a)
Tak jsem pod VirtualBoxem rozeběhl FreeDOS a C++ kompilátor i s Allegrem či Curses. Pokud by byl zájem, mohl bych i sepsat návod jak na to.C++, Allegro? Tady budu mít těžkou konkurenci!
Tak já jsem teď stejně chtěl dělat na Roguelike hře, takže spíš ty curses:) ale možná se kouknu i na to Allegro, když bude čas.. jenom nevim odkud se svym grafickym nadáním vycucám sprity:D
Každopádně kompilace Hello world! trvá asi dvě minuty, takže tvorba pod DOSem asi nebude úplně pohodlná:D
Sledge napsal(a)
Já se zatim nepohnul nikam, víkend jsem měl plnej. Star Trek je paráda, zírám!A zcela narovinu, dva soutěžní příspěvky by byly přesně o dva víc, než jsem původně čekal, jsem nadšen! ;)
Paráda by to byla, kdyby TurboPascal nebyla ta nejhorší sračka, se kterou se musela moje maličkost potkat. Mají chyby v grafických rutinách, na videu to není moc vidět, ale ve sprajtu jsou dva bludné pixely, které tam ve skutečnosti být nemají a v předloze nejsou. Když jsem kdysi četl, že tam mají bugy, nečekal jsem že jsou takové.
Logout napsal(a)
Sledge napsal(a)
Já se zatim nepohnul nikam, víkend jsem měl plnej. Star Trek je paráda, zírám!A zcela narovinu, dva soutěžní příspěvky by byly přesně o dva víc, než jsem původně čekal, jsem nadšen! ;)
Paráda by to byla, kdyby TurboPascal nebyla ta nejhorší sračka, se kterou se musela moje maličkost potkat. Mají chyby v grafických rutinách, na videu to není moc vidět, ale ve sprajtu jsou dva bludné pixely, které tam ve skutečnosti být nemají a v předloze nejsou. Když jsem kdysi četl, že tam mají bugy, nečekal jsem že jsou takové.
Mně zas IDE z nějakého důvodu linkuje jeden soubor dvakrát a se dvěma funkcema main() to jaksi neběhá:D a to jsem ještě vlastně ani nic nevytvořil;)
Kvůli uvednému problému s originál grafickými drivery zvažuju, že to udělám v SVGA 640x480x256 barev, na to je totiž ovladač od třetí strany, který bugy od Borlandu nemá. Dokonce by to pak mohlo jet i ve vyšších módech jako 800x600. V takovém případě by mi odpadlo spousta kreslení sprajtíků, neb to už jde ukrást pomocí Google Images :-)
Teď je ovšem otázka zda je to a) dost retro a b) zda to bude stíhat DOSBox.
Logout napsal(a)
Kvůli uvednému problému s originál grafickými drivery zvažuju, že to udělám v SVGA 640x480x256 barev, na to je totiž ovladač od třetí strany, který bugy od Borlandu nemá. Dokonce by to pak mohlo jet i ve vyšších módech jako 800x600. V takovém případě by mi odpadlo spousta kreslení sprajtíků, neb to už jde ukrást pomocí Google Images :-)Teď je ovšem otázka zda je to a) dost retro a b) zda to bude stíhat DOSBox.
Tak že to nebude dost retro bych se nebál. Ale DOSBox nevim.. třeba Quest for Glory IV taky běželo v 640x480 a v DosBOXu jede krásně, na druhou stranu Fallout v DOSBoxu nic moc.
Logout napsal(a)
Jasně, TurboPascal v DOSBoxu, přímo to tam píšu, kompiluju i testuju.
Já snad zkusim TurboPascal, abych viděl jak to s tim jde:) Ale chybí mi pohodlí moderních IDE, třeba přepínání mezi spoustou souborů neni vůbec sranda.. Ale hlavně se to fakt dlouho kompiluje, a já jsem zvyklej testovat po každejch pár řádcích novýho kódu:D
Popravdě, mě rozhraní TurboPascalu vyhovuje. Jednak nemám důvod přepínat mezi více zdrojákama, zatím je hra jen v jednom a nevidím duvod to dělit do více. Kompilace trva řekněme 20s i na mé obstarožní plečce a když jsem dneska dal na stůl reálnou 486, tak je to ještě rychlejší. Žádné rozhraní to za mě nenapíše a když mě to baví psát, tak je jedno v čem to píšu. Já jedu v konzoli i v moderních systémech a razím názor, že jedině tak je to správně :-)
Momentálně přemýšlím, zda to celé radši nepsat v assembleru, už tak tam toho mám polovinu.
Logout napsal(a)
Popravdě, mě rozhraní TurboPascalu vyhovuje. Jednak nemám důvod přepínat mezi více zdrojákama, zatím je hra jen v jednom a nevidím duvod to dělit do více. Kompilace trva řekněme 20s i na mé obstarožní plečce a když jsem dneska dal na stůl reálnou 486, tak je to ještě rychlejší. Žádné rozhraní to za mě nenapíše a když mě to baví psát, tak je jedno v čem to píšu. Já jedu v konzoli i v moderních systémech a razím názor, že jedině tak je to správně :-)
Momentálně přemýšlím, zda to celé radši nepsat v assembleru, už tak tam toho mám polovinu.
Tak jsem ten TP zkusil a přinejmenšim kompilace je fakt mnohem rychlejší, ale i tak.. Rozdělovat do více souborů je taky spíš doménou Céčka. Já taky radši dělám v konzoli, ale na něco většího je lepší IDE, když si zvykneš na některý vychytávky tak se těžko vrací zpět;)
LubikCZ napsal(a)
Já bych spíš než DOSBox použil nějaký virtuální počítač s naistalovaným MS-DOSem pro programování a teprve pak by přišel na řadu DOSBox pro samotné hraní :)
Tak já používám VirtualBox s FreeDOSem, ale on nakonec bude ten DOSBox asi lepší a možná i rychlejší.. Přinejmenším tam není potřeba nahrávat soubory přes FTP:D
Mimochodem, odstranil jsem problém s špatnými pixely, přidělal assemblerovou detekci paprsku na monitoru a najednou to všechno vypadá o 100% lépe, ať žije reálný hardware. Takže rozlišení 640x350 v 16 barvách zatím platí, jen zvažuju že vyhodím tu myš, bohužel je ovládání s její pomocí poněkud divné i s použitím obrazového bufferingu.
Logout napsal(a)
Hlavně pokud chcete hru časovat tak aby běžela použitelně rychle v DOSBoxu nebo na nějaké 386, tak je VirtualBox k ničemu, protože jede na plné rychlosti vašeho CPU. Za mě je pořadí jasné:a) skutečný HW
b) DOSBox
c) qemu
d) cokoliv virtuálního...
A rozdíl mezi qemu a čímkoliv virtualním je jakej? :) Navíc VirtualBox nejede na plné rychlosti mého CPU, jde to nastavit;)
Já to teda s roguelikem řešit nemusim, a s vývojem her pro DOS zkušenosti prakticky nemám, ale přinejmenšim Allegro má časovače, které bych použil, podobně jako třeba v SDL pro jiný platformy. Nevim teda jak je na tom Pascal, tam jsem si hrál akorát s DelphiX, které mělo taky časovač. Nebo jak jinak to řešíš, když to má běhat na různých konfiguracích?
Qemu není virtuální stroj ale kompletní CPU emulátor, tj. instrukce se na něm poctivě emulují pomocí jiných instrukcí. VirtualBox přeci v defaultu nic procesorového neemuluje a i když mu zpomalíš CPU tak to řeší jen nějakým throttlingem. Qemu (stejně jako DOSBox) emuluje nějaký procesor na nějaké rychlosti s nějakou konkrétní sadou.
Tyhle Allegro a další vymoženosti jsou super, ale ve výsledku žerou tolik času, že nějaké pohodlné fungování na 386/16MHz je zcela mimo realitu. I Pascal, který je jednoduchý jako bulharská striptérka, neustále obcházím nějakým inline assemblerem. Časování řeším čekáním na paprsek, defaultní EGA režimy jedou všechny v režimu 60Hz, což mi stačí a je to léty prověřený způsob :-)
Logout napsal(a)
Qemu není virtuální stroj ale kompletní CPU emulátor, tj. instrukce se na něm poctivě emulují pomocí jiných instrukcí. VirtualBox přeci v defaultu nic procesorového neemuluje a i když mu zpomalíš CPU tak to řeší jen nějakým throttlingem. Qemu (stejně jako DOSBox) emuluje nějaký procesor na nějaké rychlosti s nějakou konkrétní sadou.Tyhle Allegro a další vymoženosti jsou super, ale ve výsledku žerou tolik času, že nějaké pohodlné fungování na 386/16MHz je zcela mimo realitu. I Pascal, který je jednoduchý jako bulharská striptérka, neustále obcházím nějakým inline assemblerem. Časování řeším čekáním na paprsek, defaultní EGA režimy jedou všechny v režimu 60Hz, což mi stačí a je to léty prověřený způsob :-)
Aha, ale qemu umí i "obyčenjou" virtualizaci ne?
Tak Pascal je sám o sobě mnohem pomalejší než Céčko.. Ale tohle čekání na paprsek vypadá zajímavě, o tom si budu muset něco nastudovat;)
slayn napsal(a)
Aha, ale qemu umí i "obyčenjou" virtualizaci ne?
Tak Pascal je sám o sobě mnohem pomalejší než Céčko.. Ale tohle čekání na paprsek vypadá zajímavě, o tom si budu muset něco nastudovat;)
Verze kterou mám už pět let překompilovanou určitě virtualizaci neumí. Pokud se nepletu šlo doplnit nějaký kernelový modul aby to běželo virtualizovaně, ale to jsem nikdy nedělal, samotná aplikace je určitě jen emulace.
A k rychlosti - ono Borland C a Borland Pascal pro DOS si neměly stran rychlosti moc co vyčítat, zejména při grafických operacích to šlo přes naprosto stejné BGI drivery, takže tam rozdíl nebyl. A všechny ty backportované novější kompilátory nebudou určitě o mnoho rychlejší. V Pascalu jsem viděl skvělý klon SuperMaria s paralaxním scrollingem, takže to zas tak pomalé nebude. Jenže to bylo v SVGA módu, kdy už grafiku ve 2D umí karta přesouvat bez zátěže CPU. Nic pro mě, já se to snažím dělat tak, aby to alespoň nějak šlo na XT s EGA kartou :-) Ještě teď zvažuju, že bych to předělal do CGA, tam bych to měl i na čem testnout :-)
Logout napsal(a)
slayn napsal(a)
Aha, ale qemu umí i "obyčenjou" virtualizaci ne?
Tak Pascal je sám o sobě mnohem pomalejší než Céčko.. Ale tohle čekání na paprsek vypadá zajímavě, o tom si budu muset něco nastudovat;)Verze kterou mám už pět let překompilovanou určitě virtualizaci neumí. Pokud se nepletu šlo doplnit nějaký kernelový modul aby to běželo virtualizovaně, ale to jsem nikdy nedělal, samotná aplikace je určitě jen emulace.
A k rychlosti - ono Borland C a Borland Pascal pro DOS si neměly stran rychlosti moc co vyčítat, zejména při grafických operacích to šlo přes naprosto stejné BGI drivery, takže tam rozdíl nebyl. A všechny ty backportované novější kompilátory nebudou určitě o mnoho rychlejší. V Pascalu jsem viděl skvělý klon SuperMaria s paralaxním scrollingem, takže to zas tak pomalé nebude. Jenže to bylo v SVGA módu, kdy už grafiku ve 2D umí karta přesouvat bez zátěže CPU. Nic pro mě, já se to snažím dělat tak, aby to alespoň nějak šlo na XT s EGA kartou :-) Ještě teď zvažuju, že bych to předělal do CGA, tam bych to měl i na čem testnout :-)
Nojo, chvilka googlení a vskutku se zdá, že po assembleru byl tenkrát Borland Pascal nejrychlejší:) Každopádně bych se musel naučit ty assemblerácký kouzla a to bych nic nestihl;)
Statistiky uživatelů:
Hosté: 14
Členové: 684
Moderátoři: 0
Administrátoři: 1
Statistiky fóra:
Skupiny: 5
Fóra: 24
Témata: 1415
Příspěvky: 23914
Nejnovější uživatelé:
Pluto, Brbla, VasilijP, Snnsnsnn, Franta, pepapantak, isidor, Wolis, Martin Rulf, bujny, Pavel Pavel, LEON Pilot, Jan “Druid” Schicho, POLÁŠEK TOMÁŠ, StanosAdministrátoři: Sledge: 5644