English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General > Coders. Tutorials

 
 
Thread Tools
Old 21 November 2017, 22:05   #101
DrCinicus
Registered User
 
Join Date: Oct 2008
Location: Assemini/Italy
Age: 51
Posts: 23
Hi OmegaMax,
there is a small error in your sources: you move the base of Gfx in a6 after opening it, then you call CloseLibrary (-414) without moving ExecBase in a6; so you are calling Gfx FreeSprite.

Last edited by DH; 21 November 2017 at 22:45. Reason: Deleted direct signature
DrCinicus is offline  
Old 22 November 2017, 00:10   #102
OmegaMax
Knight Of The Kingdom
 
OmegaMax's Avatar
 
Join Date: Feb 2016
Location: It's a bald world!
Posts: 179
Thanks DrCinicus,I didn't notice it will fix sources tonight/tomorrow.

Last edited by OmegaMax; 22 November 2017 at 00:17.
OmegaMax is offline  
Old 22 November 2017, 00:33   #103
OmegaMax
Knight Of The Kingdom
 
OmegaMax's Avatar
 
Join Date: Feb 2016
Location: It's a bald world!
Posts: 179
Thank you idrougge,I'm new to programming amiga hardware,and thought it would be a good idea to share what I learnt with others.

Last edited by OmegaMax; 22 November 2017 at 19:19.
OmegaMax is offline  
Old 22 November 2017, 18:09   #104
OmegaMax
Knight Of The Kingdom
 
OmegaMax's Avatar
 
Join Date: Feb 2016
Location: It's a bald world!
Posts: 179
Building off BitPlane and sprite examples
Code:
;===========================================================================
; Display 2 BitPlanes Tile and Eight Sprites with Simple Vertical Movement 
;===========================================================================

  section Tutorial,code_c
  
  move.l 4,a6                       ;Get base of exec lib
  lea gfxlib(pc),a1                 ;Address of gfxlib string to a1
  jsr OpenLib(a6)                   ;Call OpenLibrary()
  move.l d0,gfxbase                 ;Save base of graphics library
 ;-------------------------------------------------------------------------
SetupBitPlanePointers:             
  move.l #BitPlane1,d0 
  move.w d0,BitPlane0PtrL
  swap d0                   
  move.w d0,BitPlane0PtrH  
  move.l #BitPlane2,d0 
  move.w d0,BitPlane1PtrL
  swap d0                   
  move.w d0,BitPlane1PtrH 
;-------------------------------------------------------------------------  
SetupSpritePointers:  
  move.l #BoxSprite0,d0
  move.w d0,Sprite0L
  swap d0
  move.w d0,Sprite0H
  move.l #BoxSprite1,d0
  move.w d0,Sprite1L
  swap d0
  move.w d0,Sprite1H
  move.l #BoxSprite2,d0
  move.w d0,Sprite2L
  swap d0
  move.w d0,Sprite2H
  move.l #BoxSprite3,d0
  move.w d0,Sprite3L
  swap d0
  move.w d0,Sprite3H 
  move.l #BoxSprite4,d0
  move.w d0,Sprite4L
  swap d0
  move.w d0,Sprite4H
  move.l #BoxSprite5,d0
  move.w d0,Sprite5L
  swap d0
  move.w d0,Sprite5H
  move.l #BoxSprite6,d0
  move.w d0,Sprite6L
  swap d0
  move.w d0,Sprite6H
  move.l #BoxSprite7,d0
  move.w d0,Sprite7L
  swap d0
  move.w d0,Sprite7H
;------------------------------------------------------------------------- 
Draw2BitPlaneTilesToScreen:
  move.l #BitPlane1,a0
  move.l #BitPlane2,a1
  move.l #Tile1BitPlane1,a2
  move.l #Tile1BitPlane2,a3
  move.l #15,d0                      ;Tile Data Lenght
  move.l #19,d1                      ;Tiles Drawn Count   
  move.l #12,d2                      ;Rows Counter
DrawLoop:
  move.w (a2)+,(a0)
  move.w (a3)+,(a1)
  add.l #40,a0                       ;Screenwidth/8   '320/8' 
  add.l #40,a1   
  dbra d0,DrawLoop  
  sub.l #638,a0
  sub.l #638,a1                      ;
  move.l #Tile1BitPlane1,a2          ;Reset TileBitPlane1 Address Pointer
  move.l #Tile1BitPlane2,a3          ;Reset TileBitPlane2 Address Pointer
  move.l #15,d0                      ;Tile Lenght "reset tile length counter"
  dbra d1,DrawLoop 
  add.l #600,a0
  add.l #600,a1
  move.l #19,d1                      ;Tiles Drawn Count 
  dbra d2,DrawLoop 
  lea SpriteMovementDir,a2
 ;-------------------------------------------------------------------------
 ;Setup Sprite Movement Directions
 ;------------------------------------------------------------------------- 
  move.b #1,0(a2)
  move.b #2,1(a2)
  move.b #1,2(a2) 
  move.b #2,3(a2)  
  move.b #1,4(a2)  
  move.b #2,5(a2)  
  move.b #1,6(a2) 
  move.b #2,7(a2)       
  move.l #CopperList,$dff080 
