OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 27.04.2024, 11:49

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 52 ]  Přejít na stránku Předchozí  1, 2, 3, 4
Autor Zpráva
 Předmět příspěvku: Re: Programování v C#
PříspěvekNapsal: 27.09.2023, 07:01 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2788
Has thanked: 230 times
Been thanked: 608 times
Jak psáno v Pomstě nerdů, všechny jazyky inklinují k LISPu. Takže nejsme mimo téma :P

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C#
PříspěvekNapsal: 27.09.2023, 11:48 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
faraon píše:
všechny jazyky inklinují k LISPu.
Okrem jazyka PROLOG :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C#
PříspěvekNapsal: 27.09.2023, 18:43 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2788
Has thanked: 230 times
Been thanked: 608 times
Pravda, všechny pozemské programovací jazyky, takže Prolog, APL a několik dalších tuhle tendenci opravdu nepotřebují :lol:

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C#
PříspěvekNapsal: 28.09.2023, 10:43 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2290
Bydliště: Brno
Has thanked: 848 times
Been thanked: 318 times
Opět jsem měl čas a něco přidal.

Tak první 4 řádky patternu ze skladby v MODu. A kdyby jsem tomu uměl přidat podmínku pro číslo dělitelné 4 ("odentrování" jednotlivých řádků z patternu), tak by jsem se mohl jednoho cyklusu FOR i zbavit, ale takhle to taky funguje. Co 4 bajty, to 1 hudební kanál, tedy celkem 4 hudební kanály na 1 řádek patternu.

Výstup:
Kód:
 dc.l $01C52C08, $00000F06, $017DBED0, $025C1E01; 00
 dc.l $00000000, $00000000, $00000000, $00000000; 01
 dc.l $00000A01, $012E2C10, $00000000, $00000000; 02
 dc.l $00000A01, $00000000, $00000000, $00000000; 03

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C#
PříspěvekNapsal: 28.09.2023, 17:53 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2290
Bydliště: Brno
Has thanked: 848 times
Been thanked: 318 times
Tak on se mi C# snažil říci upozorněním, že mám použít jednodušší zápis USING bez složených závorek. Tak již mám cyklusy FOR pod USING jak jsem původně zamýšlel:

Kód:
class Program
{
  static void Main()
  {
    string retezec;
    uint index;
    uint index2;
    uint index3;
    uint indexSoubor = 1084;
    uint radekPattern = 0;
    byte[] y3;

    using BinaryReader r = new(File.Open("Aladdin_Menu.mod", FileMode.Open));
    for (index = 0; index < 4; index++)
    {
      Console.Write(" dc.l");

      for (index2 = 0; index2 < 4; index2++)
      {
        r.BaseStream.Seek(indexSoubor, SeekOrigin.Begin);
        y3 = r.ReadBytes(4);

        if (index2 == 0)
          Console.Write(" $");
        else Console.Write(", $");

        for (index3 = 0; index3 < 4; index3++)
        {
          retezec = string.Format("{0:X2}", y3[index3]);
          Console.Write(retezec);
        }
        indexSoubor += 4;
      }
      Console.Write("; " + radekPattern.ToString("D2") + "\n");
      radekPattern += 1;
    }
  }
}

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C#
PříspěvekNapsal: 28.09.2023, 21:03 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2290
Bydliště: Brno
Has thanked: 848 times
Been thanked: 318 times
Tak již jsem si ty data přesměroval do souboru, jen se u zápisu musí všude použít příkaz ".ToCharArray()", aby se mi do souboru nezapisovala navíc i délka řetězce. Třeba by to šlo udělat i elegantněji, ale standardně jsem rád, že to funguje alespoň takhle.

1 pattern skladby ve formátu MOD pak hexadecimálním zápisu vypadá následovně:

