Amiga number interpreter
41 |Put a word in hex format inside the hex input area and click generate.
42 | The number will be interpreted in various different formats.
43 |
44 |
45 | -
48 |
- 49 | Hex: 50 | 51 | 52 |
- 53 | Bin unsigned: 54 | 55 | 56 |
- 57 | Bin signed: 58 | 59 | 60 |
- 61 | Decimal unsigned: 62 | 63 | 64 |
- 65 | Decimal signed: 66 | 67 | 68 |
23 | Amiga delta table calculator
41 |This little tool helps you to recalculate tables according to the difference between each entry.
42 | This is useful to help compressors to shrink data since we assume deltas are more redundant than single entryes of the table.
43 |
44 | Fill the upper textarea with the table entries for example:
45 |
46 |
47 | dc.b %10000000 ; X:1 Y:1 InputValue: 0.250000
48 | dc.b %11001011 ; X:1 Y:3 InputValue: 0.397584
49 | ...
50 |
51 |
52 | Then press the "Generate" button.
53 | On the bottom textarea you will see the difference between the current entry and the previous, ready to be copied/pasted into your program.
54 |
The following is a little m68k ASM snippet/example that can reconstruct the original table.
55 |
56 | lea DATASRC,a0
57 | lea DATADST,a1
58 | moveq #0,d1
59 | move.w #4096-1,d7
60 | loop:
61 | move.w (a0)+,d0
62 | add.w d1,d0
63 | move.w d0,(a1)+
64 | move.w d0,d1
65 | dbra d7,loop
66 | ...
67 | DATADST:
68 | dcb.w 4096,0
69 | DATASRC:
70 | dc.w 128 ; X:1 Y:1 InputValue: 0.250000
71 | ...
72 |
73 |
74 |
75 | -
79 |
80 |
-
83 |
84 |
23 | Amiga SQRT tables generator
41 |Build your ASM sqrt tables
42 | 43 |-
68 |
69 |
70 |
11 | Amiga register reader
28 |Hex value 30 |
32 | 33 |
34 | 35 |
-
36 |
- Bit 15 37 |
- Bit 14 38 |
- Bit 13 39 |
- Bit 12 40 |
- Bit 11 41 |
- Bit 10 42 |
- Bit 9 43 |
- Bit 8 44 |
- Bit 7 45 |
- Bit 6 46 |
- Bit 5 47 |
- Bit 4 48 |
- Bit 3 49 |
- Bit 2 50 |
- Bit 1 51 |
- Bit 0 52 | 53 |
Note :56 |
23 | Amiga projection tester
41 |Test 3d points projection on the screen with the folliwing formula
42 | 43 |-
49 |
50 |
51 |
52 |
56 |
57 | var Xs = 160 + (Xe * Zu * -1) / (Ze - Zu);
58 | var Ys = 128 + (Ye * Zu * -1) / (Ze - Zu);
59 |
60 | Xe Ye Ze = coords of the point in a 3d space
61 | Zu = distance of the viewer
62 |
63 | Xs and Ys = projected points on the display monitor
64 |
65 |
66 | -
67 |
- Xe 68 |
- Ye 69 |
- Ze 70 |
- Zu 71 |
75 |
Xs: 0
76 |Ys: 0
77 | 78 |79 | 80 |
81 |82 | 83 |
84 |85 | 86 |
87 | 235 | 236 | 237 | -------------------------------------------------------------------------------- /rawdiff.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 |
16 | Raw diff
35 |Display difference between 2 raw files - each byte on both tables will get color from the list on the right according to how much difference between the 2 files
36 | 37 | 38 || 0 |
| 0 |
-
64 |
65 |
66 |
16 | Amiga diwstart/stop simulation
33 |DiwXstart:
39 | 40 | 41 |DiwXstop:
42 | 43 | 44 |DiwYstart:
45 | 46 | 47 |DiwYstop:
48 | 49 |DFF08E (DIWSTRT): 52 | 0000 53 |
54 | 55 |DFF090 (DIWSTOP): 56 | 0000 57 |
58 | 59 |New image (must be a 320X256 png url): 60 | 61 |
62 | 63 |
23 | Amiga Trigonometric tables generator
41 |Build your ASM trigonometric functions
42 | 43 |-
88 |
89 |
90 |
91 |
18 | Copperlist translator
35 |39 | 40 |
50 | 000BEF50 0001 FFFF 0120 0000 0122 0770 0124 000B ..... ...".p.$..
51 | 000BEF60 0126 EC50 0128 000B 012A EC98 012C 000B .&.P.(...*...,..
52 | 000BEF70 012E ECE0 0130 000B 0132 ED28 0134 000B .....0...2.(.4..
53 | 000BEF80 0136 EDB0 0138 0000 013A 0770 013C 0000 .6...8...:.p.<..
54 | 000BEF90 013E 0770 2BC7 FFFE 0094 00D0 0092 0030 .>.p+..........0
55 | 000BEFA0 0108 0116 010A 0116 0102 0044 00E0 0006 ...........D....
56 | 000BEFB0 00E2 4536 00E4 0006 00E6 1D36 00E8 0005 ..E6.......6....
57 | 000BEFC0 00EA F536 00EC 0005 00EE CD36 00F0 0005 ...6.......6....
58 | 000BEFD0 00F2 A536 4BC7 FFFE 0094 00D0 0092 0030 ...6K..........0
59 | 000BEFE0 0108 0116 010A 0116 0102 0088 00E0 000A ................
60 | 000BEFF0 00E2 CD34 00E4 0009 00E6 B534 00E8 0008 ...4.......4....
61 | 000BF000 00EA 9D34 00EC 0007 00EE 8534 00F0 0006 ...4.......4....
62 | 000BF010 00F2 6D34 4C01 FFFE 0182 0FD8 0184 0FB7 ..m4L...........
63 | 000BF020 0186 0F96 0188 0F74 018A 0F07 018C 0B43 .......t.......C
64 | 000BF030 018E 0056 0190 0234 0192 0500 0194 0005 ...V...4........
65 | 000BF040 0196 0001 0198 0FE9 019A 0111 019C 0644 ...............D
66 | 000BF050 019E 0C11 FFDF FFFE 2C01 FFFE 0182 0888 ........,.......
67 | 000BF060 0184 0800 0186 0008 FFFF FFFE
68 | 70 |
11 | Amiga font editor
30 |Draw your fonts on the left grids and get the binary raw data to load into the Amiga copperlist
31 | 35 |-
39 |
- Color 00 40 |
- Color 01 41 |
- Color 02 42 |
- Color 03 43 |
- Color 04 44 |
- Color 05 45 |
- Color 06 46 |
- Color 07 47 |
- Color 08 48 |
- Color 09 49 |
- Color 10 50 |
- Color 11 51 |
- Color 12 52 |
- Color 13 53 |
- Color 14 54 |
- Color 15 55 |
- Color 16 56 |
- Color 17 57 |
- Color 18 58 |
- Color 19 59 |
- Color 20 60 |
- Color 21 61 |
- Color 22 62 |
- Color 23 63 |
- Color 24 64 |
- Color 25 65 |
- Color 26 66 |
- Color 27 67 |
- Color 28 68 |
- Color 29 69 |
- Color 30 70 |
- Color 31 71 |
11 | Rgb Color handling
30 |Select a color and try to darken/lighten it according to a percentage
31 | 35 |Tint factor :0 38 |
-
39 |
- Color 00 40 |
- Color 01 41 |
- Color 02 42 |
- Color 03 43 |
- Color 04 44 |
- Color 05 45 |
- Color 06 46 |
- Color 07 47 |
- Color 08 48 |
- Color 09 49 |
- Color 10 50 |
- Color 11 51 |
- Color 12 52 |
- Color 13 53 |
- Color 14 54 |
- Color 15 55 |
- Color 16 56 |
- Color 17 57 |
- Color 18 58 |
- Color 19 59 |
- Color 20 60 |
- Color 21 61 |
- Color 22 62 |
- Color 23 63 |
- Color 24 64 |
- Color 25 65 |
- Color 26 66 |
- Color 27 67 |
- Color 28 68 |
- Color 29 69 |
- Color 30 70 |
- Color 31 71 | 72 |
-
78 |
- Color 00 79 |
- Color 01 80 |
- Color 02 81 |
- Color 03 82 |
- Color 04 83 |
- Color 05 84 |
- Color 06 85 |
- Color 07 86 |
- Color 08 87 |
- Color 09 88 |
- Color 10 89 |
- Color 11 90 |
- Color 12 91 |
- Color 13 92 |
- Color 14 93 |
- Color 15 94 |
- Color 16 95 |
- Color 17 96 |
- Color 18 97 |
- Color 19 98 |
- Color 20 99 |
- Color 21 100 |
- Color 22 101 |
- Color 23 102 |
- Color 24 103 |
- Color 25 104 |
- Color 26 105 |
- Color 27 106 |
- Color 28 107 |
- Color 29 108 |
- Color 30 109 |
- Color 31 110 | 111 |
12 |
13 | Amiga sprite position editor
32 |Draw your sprites position on the left grid and get the binary raw data to load into the Amiga copperlist
33 | 34 | 35 | 36 | 37 |-
40 |
- Color 00 41 |
- Color 01 42 |
- Color 02 43 |
- Color 03 44 |
- Color 04 45 |
- Color 05 46 |
- Color 06 47 |
- Color 07 48 |
- Color 08 49 |
- Color 09 50 |
- Color 10 51 |
- Color 11 52 |
- Color 12 53 |
- Color 13 54 |
- Color 14 55 |
- Color 15 56 |
- Color 16 57 |
- Color 17 58 |
- Color 18 59 |
- Color 19 60 |
- Color 20 61 |
- Color 21 62 |
- Color 22 63 |
- Color 23 64 |
- Color 24 65 |
- Color 25 66 |
- Color 26 67 |
- Color 27 68 |
- Color 28 69 |
- Color 29 70 |
- Color 30 71 |
- Color 31 72 |
74 | X: 0 75 | Y: 0 76 |77 |
- >24)&255;
95 | offset+=dl;
96 | bin.writeUint (data,offset,crc(data,offset-dl-4,dl+4)); offset+=4; // crc
97 | }
98 | }
99 |
100 | var dl = nimg.data.length;
101 | bin.writeUint (data,offset, dl); offset+=4;
102 | bin.writeASCII(data,offset,"IDAT"); offset+=4;
103 | for(var i=0; i
- Color 00 48 |
- Color 01 49 |
- Color 02 50 |
- Color 03 51 |
- Color 04 52 |
- Color 05 53 |
- Color 06 54 |
- Color 07 55 |
- Color 08 56 |
- Color 09 57 |
- Color 10 58 |
- Color 11 59 |
- Color 12 60 |
- Color 13 61 |
- Color 14 62 |
- Color 15 63 |
- Color 16 64 |
- Color 17 65 |
- Color 18 66 |
- Color 19 67 |
- Color 20 68 |
- Color 21 69 |
- Color 22 70 |
- Color 23 71 |
- Color 24 72 |
- Color 25 73 |
- Color 26 74 |
- Color 27 75 |
- Color 28 76 |
- Color 29 77 |
- Color 30 78 |
- Color 31 79 |
- Color 16 47 |
- Color 17 48 |
- Color 18 49 |
- Color 19 50 |
- Color 20 51 |
- Color 21 52 |
- Color 22 53 |
- Color 23 54 |
- Color 24 55 |
- Color 25 56 |
- Color 26 57 |
- Color 27 58 |
- Color 28 59 |
- Color 29 60 |
- Color 30 61 |
- Color 31 62 |
- >2]; if(plte.length<600 && cmap[c]==null) { cmap[c]=plte.length; plte.push(c); }
123 | if(img[i+3]!=255) gotAlpha = true;
124 | }
125 | var cc=plte.length;
126 | if(cc<=256) {
127 | if(cc<= 2) depth=1; else if(cc<= 4) depth=2; else if(cc<=16) depth=4; else depth=8;
128 | bpl = Math.ceil(depth*w/8), nimg = new Uint8Array(bpl*h);
129 | for(var y=0; y
12 |
13 | Raw 2 planar viewer
32 |Upload here your raw file containing bitplanes data. 33 | Each bitplane must be not interleaved. 34 | After loading you should see which pixel are turned on into the Amiga planar screen
35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |-
47 |
81 | X: 0 82 | Y: 0 83 |84 | 85 | 114 |
11 | Amiga sprite editor
30 |Draw your sprite on the left grid and get the binary raw data to load into the Amiga copperlist
31 | 32 | 33 | 34 | 35 | 39 |-
46 |