mouse: 
  jsr WaitVertical
  jsr SpriteLogic
TestMouse:  
  btst #6,$bfe001                    ;Left mouse clicked?
  bne mouse                          ;No,continue loop until mouse pressed
  move.l gfxbase(pc),a1              ;Base of graphics.library to a1
  move.l 38(a1),$dff080              ;Restore old copperlist
  jsr -414(a6)                       ;Call CloseLibrary()
  moveq #0,d0   
  rts  
;-------------------------------------------------------------------------
WaitVertical:  
VWaitloop1:  
  cmp.b #255,$dff006
  bne VWaitloop1
VWaitloop2:  
  cmp.b  #255,$dff006 
  beq VWaitloop2
  rts
;-------------------------------------------------------------------------
SpriteLogic:
  lea SpritePointerTable,a0
  lea SpriteMovementDir,a2
  move.l #7,d2                         ;Number of active sprites
SpriteLogicLoop:
  move.l (a0)+,a1 
  bsr TestSpriteDirection
  add.l #1,a2                          ;Add 1 for next sprite direction 
  dbra d2,SpriteLogicLoop             
  rts
;-------------------------------------------------------------------------
TestSpriteDirection:
  cmp.b #1,(a2)
  beq MoveDown
  cmp.b #2,(a2)
  beq MoveUp
  rts
MoveUp:
  cmp.b #44,0(a1)                       
  bne MoveUpContinue
  move.b #1,(a2)
  rts  
MoveUpContinue: 
  sub.b #1,0(a1)                         ;Subtract 1 Sprite Y Position Start
  sub.b #1,2(a1)                         ;Subtract 1 Sprite Y Position End
  rts
MoveDown:
  cmp.b #252,2(a1)
  bne MoveDownContinue
  move.b #2,(a2)                        
  rts
MoveDownContinue:   
  add.b #1,0(a1)                         ;Add 1 Sprite Y Position Start    
  add.b #1,2(a1)                         ;Add 1 Sprite Y Position End
  rts
;-------------------------------------------------------------------------
SpritePointerTable:
 dc.l BoxSprite0
 dc.l BoxSprite1
 dc.l BoxSprite2
 dc.l BoxSprite3 
 dc.l BoxSprite4
 dc.l BoxSprite5
 dc.l BoxSprite6
 dc.l BoxSprite7
;=========================================================================== 
CopperList:    
  dc.w $008e,$2c81,$0090,$3fc1    ; Setting up display,
  dc.w $0092,$0038,$0094,$00d0    ; modulo and so on 
  dc.w $0102,$0000,$0104,$0020    ;Sprite Priority"On" infront of Playfield
  dc.w $0106,$0000,$0108,$0000   
  dc.w $010a,$0000
;------------------------------------------------------------------------- 
;SpritePointers 
;-------------------------------------------------------------------------
  dc.w SpritePointer0H           ;$0120
Sprite0H:
  dc.w $0
  dc.w SpritePointer0L           ;$0122
Sprite0L:
  dc.w $0
;-------------------------------------------------------------------------  
  dc.w SpritePointer1H           ;$0124
Sprite1H:
  dc.w $0
  dc.w SpritePointer1L           ;$0126
Sprite1L:
  dc.w $0
;-------------------------------------------------------------------------
  dc.w SpritePointer2H           ;$0128
Sprite2H:
  dc.w $0
  dc.w SpritePointer2L           ;$012a
Sprite2L:
  dc.w $0
;-------------------------------------------------------------------------
  dc.w SpritePointer3H           ;$012c
Sprite3H:
  dc.w $0
  dc.w SpritePointer3L           ;$012e
Sprite3L:
  dc.w $0
;-------------------------------------------------------------------------
  dc.w SpritePointer4H           ;$0130
Sprite4H:
  dc.w $0
  dc.w SpritePointer4L           ;$0132
Sprite4L:
  dc.w $0
;-------------------------------------------------------------------------
  dc.w SpritePointer5H           ;$0134
Sprite5H:
  dc.w $0
  dc.w SpritePointer5L           ;$0136
