Difference between revisions of "Motorola 68000"

From SizeCoding
Jump to: navigation, search
(5 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
Note:  Assigment direction is source,dest instead of dest,source !!!
 
Note:  Assigment direction is source,dest instead of dest,source !!!
  
=== Registers ===
+
==== Registers ====
 
To be added.
 
To be added.
  
Line 21: Line 21:
 
* Emulator(s): -. Make sure to use the original TOS 1.62 Image for best compatibility.
 
* Emulator(s): -. Make sure to use the original TOS 1.62 Image for best compatibility.
  
=== Compiling to a TOS image ===
+
==== Compiling to a TOS image ====
 
Vasm -Ftos source.s -o source.tos
 
Vasm -Ftos source.s -o source.tos
  
=== Video diplay ===
+
=== Video display ===
 
The Atari ST has a linear 320x200x4bit address space, which each nibble representing a color index 0..F from the palette.
 
The Atari ST has a linear 320x200x4bit address space, which each nibble representing a color index 0..F from the palette.
  
 
To be added soon.
 
To be added soon.
  
=== Setting a palette ===
+
==== Setting a palette ====
 
Here is some code that will help you setup a palette
 
Here is some code that will help you setup a palette
  
Line 43: Line 43:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== Getting something on screen ===
+
==== Getting something on screen ====
 
Here is a bit of code to get you started:
 
Here is a bit of code to get you started:
  
Line 88: Line 88:
  
 
=== Sound ===
 
=== Sound ===
The Atari ST systems use the YM8192 chip to generate sound.
+
The Atari ST systems use the YM8192 chip to generate sound.\
 +
 
 +
For more information check out https://www.atarimagazines.com/v4n7/stsound.html
 +
 
 +
==== Make some noise ====
 
To be added soon.
 
To be added soon.
  
=== Make some noise ===
+
=== Additional Resources ===
To be added soon.
+
Sizecoding on the Atari ST is not very huge yet, so resources are sparse.
 +
* ST Soundchip: https://www.atarimagazines.com/v4n7/stsound.html
 +
* Spkr's Github: to be added
 +
 
 +
== Commodore Amiga ==
 +
The Commodore Amiga system consists of the M68k system with custom hardware for graphics and sound.
 +
 
 +
=== Setting up ===
 +
 
 +
* Assembler: -
 +
* Emulator(s): WinUAE
 +
 
 +
=== Video display ===
 +
No information yet
 +
 
 +
=== Sound ===
 +
No information yet

Revision as of 06:19, 6 July 2020

Introduction

Wanting to start sizecoding on a Motorola 68k platform in this day and age can be tough.

So here is a bit of help to get you started:

The Motorola 68k processor

The Motorola 68k processor...

Note: Assigment direction is source,dest instead of dest,source !!!

Registers

To be added.

Atari ST

The Atari ST systems consists of the M68k system with custom hardware for graphics and sound.

Setting up

Setting up your development platform for the Atari ST systems is quite easy, first get the following tools:

  • Assembler: VASM - This assembler is able to assemble directly to a TOS image
  • Emulator(s): -. Make sure to use the original TOS 1.62 Image for best compatibility.

Compiling to a TOS image

Vasm -Ftos source.s -o source.tos

Video display

The Atari ST has a linear 320x200x4bit address space, which each nibble representing a color index 0..F from the palette.

To be added soon.

Setting a palette

Here is some code that will help you setup a palette

pea	palette(pc)
	move.w	#6,-(sp)
	trap	#14

; Palette data
palette:	
	dc.w	$000,$100,$200,$311,$422,$533,$644,$755
	dc.w	$575,$464,$353,$242,$131,$020,$010,$000

Getting something on screen

Here is a bit of code to get you started:

	;-----------------------
	; Line-A Initialization
	;-----------------------
; After calling this function, data register D0 and address register A0 point to a table ; with the starting address of the Line A variables. 
; Address register A1 points to a table with the starting addresses for the three system ; font headers, 
; and address register A2 points to a table that specifies the starting addresses of the; 15 Line A opcodes. There's no parameter required for this function, so all you have
; to do is call the word opcode label that you specified for the $A000 (Initialize)
; function.
	dc.w	$A000
	movem.l	(a0),a1-a4		; A3=INTIN, A4=PTSIN

	;---------
	; For X&Y
	;---------
frameloop:
	move.w	#200-1,d7		; y
yLoop:	
	move.w	#320-1,d6		; x
xLoop:

	; Putpixel
put_pixel:	
	move.b d6,d0		; d0=x
	eor d7,d0			; d0=x^y
	lsr.b #2,d0			; d0>>=4
	and #42,d0			; d0&42
	
	move.w	d0,(a3)		; a3=color(d0)
	movem.w	d6/d7,(a4)	; a4=x,y`
	
	dc.w	$A001		; put pixel command

	dbra	d6,xLoop		; decrease and branch
    dbra	d7,yLoop

; Wait loop
	bra frameloop ; .s	*

Sound

The Atari ST systems use the YM8192 chip to generate sound.\

For more information check out https://www.atarimagazines.com/v4n7/stsound.html

Make some noise

To be added soon.

Additional Resources

Sizecoding on the Atari ST is not very huge yet, so resources are sparse.

Commodore Amiga

The Commodore Amiga system consists of the M68k system with custom hardware for graphics and sound.

Setting up

  • Assembler: -
  • Emulator(s): WinUAE

Video display

No information yet

Sound

No information yet