Avatar

Zvažte možnost registrace, zatím jste zde jako
HOST

sp_LogInOutPřihlásit sesp_Registration Registrovat
No permission to create posts
RSS sp_TopicIcon
Programování - DOS - Pascal, Basic, C, Assembler atd.
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í Smile

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í Smile

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 FTPLaugh

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? Smile Navíc VirtualBox nejede na plné rychlosti mého CPU, jde to nastavitWink

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 nastudovatWink

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 nastudovatWink

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 nastudovatWink

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šíSmile Každopádně bych se musel naučit ty assemblerácký kouzla a to bych nic nestihlWink

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

03/09/2013 - 13:09
Avatar
slayn

Sledge napsal(a)
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.pngImage Enlarger

To je policejní budka? :)

03/09/2013 - 13:13
Avatar

Ano! :))

06/09/2013 - 11:58
Avatar
Prague

Tak jak pokračujete? Já se bez mučení přiznám, že byla chyba na vývojářskou 486 dávat i Dune 2 pro odreagování :-) Díky ní toho zatím hra neumí víc než na videu. Ale v neděli na to vlítnu a to by bylo aby to nebylo!

06/09/2013 - 12:18
Avatar
slayn

Logout napsal(a)
Tak jak pokračujete? Já se bez mučení přiznám, že byla chyba na vývojářskou 486 dávat i Dune 2 pro odreagování :-) Díky ní toho zatím hra neumí víc než na videu. Ale v neděli na to vlítnu a to by bylo aby to nebylo!

Já teda taky moc nepokročil, chodí to, umí to barvy, nějaký ten line of sight, ale to je tak všechno:)

06/09/2013 - 12:20
Avatar

Aktuálně vymýšlím, v čem vlastně hra bude spočívat. Tardis už se hýbe, tak zkusím nakreslit ještě nějakého toho Daleka a pak se uvidí :)

Jinak pro pobavení, Tardis je zapsán takto: 

const
 tardis = '000>000011111018888810171710017171001111100111110011111001111101111111';

kde každé číslo udává barvu "pixelu", a vypsán pomocí vlastní a mocné procedury sprite

sprite(tardis,7,10+i,20);

kde první proměnná je jméno daného stringu, druhá je jeho šířka a poslední dvě jsou souřadnice! Takže na vykreslení Daleka jsem připraven! :))

 

06/09/2013 - 12:25
Avatar

Teď bych tam teda chtěl nějak hodit ještě další objekt (Dalek) a nějak pořešit kolize "spritů". Ale při mém talentu a znalostech je to tak do konce měsíce, jestli vůbec :)

06/09/2013 - 16:45
Avatar
Ftl

Ja zatim stale studuji,ale ze by me to bavilo se rict neda :)  Ale udelal jsem si zatim gamedesign jednoduche textovky... ta horsi faze bude nasledovat :)

06/09/2013 - 17:44
Avatar
Anastaz

Je pěkný jak každej začíná jinou fází :) Osobně už vim jak by to mělo vypadat, znam "příběh". Teď ještě basic nebo pascal. Nejspíš to ale bude basic. Obojí je ovšem nutno se vpodstatě naučit, když to tedy nemá být Hello World.

06/09/2013 - 17:57
Avatar

Jestli se do toho pouštíš od nuly, imho se na Basic vykašli a vrhni se spíš ten Pascal. Obojí je za zenitem, ale Pascal o trochu míň, a imho tě naučí konstrukce užitelný v aktuálních jazycích, což se o Basicu říct nedá. (Je ale pravda, že moje zkušenosti končí u QBasicu a navíc jsou dost v mlze :)

06/09/2013 - 18:14
Avatar
Ftl

Hello World je super pařba a ne že né :)  

 

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

Nejvíce uživatelů online: 67

Právě online: MilasPce
22 Host(é)

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

Nejaktivnejší uživatelé:

LubikCZ: 2061

Sany: 1486

Neny: 1133

MilasPce: 835

Logout: 688

Clous: 638

Statistiky uživatelů:

Hosté: 14

Členové: 405

Moderátoři: 0

Administrátoři: 1

Statistiky fóra:

Skupiny: 5

Fóra: 24

Témata: 1037

Příspěvky: 16510

Nejnovější uživatelé:

OnlySoft, tommel, JIVA, Rocys, zetora, wylda, BobocoCZ, okband, Popy, pov, verticalbytes, Mircea Ion, Jpx72, OlegBoums, Brettnok

Administrátoři: Sledge: 4078