Sprite5L:
  dc.w $0
;-------------------------------------------------------------------------
  dc.w SpritePointer6H           ;$0138
Sprite6H:
  dc.w $0
  dc.w SpritePointer6L           ;$013a
Sprite6L:
  dc.w $0
;-------------------------------------------------------------------------
  dc.w SpritePointer7H           ;$013c
Sprite7H:
  dc.w $0
  dc.w SpritePointer7L           ;$013e
Sprite7L:
  dc.w $0
;------------------------------------------------------------------------- 
; Setting up the colors
;-------------------------------------------------------------------------   
  dc.w BitPlaneColor0,$0000,BitPlaneColor1,$0a00
  dc.w BitPlaneColor2,$0700,BitPlaneColor3,$0f48
  dc.w Sprite0_1Color1,$00a0                     ;Sprites 0 & 1 color 1
  dc.w Sprite0_1Color2,$0080                     ;Sprites 0 & 1 color 2 
  dc.w Sprite0_1Color3,$0050                     ;Sprites 0 & 1 color 3
  dc.w Sprite2_3Color1,$0a0a                     ;Sprites 2 & 3 color 1
  dc.w Sprite2_3Color2,$0808                     ;Sprites 2 & 3 color 2 
  dc.w Sprite2_3Color3,$0505                     ;Sprites 2 & 3 color 3
  dc.w Sprite4_5Color1,$000f                     ;Sprites 4 & 5 color 1
  dc.w Sprite4_5Color2,$000a                     ;Sprites 4 & 5 color 2 
  dc.w Sprite4_5Color3,$0008                     ;Sprites 4 & 5 color 3
  dc.w Sprite6_7Color1,$0aa0                     ;Sprites 6 & 7 color 1
  dc.w Sprite6_7Color2,$0880                     ;Sprites 6 & 7 color 2 
  dc.w Sprite6_7Color3,$0550                     ;Sprites 6 & 7 color 3
;-------------------------------------------------------------------------     
  dc.w $0100,$2200                           ;2 Bitplanes,Color Burst
;-------------------------------------------------------------------------  
BitPlanePointers: 
;------------------------------------------------------------------------- 
  dc.w BitPlane0PointerH
BitPlane0PtrH:  
  dc.w $0000
  dc.w BitPlane0PointerL
BitPlane0PtrL:  
  dc.w $0000  
  dc.w BitPlane1PointerH
BitPlane1PtrH:  
  dc.w $0000
  dc.w BitPlane1PointerL
BitPlane1PtrL:  
  dc.w $0000                          
  dc.w $ffff,$fffe
;-----------------------------------------------
Tile1BitPlane1:
;BitPlane1  
  dc.w %0000000011111111
  dc.w %0000000011111111
  dc.w %0000000011111111
  dc.w %0000000011111111
  dc.w %0000000011111111 
  dc.w %0000000011111111 
  dc.w %0000000011111111
  dc.w %0000000011111111
  dc.w %1111111111111111
  dc.w %1111111111111111
  dc.w %1111111111111111
  dc.w %1111111111111111
  dc.w %1111111111111111 
  dc.w %1111111111111111 
  dc.w %1111111111111111
  dc.w %1111111111111111
Tile1BitPlane2:
;BitPlane2 
  dc.w %1111111100000000
  dc.w %1111111100000000
  dc.w %1111111100000000
  dc.w %1111111100000000
  dc.w %1111111100000000 
  dc.w %1111111100000000 
  dc.w %1111111100000000
  dc.w %1111111100000000
  dc.w %0000000011111111
  dc.w %0000000011111111
  dc.w %0000000011111111
  dc.w %0000000011111111
  dc.w %0000000011111111 
  dc.w %0000000011111111 
  dc.w %0000000011111111
  dc.w %0000000011111111
;-----------------------------------------------
BoxSprite0:
  dc.b 160                                   ;Sprite Y Position Start
  dc.b 100                                   ;Sprite X Position Start 
  dc.b 177                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.
;-----------------------------------------------
BoxSprite1:
  dc.b 160                                   ;Sprite Y Position Start
  dc.b 110                                   ;Sprite X Position Start 
  dc.b 177                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.

;-----------------------------------------------
BoxSprite2:
  dc.b 120                                   ;Sprite Y Position Start
  dc.b 120                                   ;Sprite X Position Start 
  dc.b 137                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.
;-----------------------------------------------
BoxSprite3:
  dc.b 150                                   ;Sprite Y Position Start
  dc.b 130                                   ;Sprite X Position Start 
  dc.b 167                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.
;-----------------------------------------------
BoxSprite4:
  dc.b 160                                   ;Sprite Y Position Start
  dc.b 140                                   ;Sprite X Position Start 
  dc.b 177                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.  
;-----------------------------------------------
BoxSprite5:
  dc.b 160                                   ;Sprite Y Position Start
  dc.b 150                                   ;Sprite X Position Start 
  dc.b 177                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.
;-----------------------------------------------
BoxSprite6:
  dc.b 180                                   ;Sprite Y Position Start
  dc.b 160                                   ;Sprite X Position Start 
  dc.b 197                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.
;-----------------------------------------------
BoxSprite7:
  dc.b 160                                   ;Sprite Y Position Start
  dc.b 170                                   ;Sprite X Position Start 
  dc.b 177                                   ;Sprite Y Position End
  dc.b 0
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000 
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100111111110011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1100000000000011,%0011111111111100
  dc.w %1111111111111111,%0000000000000000
  dc.w %1111111111111111,%0000000000000000
  dc.w 0,0                                 ;End of the sprite.

;-----------------------------------------------  
;Equates
;----------------------------------------------- 
BitPlaneColor0 equ $0180
BitPlaneColor1 equ $0182
BitPlaneColor2 equ $0184
BitPlaneColor3 equ $0186
SpritePointer0H equ $0120
SpritePointer0L equ $0122
SpritePointer1H equ $0124
SpritePointer1L equ $0126
SpritePointer2H equ $0128
SpritePointer2L equ $012a
SpritePointer3H equ $012c
SpritePointer3L equ $012e
SpritePointer4H equ $0130
SpritePointer4L equ $0132
SpritePointer5H equ $0134
SpritePointer5L equ $0136
SpritePointer6H equ $0138
SpritePointer6L equ $013a
SpritePointer7H equ $013c
SpritePointer7L equ $013e
Sprite0_1Color1 equ $01a2
Sprite0_1Color2 equ $01a4
Sprite0_1Color3 equ $01a6
Sprite2_3Color1 equ $01aa
Sprite2_3Color2 equ $01ac
Sprite2_3Color3 equ $01ae
Sprite4_5Color1 equ $01b2
Sprite4_5Color2 equ $01b4
Sprite4_5Color3 equ $01b6
Sprite6_7Color1 equ $01ba
Sprite6_7Color2 equ $01bc
Sprite6_7Color3 equ $01be
BitPlane0PointerH equ $00e0
BitPlane0PointerL equ $00e2
BitPlane1PointerH equ $00e4
BitPlane1PointerL equ $00e6
NullSprite EQU $0000
;---------------------------------------------------------------
OpenLib equ -408
gfxlib:   dc.b  "graphics.library",0,0
gfxbase:  dc.l  0  
;---------------------------------------------------------------
  section blah,bss_c
;---------------------------------------------------------------
BitPlane1: ds.b 320*256/8*1
BitPlane2: ds.b 320*256/8*1
Offset ds.w 8
SpriteMovementDir ds.b 8

Last edited by OmegaMax; 24 November 2017 at 01:26.
OmegaMax is offline  
Old 07 September 2019, 20:04   #105
AMIGASYSTEM
Registered User
 
AMIGASYSTEM's Avatar
 
Join Date: Aug 2014
Location: Brindisi (Italy)
Age: 70
Posts: 8,248
On Aminet available "Italian Assembler Tutorial" and "Generic Sources For Italian Assembler Tutorial":

http://aminet.net/package/docs/help/...orso_Assembler

http://aminet.net/package/docs/help/Ramjam_Corso_SRC
AMIGASYSTEM is offline  
Old 17 September 2019, 08:29   #106
sparhawk
Registered User
 
sparhawk's Avatar
 
Join Date: Sep 2019
Location: Essen/Germany
Age: 55
Posts: 463
Are there any news on the english translation?
sparhawk is offline  
Old 21 September 2019, 17:23   #107
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
I have translated the Lesson 8,9 and 10 with help from google translate into german.
You can find the lessons now on Aminet.

http://aminet.net/package/dev/asm/asm-kurs2

I would also buy the book in english.
Rock'n Roll is offline  
Old 30 April 2020, 22:55   #108
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
Now you can find the next lessons on aminet.
(lesson 11 and 12 were translated into german.)

http://aminet.net/package/dev/asm/asm-kurs3

For improvements contact me!
Rock'n Roll is offline  
Old 04 December 2020, 20:33   #109
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
The next part is finish.
Lessons 13, 14 and 15 were translated into German.

https://aminet.net/package/dev/asm/asm-kurs4
Rock'n Roll is offline  
Old 25 December 2020, 20:14   #110
Emufr3ak
Registered User
 
Join Date: Mar 2016
Location: Thun / Switzerland
Posts: 57
Thanks Rock‘n Roll. Very useful
Emufr3ak is offline  
Old 10 October 2021, 19:09   #111
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
The 3D part is now also finish!
Lesson 17 and 18 were translated into german.
(It was a long and hard run...)

If you find any mistakes please contact me.

https://aminet.net/package/dev/asm/asm-kurs5
Rock'n Roll is offline  
Old 11 October 2021, 00:54   #112
AF2013
Registered User
 
Join Date: Apr 2013
Location: .
Posts: 250
Like what sparhawk say " Are there any news on the english translation? "
AF2013 is offline  
Old 11 October 2021, 10:35   #113
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
Yes, where is the english translation? Nobody did it.
So in 2018 I started translating for myself because I wanted to know how the
blitter works. Then later I decided to put my translation on Aminet.
Maybe I'll just make only some germans happy. But you have now the italian and
the german version and can translate this into english for the others.
(Sorry, my english is not good enough, because I learnt russian at school.)
Rock'n Roll is offline  
Old 11 October 2021, 14:12   #114
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,163
let me guess? former DDR ?
jotd is offline  
Old 11 October 2021, 18:51   #115
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
Yes, former GDR. But my russian today is very bad. Almost all is lost.
Today, I can only a few words and read the letters.

In the Italian assembly course there are only a few files to translate.
Maybe I will translate it also into english together with the german
translation next year. That would be the last part then.
Rock'n Roll is offline  
Old 20 October 2021, 05:38   #116
OmegaMax
Knight Of The Kingdom
 
OmegaMax's Avatar
 
Join Date: Feb 2016
Location: It's a bald world!
Posts: 179
Wow I forgot about these as I did them when I was first learning the amiga hardware.What I did when I first started was use google translate with a few lesson of the ramjam tutorial..I then started looking at the debugger in a few games in winuae which taught me more than any tutorial would have.Even though this is for sega master system maybe this could help others understand bitplanes a tad more.

https://www.smspower.org/maxim/HowToProgram/Tiles

Read these,you can use google to translate,make sure to read them all if your new to programming amiga.

https://www.commodorespain.es/sprite...ipando-apidya/

Last edited by BippyM; 10 February 2022 at 02:35.
OmegaMax is offline  
Old 21 October 2021, 11:20   #117
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Quote:
Originally Posted by OmegaMax View Post
Wow I forgot about these as I did them when I was first learning the amiga hardware.What I did when I first started
If you ever manage to write an Amiga game, which I doubt, please let us know.
I'm looking forward to give it a verdict on LemonAmiga which it deserves!
phx is offline  
Old 31 December 2021, 15:02   #118
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
Really nice to see that now also an english translation is in progress.
With the english translation it is possible to optimize my german translation.
I know there are some parts with a bad translation or lacks.

https://github.com/rogerbratseth/Ami...r-on-Two-Disks

I can not promise but it is my aim to publish a complete update with the
last open files next year.

Roger wrotes on his site: "Some raw image-files are missing from the package
I have downloaded from the site above. You may need to make your own files
to run and test some sources."

In the german translation there is only one file missing in lesson 14 (audio). The
other files are present. check here: https://aminet.net/package/dev/asm/asm-kurs4
Rock'n Roll is offline  
Old 01 January 2022, 01:55   #119
redblade
Zone Friend
 
redblade's Avatar
 
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
Hi.

I've just been having a quick look at some of the source on https://github.com/rogerbratseth/Ami...DISKS/SOURCES4

Does this tutorial use VBLANK $6c.w?? or is it 680x0 friendly?

Right, found the answer here https://github.com/rogerbratseth/Ami...ES7/Startup2.S

Last edited by redblade; 01 January 2022 at 02:02. Reason: Found the file
redblade is offline  
Old 10 February 2022, 02:36   #120
BippyM
Global Moderator
 
BippyM's Avatar
 
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
The github has been removed!
BippyM is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Paul Overa Companion Disks, Total Amiga Assembler redblade Coders. General 27 17 November 2018 19:27
Starting ASM coding on A1200. Which Assembler? Nosferax Coders. Asm / Hardware 68 27 November 2015 16:14
Gold Disks Amiga Complete Ze Emulatron request.Apps 5 03 February 2012 16:03
Complete games that came with Cover Disks Carlos Ace request.Old Rare Games 7 10 June 2002 17:51
Disks from Coding Books Giana request.Apps 0 08 January 2002 16:43

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 11:02.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.20011 seconds with 15 queries