No permission to create posts
RSS

Programování - DOS - Pascal, Basic, C, Assembler atd.

02/09/2013 - 16:03
Avatar
Prague

Po prvním víkendu jsem na tom zatím takto. Co vy?

02/09/2013 - 16:07
Avatar
Prague

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!

 

02/09/2013 - 16:24
Avatar
slayn

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

02/09/2013 - 16:31
Avatar

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! ;)

02/09/2013 - 16:34
Avatar
Prague

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é.

 

02/09/2013 - 17:05
Avatar
slayn

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;)

02/09/2013 - 17:14
Avatar
Prague

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.

02/09/2013 - 17:35
Avatar
slayn

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.

02/09/2013 - 18:02
Avatar
Ftl

No já se budu držet čistého textu....a kdo ví jestli vůbec..... :)

02/09/2013 - 18:41
Avatar

Pokud to poběží pod Dosboxem, retro je to pro mě dost. Ale jak to nebude frčet na mojí bad-ass 486ce, bude zle (ale ne moc)! ;)

02/09/2013 - 20:11
Avatar
slayn

Programujete přímu v DOS(Box)u? Já to asi vzdávám a napíšu to normálně v Linuxu a pak to (snad) až nakonec překompiluju pro DOS:( 

02/09/2013 - 20:57
Avatar
Prague

Jasně, TurboPascal v DOSBoxu, přímo to tam píšu, kompiluju i testuju.

02/09/2013 - 21:18
Avatar
slayn

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

02/09/2013 - 23:25
Avatar
Prague

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.

 

03/09/2013 - 04:31
Avatar
slayn

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;)

03/09/2013 - 06:13
Avatar
LubikCZ

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í :)

Každý počítač je hloupý nebo chytrý pouze tak, jako jeho majitel.

03/09/2013 - 06:52
Avatar
slayn

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

03/09/2013 - 07:31
Avatar
Prague

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...

03/09/2013 - 07:32
Avatar
Prague

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.

03/09/2013 - 07:44
Avatar
slayn

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?

03/09/2013 - 07:59
Avatar
Prague

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 :-)

03/09/2013 - 08:21
Avatar
slayn

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;)

03/09/2013 - 08:56
Avatar
Prague

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 :-)

03/09/2013 - 09:38
Avatar
slayn

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;)

03/09/2013 - 12:58
Avatar

Tak abyste viděli, kde se asi tak nachází absolutní dno. Jak to říká onen slavný pes v populárním memu: I Have No Idea What I'm Doing! 

game_000.png

No permission to create posts
Časové pásmo: Europe/Prague

Nejvíce uživatelů online: 351

Právě online: Sledge, slayn, Clous, Srandista, jvempire, Killian, P8j6
19 Host(é)

Právě prohlíží tuto stránku: slayn
1 Host(é)

Nejaktivnejší uživatelé:

LubikCZ: 2075

Sany: 1486

Neny: 1133

MilasPce: 1099

Logout: 821

Powerack: 774

Statistiky uživatelů:

Hosté: 14

Členové: 450

Moderátoři: 0

Administrátoři: 1

Statistiky fóra:

Skupiny: 5

Fóra: 24

Témata: 1120

Příspěvky: 18967

Nejnovější uživatelé:

Richmond, zed, P8j6, Killian, Turek124, vinton, virtual_nomad, laserdance, šmoula, JohnyCZ, PetrT, WizardSWidlema, jezevec_lesni, jvempire, pavelm

Administrátoři: Sledge: 4765

SINTECH-SHOP.CZ