Kód:
 dc.l $01C52C08, $00000F06, $017DBED0, $025C1E01; 00
 dc.l $00000000, $00000000, $00000000, $00000000; 01
 dc.l $00000A01, $012E2C10, $00000000, $00000000; 02
 dc.l $00000A01, $00000000, $00000000, $00000000; 03
 dc.l $00CA2C12, $00000A02, $00000000, $00000000; 04
 dc.l $00000000, $00000A02, $00000000, $00000000; 05
 dc.l $00000000, $00B42C10, $00000000, $00000000; 06
 dc.l $00000000, $00000000, $00000000, $00000000; 07
 dc.l $00000000, $00000000, $00000000, $00000000; 08
 dc.l $00000000, $00000000, $00000000, $00000000; 09
 dc.l $00000000, $00000000, $00000000, $00000000; 10
 dc.l $00000000, $00000000, $00000000, $00000000; 11
 dc.l $00000000, $00000000, $0153B000, $00000000; 12
 dc.l $00000000, $00000000, $00000000, $00000000; 13
 dc.l $00000000, $00000000, $012EB305, $00000000; 14
 dc.l $00000000, $00000000, $00000300, $00000000; 15
 dc.l $00000000, $01C52C08, $025C1C10, $025C1000; 16
 dc.l $00000000, $00000000, $00000000, $00000000; 17
 dc.l $00000000, $012E2C09, $00000000, $00000000; 18
 dc.l $00000000, $00000000, $00000000, $00000000; 19
 dc.l $00000000, $00CA2C0A, $00000000, $00000000; 20
 dc.l $00000000, $00000000, $00000000, $00000000; 21
 dc.l $00FE3000, $00B42C09, $00000000, $00000000; 22
 dc.l $00000000, $00000000, $00000000, $00000000; 23
 dc.l $00973000, $00000000, $00000000, $00000000; 24
 dc.l $00000000, $00000000, $00000000, $00000000; 25
 dc.l $011D3000, $00000000, $00000000, $00000000; 26
 dc.l $00000000, $00000000, $00000000, $00000000; 27
 dc.l $00AA3000, $00000000, $00000000, $00000000; 28
 dc.l $00000000, $00000000, $00000000, $00000000; 29
 dc.l $012E3000, $00000000, $00000000, $00000000; 30
 dc.l $00000000, $00000000, $00000000, $00000000; 31
 dc.l $00BE3000, $00000000, $025C1ED0, $025C1000; 32
 dc.l $00000000, $00000000, $00000000, $00000000; 33
 dc.l $00000000, $00000000, $00000000, $00000000; 34
 dc.l $00000000, $00000000, $00000000, $00000000; 35
 dc.l $00000A01, $00000000, $00000000, $00000000; 36
 dc.l $00000A01, $00000000, $00000000, $00000000; 37
 dc.l $00000A01, $00000000, $00000000, $00000000; 38
 dc.l $00000A01, $00000000, $00000000, $00000000; 39
 dc.l $00000000, $00000000, $00000000, $00000000; 40
 dc.l $00000000, $00000000, $00000000, $00000000; 41
 dc.l $00000000, $00000000, $00000000, $00000000; 42
 dc.l $00000000, $00000000, $00000000, $00000000; 43
 dc.l $00000000, $00000000, $0153B000, $00000000; 44
 dc.l $00000000, $00000000, $00000000, $00000000; 45
 dc.l $00000000, $00000000, $012EB300, $00000000; 46
 dc.l $00000000, $00000000, $00000300, $00000000; 47
 dc.l $00000000, $01C52C08, $017DBA01, $025C1000; 48
 dc.l $00000000, $00000000, $00000A01, $00000000; 49
 dc.l $012E2C0A, $00000A01, $00000A01, $00000000; 50
 dc.l $00000000, $00000A01, $00000A01, $00000000; 51
 dc.l $00000000, $00CA2C10, $00000A01, $00000000; 52
 dc.l $00000000, $00000000, $00000A01, $00000000; 53
 dc.l $00B42C12, $00000A01, $00000A01, $00000000; 54
 dc.l $00000000, $00000A01, $00000000, $00000000; 55
 dc.l $00000A01, $00FE3000, $00000000, $00000000; 56
 dc.l $00000A01, $00000000, $00000000, $00000000; 57
 dc.l $00000A01, $00000000, $00000000, $00000000; 58
 dc.l $00000000, $00000000, $00000000, $00000000; 59
 dc.l $00000000, $011D3000, $00000000, $00000000; 60
 dc.l $00000000, $00000000, $00000000, $00000000; 61
 dc.l $00000000, $012E3000, $00000000, $00000000; 62
 dc.l $00000000, $00000000, $00000000, $00000000; 63

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C#
PříspěvekNapsal: 29.09.2023, 09:21 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2290
Bydliště: Brno
Has thanked: 848 times
Been thanked: 318 times
V assembleru na Amize to vypadá lépe:
:)


Přílohy:
MOD.png
MOD.png [ 160.91 KiB | Zobrazeno 3210 krát ]

_________________
Amiga - PMD 85
Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 52 ]  Přejít na stránku Předchozí  1, 2, 3, 4

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 21 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz