Heute so gecodet...

  • Schon klar, dass die Programme dann nativ laufen. Ich fand es nur witzig.

    Delphi scheint aber nichts für mich zu sein. Ich mag mehr die C-artigen Sprachen. Ob ein Programm nun die Runtime eines OS braucht oder eine virtuelle Runtime und dadurch langsamer ist, ist mir auch egal. Unter dem Strich bleibt noch C# oder Java. Beide sind weit verbreitet, habe eine große Community, es gibt massenhaft aktuelle Bücher und beide scheinen leicht von der Hand zu gehen. Ich komme aus dem Webumfeld mit PHP und suche aber was für den Desktop, da ich Webzeugs nicht mehr sehen kann.

    Zusätzlich interessiere ich mich mittlerweile auch für Mikrocontroller und C.
  • Auf dem C64 will ich nur in Assembler was machen. Mein Einstand hatte ich ja in der Sprite Drehen Combo, das hat viel Spaß gemacht. Also habe ich drei Programmiersprachen zu lernen und meine Elektrokenntnisse aus der Lehre Anfang der 90er muss ich auffrischen und erweitern. Ich denke mal dieses Jahr bin ich gut beschäftigt :D
  • Ich möchte auch unter C64 Assembler lernen, Aber Programmieren würde ich trotzdem unter PC statt an der C64 :) Wenn ich mich nicht täusche gibt es auch 2 gute Programme dafür, Bücher habe ich auch bekommen (Heue angekommen, Das Große Commodore 64 Buch + Das Neue Commodore 64 Intern Buch)
    Jetzt Zeit nehmen und ran an den Büchern und Programmen.
  • Wow, befor ich anfange muß ich erstmal C64 richtig kennen lernen, welches Hardware Bauteil was alles machen kann unsoweiter ...
    Als Kind Anfang bis Mitte 80'er habe ich nur mit Brotkasten und einer Datasette gespielt. Errinern kann ich mich nur an Turbotape und jede menge Audiokasetten.
  • Eine halbe Joystickabfrage für Commodore 16 (rechts/links) mit Ereignisauswertung.


    Quellcode

    1. !to "joy.prg",cbm
    2. *= $1000
    3. !byte $00,$0c,$10,$0a,$00,$9e,$34,$31,$30,$39,$00,$00,$00
    4. ; main
    5. *=$100d
    6. sei
    7. lda #$93
    8. jsr $ffd2
    9. lda #"!"
    10. sta $0fe7
    11. lda #$c0
    12. ldy #$15
    13. sta $a1
    14. lda #$0f
    15. sta $a2
    16. lda #"*"
    17. sta ($a1),y
    18. -- ldx #$fa
    19. stx $FF08
    20. lda $FF08
    21. stx $FF08
    22. cmp #$f7
    23. beq move_right
    24. cmp #$fb
    25. beq move_left
    26. jmp --
    27. rts
    28. move_right:
    29. jsr waste_time
    30. lda #" "
    31. sta ($a1),y
    32. iny
    33. lda ($a1),y
    34. cmp #"!"
    35. bne +
    36. inc $ff19
    37. + lda player_char
    38. sta ($a1),y
    39. cpy #$28
    40. beq +
    41. jmp --
    42. + ldy #$00
    43. sta ($a1),y
    44. jmp --
    45. move_left:
    46. jsr waste_time
    47. lda #" "
    48. sta ($a1),y
    49. dey
    50. lda ($a1),y
    51. cmp #"!"
    52. bne +
    53. inc $ff19
    54. + lda player_char
    55. sta ($a1),y
    56. cpy #$ff
    57. beq +
    58. jmp --
    59. + ldy #$28
    60. jmp --
    61. waste_time:
    62. tya
    63. pha
    64. txa
    65. pha
    66. -- ldx #$00
    67. - inx
    68. cpx #$15
    69. bne -
    70. iny
    71. cpy #$02
    72. bne --
    73. pla
    74. tax
    75. pla
    76. tay
    77. rts
    78. player_char: !scr "*"
    Alles anzeigen
    Dateien
    • joy.prg

      (155 Byte, 0 mal heruntergeladen)
    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
  • Neu

    Ich wollte schon seit längerem mal "Schreibschrift" mit dem C128 ausprobieren (also mit draw to einen Schriftzug schreiben lassen). Hauptproblem bisher: die Daten für den Schriftzug zügig fertigzubekommen. Heute hab ich dazu - einem Shoutboxtipp sei dank - mal Inkscape mit nem Tablet ausprobiert. Ging sehr gut - Schriftzug als Freihandlinie gezeichnet, anschließend Punkte reduziert, Schriftzug geradegezogen und korrigiert. Einziges Manko an dem Punkt: Bezierkurven gehen mit Basic nicht, Inkscape arbeitet nur mit Bezierkurven. Also beim korrigierten Schriftzug wieder Punkt hinzugefügt und dann die Punkte direkt verbinden lassen.

    Als SVG dann abgespeichert, und mit Notepad++ aus den Kurvenwerten eine x,y-Tabelle erstellt und in LibreOffice-Calc weiterverarbeitet. Das SVG verwendet beim Schriftzug relative Angaben (immer zum vorherigen Punkt). Die habe ich - mit einem Faktor multipliziert - in absolute Koordinaten umgewandelt. Anschließend den Faktor varriert bis ich die gewünschte Breite von knapp über 300 Pixeln hatte. Dann daraus ganzzahlige Werte gemacht und wieder zurück in relative Koordinaten umgerechnet. Danach über eine Calc-Formel die Koordinaten in "draw to"-Anweisungen eingebaut und in ein Basicprogramm gepackt.

    Zwischenzeitlich hatte ich noch versucht, die Anzahl der Punkte zu reduzieren (wenn mehrere Punkte auf einer Geraden liegen), aber dafür hatte ich den Kopf heute nicht frei genug.

    Und da die Assemblerjungs auch gerne mal Schleifen "ausrollen", habe ich das hier auch gemacht, Ergebnis >370 Zeilen: forum64.de/index.php?attachment/120942-danke128-prg/
    Wissen ist das einzige Gut, das sich beim Teilen vermehrt. Also seid vorsichtig damit!
  • Neu

    Eine Tabellenkalkulation zu Hilfe nehmen? Bin mal gespannt ob nur ich deswegen immer einen Spruch zu lesen bekomme. :bgdev
    :zzz: CPC 464/6128 464/6128+ GX4000, Atari 2600 600XL 800XL/XE Portfolio, C64/II/G/R/SX VC20 TC64, AX81, ZX Spectrum 48k, Amiga 500/600/2000 A2630 A2088 :zzz:
    Meine 3D-Drucker Teile auf thingiverse.com/oobdoo/designs
    Mit wäre das nicht passiert! :prof:
  • Neu

    Tale-X schrieb:

    [...] Inkscape arbeitet nur mit Bezierkurven. Also beim korrigierten Schriftzug wieder Punkt hinzugefügt und dann die Punkte direkt verbinden lassen.
    Das kann ich mir so nicht vorstellen. Das sollte jede Vektorsoftware auf Geraden segmentieren können.



    Tale-X schrieb:

    Als SVG dann abgespeichert, und mit Notepad++ aus den Kurvenwerten eine x,y-Tabelle erstellt und in LibreOffice-Calc weiterverarbeitet. Das SVG verwendet beim Schriftzug relative Angaben (immer zum vorherigen Punkt). Die habe ich - mit einem Faktor multipliziert - in absolute Koordinaten umgewandelt. Anschließend den Faktor varriert bis ich die gewünschte Breite von knapp über 300 Pixeln hatte. Dann daraus ganzzahlige Werte gemacht und wieder zurück in relative Koordinaten umgerechnet. Danach über eine Calc-Formel die Koordinaten in "draw to"-Anweisungen eingebaut und in ein Basicprogramm gepackt.

    oobdoo schrieb:

    Eine Tabellenkalkulation zu Hilfe nehmen? Bin mal gespannt ob nur ich deswegen immer einen Spruch zu lesen bekomme.
    Lasst sie quatschen, ich hätte für die Umrechnung auch Excel genommen.
    Für sowas ist man viel schneller in Excel/Calc als dass man extra ein Programm schreiben wird.
    Natürlich, wenn man das dann 100x machen muss, kann man sich schon überlegen, ob man dazu ein kleines Umrechnungstool coden will, welches die umgerechneten Koordinaten in ein Textfile ausspucken könnte.




    <EDIT>Yep, easy: Bezier-Objekt selektieren und dann im Menu Extension-->Modify Path-->Flatten Bezier... auswählen und Qualität auswählen.
    Kleiner Wert = mehr Segmente, also genauere Form.


    ___________________________________________________________
    Meine Kreationen: Deviant Art | Toonsup | Flickr | Youtube
    | Twitter
    Avatar: «Psycno Mouse». Copyright 1992 by Saiki

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von syshack ()

  • Neu

    Danke, ja das spart paar Schritte... früher hatte ich auch ein Programm, das svgs auseinandernahm, umrechnete und dann die Punkte reduzierte. Sollte ich mal nachcoden bei Gelegenheit - Sprachwünsche/-vorschläge?
    Wissen ist das einzige Gut, das sich beim Teilen vermehrt. Also seid vorsichtig damit!