Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Retro Computing: Spaß mit C64 & 8 Bit

Jörg Neumann
November 06, 2019

Retro Computing: Spaß mit C64 & 8 Bit

Jörg Neumann

November 06, 2019
Tweet

More Decks by Jörg Neumann

Other Decks in Technology

Transcript

  1. Jörg Neumann
    @joergneumann
    Christian Weyer
    @christianweyer
    Night Session

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. Die Geburt des Personal Computers

    View Slide

  7. View Slide

  8. Chuck Peddle

    View Slide

  9. Chuck Peddle

    View Slide

  10. View Slide

  11. Die Eroberung des Wohnzimmers

    View Slide

  12. Jack Tramiel

    View Slide

  13. „WE NEED TO BUILD
    COMPUTERS
    FOR THE MASSES,
    NOT THE CLASSES!“

    View Slide

  14. View Slide

  15. View Slide

  16. Historie
    • Vorstellung Januar 1982, Winter CES
    • Verkaufsstart September 1982
    • Ca. 12,5 Mio. verkaufte Geräte - oder doch mehr: 30 Mio.?
    • http://www.pagetable.com/?p=547
    • Commodore produzierte fast alle Bauteile selber oder via Tochterfirmen
    • Niedrige Produktionskosten
    • Damals wahnsinnig günstige 595 Dollar
    • Wurde auch über den Einzelhandel vertrieben
    • Unterschiedliche Farben und Ausführungen
    • Großer Zubehör-Markt

    View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. https://www.youtube.com/watch?v=tCWQqy7RZYU (Sekunde 30 ☺)

    View Slide

  25. Akustikkopler

    View Slide

  26. Vorreiter und Pionier

    View Slide

  27. View Slide

  28. View Slide

  29. Wirklich für alle

    View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. Günstig, nicht billig

    View Slide

  34. Frühjahr / Sommer 1983

    View Slide

  35. Frühjahr / Sommer 1985

    View Slide

  36. Frühjahr / Sommer 1986

    View Slide

  37. Herbst / Winter 1986

    View Slide

  38. „Google das mal schnell...“
    RTFM :-)

    View Slide

  39. View Slide

  40. Cross-Plattform

    View Slide

  41. View Slide

  42. Futurama

    View Slide

  43. Terminator

    View Slide

  44. Betriebssystem?
    Pfft...

    View Slide

  45. View Slide

  46. Das erste IoT-Device!

    View Slide

  47. 64KB RAM – eigentlich
    Speicheraufbau
    Praktisch:
    Hardware+OS+SDKs in einem! ;)

    View Slide

  48. Grafik mit VIC-II
    • Video Interface Chip
    • Text-Modus
    • 40x25 Zeichen
    • Grafik-Modus
    • 320x200 HiRes/Monochrom
    • 160x200 Multicolor
    • Max. 16 Farben
    • 2 Farben pro 8x8 Pixel-Bereich
    • 8 Sprites
    • 24 x 21 Pixel HiRes
    • 12 x 21 Pixel Multicolor

    View Slide

  49. View Slide

  50. Sound mit SID
    • 3 Stimmen
    • 4 Wellenformen
    • 4 Filter
    • Ganze Künstlerkarrieren ranken sich um SID
    (Sound Interface Device)
    • Rob Hubbard
    • Chris Huelsbeck

    View Slide

  51. Programmierung
    • BASIC v2
    • Keine IDE!
    • Kein Syntax-Highlighting!
    • Kein IntelliSense!
    • Einfach machen!

    View Slide

  52. BASIC
    Demo

    View Slide

  53. Programmierung - für die „Harten“
    • Assembler
    • 56 Befehle / Mnemonics
    • Kein APIs, keine SDKs
    • Hexadezimalsystem

    View Slide

  54. Hardware-Architektur
    http://www.retro-programming.de/programming/assembler/asm-grundlagen/kleine_hardwarekunde/

    View Slide

  55. Der Bildschirm-
    speicher

    View Slide

  56. Makro Assembler

    View Slide

  57. View Slide

  58. ASSEMBLER
    Demo

    View Slide

  59. Aber es geht NOCH mehr…

    View Slide

  60. Ein kleiner Ausflug in die Welt der Sprites
    Adresse Beschreibung
    $D000 Sprite 0: X-Position
    $D001 Sprite 0: Y-Position
    $D002-$D00F Sprite 1-7: X-&Y-Position
    $D010 Das High-Bit der X-Position
    $D015 Sprite sichtbar? (je ein Bit pro Sprite)
    $D017 Sprite in doppelter Höhe darstellen?
    $D01B Sprite vor oder hinter der Hintergrundgrafik
    $D01C Sprite in Hi-Res oder Multicolor-Modus rendern
    $D01D Sprite in doppelter Breite darstellen?
    $D01E Kollision zwischen Sprites
    $D01F Kollision zwischen Sprite und Hintergrund
    $D025 1. Sprite-Farbe im Multicolor-Modus (für alle Sprites gleich)
    $D026 2. Sprite-Farbe im Multicolor-Modus (für alle Sprites gleich)
    $D027 Sprite-0: Farbe - Hauptfarbe des Sprites
    $D028-$D02E Sprite-1-7: Farbe - Hauptfarbe des Sprites
    $D000 Sprite 0: X-Position
    $D010 Das High-Bit der X-Position
    300 Pixel
    0-255 256-300
    Sprite
    7
    Sprite
    6
    Sprite
    5
    Sprite
    4
    Sprite
    3
    Sprite
    2
    Sprite
    1
    Sprite
    0
    0 0 0 0 0 0 0 0
    Sprite
    0
    0
    Sprite
    0
    255
    Sprite
    0
    45
    Sprite
    0
    1

    View Slide

  61. … und Action!
    Games, Games, Games

    View Slide

  62. The Last Ninja

    View Slide

  63. Maniac Mansion

    View Slide

  64. River Raid
    Indizierung in Deutschland
    In der Begründung des Indizierungsbeschlusses der
    BPjS vom 19. Dezember 1984 hieß es unter
    anderem:
    ● „Jugendliche sollen sich in die Rolle eines
    kompromisslosen Kämpfers und Vernichters
    hineindenken […].
    ● Hier findet im Kindesalter eine paramilitärische
    Ausbildung statt […].
    ● Bei älteren Jugendlichen führt das Bespielen
    […] zu physischer Verkrampfung, Ärger,
    Aggressivität, Fahrigkeit im Denken […] und
    Kopfschmerzen.

    View Slide

  65. Summer Games

    View Slide

  66. C64 heute

    View Slide

  67. C64 heute

    View Slide

  68. Lebendige Community

    View Slide

  69. C64 auf dem iPad
    https://github.com/Spider-Lab/C64

    View Slide

  70. We love C64
    Jörg Neumann
    @joergneumann
    Christian Weyer
    @christianweyer

    View Slide

  71. Ressourcen
    Commodore Computer Online Museum
    http://cbmmuseum.kuto.de/
    C64 Hardware Manuals
    http://www.retro-commodore.eu/c64-hardware/
    VICE - the Versatile Commodore Emulator
    http://vice-emu.sourceforge.net/
    VirtualC64 (macOS only)
    http://www.dirkwhoffmann.de/virtualc64/
    Emu64
    http://www.emu64.de/
    C64 music for the masses - High Voltage SID Collection
    http://www.hvsc.c64.org/

    View Slide

  72. Ressourcen
    Cartridges
    http://www.lemon64.com/?mainurl=http%3A//www.lemon64.com/apps/list.php%3FGenre%3Dcarts
    RAM UNDER ROM - A BRIEF LOOK INTO C64 MEMORY (64K IS ENOUGH FOR ANYONE)
    http://dustlayer.com/c64-architecture/2013/4/13/ram-under-rom
    Assembler programming (Machine Code)
    http://www.c64.ch/programming/
    hello world in commodore 64 assembly (mit TASM)
    http://codebrane.com/blog/2013/10/25/hello-world-in-commodore-64-assembly/
    Commodore 64 Programming #1: A quick start guide to C-64 assembly programming on Windows (mehrteilige Serie)
    https://digitalerr0r.wordpress.com/2011/03/19/commodore-64-programming-a-quick-start-guide-to-c-64-assembly-programming-on-
    windows/
    Coding for the Commodore 64: What changed in the last 25 years (mit VIELEN LINKS)
    https://retro.moe/2015/02/01/coding-for-the-commodore-64-what-happened-in-the-last-25-years/

    View Slide

  73. Ressourcen
    64bites.com
    http://64bites.com/episodes/all/
    Retro-Programming: C64 Assemblerprogrammierung
    http://www.retro-programming.de/
    Party Quest (Jörg Neumann)
    http://www.gamebase64.com/search.php?a=5&f=3&id=1757&d=30
    8bitphotos
    http://www.8bitphotos.com/

    View Slide

  74. Programmierung
    Basics 10 PRINT “Hello
    World”
    20 GOTO 10
    PEEK & POKE (VIC &
    SID)
    POKE 53280, 8
    POKE 53281, 7
    10 POKE 54296,4:
    POKE 54296,0: GOTO
    10
    Run
    LOAD “$”,8,1
    LIST 10-5000
    RUN
    1 2 3

    View Slide