Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Amiga Cracktro Programming

262 views

Published on

I held a talk about Amiga Cracktro Programming at the DevHouseFriday 2016-05 at Userlike offices. This is the cracktro i made for this talk.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Amiga Cracktro Programming

  1. 1. Amiga Cracktro Programming DavidVoswinkel david@optixx.org
  2. 2. About me • Developer at www.userlike.com • Hobby projects at www.optixx.org • Gaming consoles • Micro controller • Retro computing
  3. 3. Motivation • Learned programming on the Amiga 500 • Use modern development tools • Interesting platform • Total control • Batteries included
  4. 4. Whats is a Cracktro? • Spread with pirated games released by cracker groups • via mail letters , later via modem • Mostly logo, text and music • Demonstrate technical skills • Competition & fame
  5. 5. Cracktros come in many form • Small, packed, absolute or relocatable • Standalone, injected or in bootloader • Compilations / Trainers
  6. 6. World of Wonders
  7. 7. Quartex
  8. 8. The Company &Vision Factory
  9. 9. Amiga History • 1985: Amiga 1000 • 1987: Amiga 500 & Amiga 2000 • 1990: Amiga 3000 • 1992: Amiga 1200 & Amiga 4000 • 1994: Bankruptcy of Commode Inc
  10. 10. Amiga 500 • 16/32bit Motorola 68000 CPU • 32bit registers • 16bit databus • 24bit external address bus • 7 MHz • 512KB RAM Chip Ram • OCS • Price 800 DM in 1988
  11. 11. Amiga 1200 • Motorola 68EC020 CPU • 32bit register • 32bit databus • 24bit external address bus • 14 MHz • 2MB RAM • AGA • Price 900 DM in 1992
  12. 12. Custom Chips • Original Chip Set (OSC) • Enhanced Chip Set (ESC) • Advanced Graphics Architecture (AGA) • Advanced Amiga Architecture (AAA)
  13. 13. Original Chip Set (OCS)
  14. 14. Agnus • Controls Chip RAM • DMA • Access only 512KB of Chip RAM • Hosts the Blitter and Copper
  15. 15. Blitter • BLock Image Transfer - Blit • 4 Channels, boolean combination • Copy, clear and fill • Draw lines
  16. 16. Copper • Co-processor • Commands: MOVE,WAIT and SKIP • Programs are copperlists • Set video hardware registers • Change color registers mid-frame • Create rasterbars
  17. 17. Denise • Display encoder • Lowres 320x256 @50Hz PAL 32 Colors of 4096 palette • Hires 640x256 @50Hz PAL 16 Colors of 4096 palette • Interlaced • Extra-HalfBrite (EHB) • 64 Colors • Hold-and-Modify (HAM) • 4096 Colors • Dual playfields • 8 Sprites 16 pixel width
  18. 18. Paula • Audio and peripheral • IO • Floppy controller • Serial port • Mouse / Joystick inputs
  19. 19. Chunky vs. Planar • Planar • Represents pixels with layered bitplanes • Info spread on different planes / RAM locations • Chunky • Packed pixel • Pixel are grouped together in RAM
  20. 20. Emulate vs Hardware • Emulator • WinUAE, FS-UAE • Lots of emulated hardware • Hardware • Real hardware with Gotek floppy emu • MIST FPGA
  21. 21. Coding 1988 • Seka assembler (later ASMone) • IDE, compiler and debugger in one • Project management • Floppy disks • Paper & pen • Pocket calculator • Documentation • Books & Printouts • Word of mouth (phone calls)
  22. 22. Load & compile
  23. 23. Run
  24. 24. Debug
  25. 25. Coding 2016 • Crosscompiler: vbcc, vasm68k and linker • Texteditor + Git • Emulators • FS-UAE • WIN-UAE • Documentation • Blogs & Forums
  26. 26. Hack…
  27. 27. Compile
  28. 28. Emulate
  29. 29. Debugger
  30. 30. Code Flow • Save system state • Turn system off • SetupVBI • Mainloop • Jump to effects routine • Jump to music play routine inVBI • Restore system state
  31. 31. Effect Explained • Logo Wobbel • Create a copperlist that manipulates the image • Static vs. dynamics • Update copperliste • Use sine LUT • Use hardware scroll register for < 16px • Bitplane scroll register for >16px
  32. 32. Getting Started • Photon’s ASMSKOOL videos & resources • http://coppershade.org/ • Amiga Cross Dev • https://github.com/kusma/amiga-dev
  33. 33. My Cracktro • Logo with wobble effect • Horizontal rasterbars • 2-pixel sinescroller • Sinescroller mirror with water effect • Background starfield
  34. 34. Now Live Demo!

×