Commit a8ea0f3

Nick committed on
Fixed order grid bug, fixed sound 3 playback len bug in emulator
commit a8ea0f3cfe065dd04b9ebc4875e633f6740990d8 parent d5c3663
4 changed files +95−79
ModifiedSound/sound.pas +3−1
@@ -355,9 +355,11 @@ begin
355 355
356 if m_iram[$FF1e] and $80 > 0 then 356 if m_iram[$FF1e] and $80 > 0 then
357 begin 357 begin
358 snd[3].Len := (256 - byte(m_iram[$FF1b])) shl 7; 358 snd[3].Len := (256 - byte(m_iram[$FF1b]));// shl 7;
359 snd[3].Cnt := 0; 359 snd[3].Cnt := 0;
360 m_iram[$FF1e] := m_iram[$FF1e] and $7f; 360 m_iram[$FF1e] := m_iram[$FF1e] and $7f;
361 snd[3].Enable := True;
362 m_iram[$ff1a] := m_iram[$ff1a] or %10000000;
361 end; 363 end;
362 364
363 if m_iram[$FF23] and $80 > 0 then 365 if m_iram[$FF23] and $80 > 0 then
Modifiedhalt.z80 +6−8
@@ -15,14 +15,12 @@ DB "NF"
15 15
16 SECTION "code", ROM0 16 SECTION "code", ROM0
17 yeah: 17 yeah:
18 ld a, 0 18 ld a, $80
19 ld [rAUD3LEVEL], a 19 ld [rAUDENA], a
20 ;ld a, $80
21 ;ld [rAUDENA], a
22 ; Enable all channels in stereo 20 ; Enable all channels in stereo
23 ;ld a, $FF 21 ld a, $FF
24 ;ld [rAUDTERM], a 22 ld [rAUDTERM], a
25 ; Set volume 23 ; Set volume
26 ;ld a, $77 24 ld a, $77
27 ;ld [rAUDVOL], a 25 ld [rAUDVOL], a
28 halt 26 halt
Modifiedtracker.lfm +73−69
@@ -54,10 +54,10 @@ object frmTracker: TfrmTracker
54 Height = 946 54 Height = 946
55 Top = 0 55 Top = 0
56 Width = 1865 56 Width = 1865
57 ActivePage = InstrumentTabSheet 57 ActivePage = PatternTabSheet
58 Align = alClient 58 Align = alClient
59 ParentFont = False 59 ParentFont = False
60 TabIndex = 2 60 TabIndex = 1
61 TabOrder = 0 61 TabOrder = 0
62 object GeneralTabSheet: TTabSheet 62 object GeneralTabSheet: TTabSheet
63 Caption = 'General' 63 Caption = 'General'
@@ -257,7 +257,7 @@ object frmTracker: TfrmTracker
257 ParentFont = False 257 ParentFont = False
258 PopupMenu = OrderEditPopup 258 PopupMenu = OrderEditPopup
259 RangeSelectMode = rsmMulti 259 RangeSelectMode = rsmMulti
260 RowCount = 10 260 RowCount = 2
261 ScrollBars = ssVertical 261 ScrollBars = ssVertical
262 TabOrder = 1 262 TabOrder = 1
263 UseXORFeatures = True 263 UseXORFeatures = True
@@ -3530,39 +3530,39 @@ object frmTracker: TfrmTracker
3530 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3530 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
3531 00FF000000FF0000000000000000000000000000000000000000000000000000 3531 00FF000000FF0000000000000000000000000000000000000000000000000000
3532 0000000000000000000000000000000000000000000000000000000000000000 3532 0000000000000000000000000000000000000000000000000000000000000000
3533 0000000000000000000000000000000000000000000000000000000000000000 3533 00000000000000000000000000000087CB000087CB000088CC610088CC810088
3534 000000000000000000000000000000000000000000FF000000FF000000FF0000 3534 CC810088CC810088CC810088CC810088CC810088CC810088CC810088CC810088
3535 0000000000000000000000000000000000000000000000000000000000000000 3535 CC810088CC610087CB000087CB000087CA000087CA000087CA8388DBF4FF60C1
3536 0000000000000000000000000000000000FF0000000000000000000000000000 3536 E9FF5FBFEAFF80D3F4FF9CE3FDFFA2E6FFFFA2E6FFFFA2E6FFFFA2E6FFFFA6EA
3537 00FF00000000000000FF00000000000000000000000000000000000000000000 3537 FFFF0087CA830087CA000087CA000085C8000085C8000085C885ADF1FFFFABEF
3538 0000000000000000000000000000000000000000000000000000000000000000 3538 FEFF94E2F8FF6EC8EDFF4397B9FF8EB7BAFF8EB7BAFF8EB7BAFF8EB7BAFF93BC
3539 0000000000FF000000FF0000000000000000000000FF000000FF000000FF0000 3539 BBFF1B84B0963E818E003D7F8C000084C5000084C5000084C587A9EEFDFFA4E9
3540 0000000000000000000000000000000000000000000000000000000000000000 3540 FCFFA4E9FCFFAAEFFDFF6DAFCDFFEDEDE4FFF4F4E7FFF4F4E3FFF2F2E1FFC2C2
3541 00FF000000FF000000FF00000000000000FFFFFFFFFF00FFFFFFFFFFFFFF0000 3541 B1FF467F85B87C7C5225797950000082C2000082C2000082C28AA6EBFCFFA1E6
3542 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3542 FBFFA1E6FBFFA6EBFCFF62A8C9FFDBDBD4FFD8D8CFFFEBEBDDFFE7E7D6FFB6B6
3543 0000000000000000000000000000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFF 3543 A5FFFFFFFFFF7979506979795025007FBF00007FBF00007FBF8DA3E8FBFF9DE3
3544 FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF000000FF000000000000 3544 F9FF9DE3F9FFA3E8FBFF589FC2FFDCDCD7FFDBDBD4FFF0F0E6FFEBEBDDFFA4A4
3545 0000000000000000000000000000000000FFFFFFFFFF00FFFFFFFFFFFFFF00FF 3545 93FFA4A493FFA4A493FF4949257C007DBB00007DBB00007DBB909EE5F9FF98DF
3546 FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF000000FF000000000000 3546 F6FF98DFF6FF9EE5F9FF569CBFFFDEDED9FFDCDCD7FFF4F4ECFFF0F0E6FFEBEB
3547 0000000000000000000000000000000000FF00FFFFFFFFFFFFFF00FFFFFFFFFF 3547 DDFFE7E7D6FFF2F2E1FF7171486C007BB800007BB800007BB8949BE1F7FF94DB
3548 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3548 F4FF94DBF4FF9BE1F7FF5299BCFFDFDFDBFFDEDED9FFF5F5EFFFF4F4ECFFF0F0
3549 00FF000000FF000000FF00000000000000FFFFFFFFFF00FFFFFFFFFFFFFF0000 3549 E6FFEBEBDDFFF3F3E3FF6C6C446E0078B4000078B4000078B49797DEF6FF90D8
3550 00FF008080FF008080FF008080FF008080FF008080FF008080FF008080FF0080 3550 F2FF90D8F2FF97DEF6FF4F96B8FFE1E1DDFFDFDFDBFFF7F7F1FFF5F5EFFFF4F4
3551 80FF008080FF000000FF00000000000000FF00FFFFFFFFFFFFFF000000FF0080 3551 ECFFF0F0E6FFF6F6E8FF676740700076B0000076B0000076B09B92DAF4FF8BD4
3552 80FF008080FF008080FF008080FF008080FF008080FF008080FF008080FF0080 3552 F0FF8BD4F0FF92DAF4FF4C92B6FFE1E1DFFFE1E1DDFFF8F8F4FFF7F7F1FFF5F5
3553 80FF000000FF0000000000000000000000FFFFFFFFFF000000FF008080FF0080 3553 EFFFF4F4ECFFF8F8EEFF62623C72005782000073AC000073AC9E8ED6F2FF87D0
3554 80FF008080FF008080FF008080FF008080FF008080FF008080FF008080FF0000 3554 EDFF87D0EDFF8ED6F2FF488FB2FFE2E2E1FFE1E1DFFFFAFAF6FFF8F8F4FFF7F7
3555 00FF000000000000000000000000000000FF000000FF008080FF008080FF0080 3555 F1FFF5F5EFFFFAFAF2FF5D5D37740000000000547E00006FA7A48AD3F0FF82CD
3556 80FF008080FF008080FF008080FF008080FF008080FF008080FF000000FF0000 3556 EBFF82CDEBFF8AD3F0FF468BAFFFE3E3E2FFE2E2E1FFFBFBF8FFFAFAF6FFF8F8
3557 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 3557 F4FFF7F7F1FFFAFAF4FF585832760000000900000012006699B288D0EFFF7FCA
3558 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3558 E9FF7FCAE9FF87D0EFFF4489ACFFE4E4E4FFE3E3E2FFFCFCFBFFFBFBF8FFFAFA
3559 0000000000000000000000000000000000000000000000000000000000000000 3559 F6FFF8F8F4FFFBFBF5FF4F4F2C7D000000110000002400466A983590BDF269B8
3560 0000000000000000000000000000000000000000000000000000000000000000 3560 DDFA82CBECFF85CEEEFF4186A8FFE5E5E5FFE5E5E4FFFEFEFDFFFEFEFCFFFDFD
3561 0000000000000000000000000000000000000000000000000000000000000000 3561 FAFFFCFCF9FFFEFEF9FF3B3B1B880000000000000000002E4500006599500064
3562 0000000000000000000000000000000000000000000000000000000000000000 3562 97991C7AA9C052A5CDE0075477E225250A932B2B0C8A2D2D0D872D2D0D872D2D
3563 0000000000000000000000000000000000000000000000000000000000000000 3563 0D872D2D0D872D2D0D8723230B6A0000000000000000002E4500006497000062
3564 0000000000000000000000000000000000000000000000000000000000000000 3564 9300005E8E30005C8C7C005884950000001F0000001A0000001A0000001A0000
3565 0000000000000000000000000000000000000000000000000000000000000000 3565 001A0000001A0000001A00000011000000000000000000000000000000000000
3566 0000000000000000000000000000000000000000000000000000000000000000 3566 0000000000000000000000000000000000000000000000000000000000000000
3567 0000000000000000000000000000000000000000000000000000000000000000 3567 0000000000000000000000000000000000000000000000000000000000000000
3568 0000800000FF0000000000000000000000000000000000000000000000000000 3568 0000800000FF0000000000000000000000000000000000000000000000000000
@@ -4074,39 +4074,39 @@ object frmTracker: TfrmTracker
4074 0000000000000000000000000000000000000000000000000000000000000000 4074 0000000000000000000000000000000000000000000000000000000000000000
4075 0000000000000000000000000000000000000000000000000000000000000000 4075 0000000000000000000000000000000000000000000000000000000000000000
4076 0000000000000000000000000000000000000000000000000000000000000000 4076 0000000000000000000000000000000000000000000000000000000000000000
4077 0000000000000000000000000000000000000000000000000000000000000000 4077 00000000000000000000000000008F03620090036200900362007F7F55007F7F
4078 0000000000000000000000000000000000000000000000000000000000000000 4078 55007F7F55007F7F55007F7F55007F7F55007F7F55007F7F55007F7F55007C7C
4079 000000000000000000000000000000000000000000FF000000FF000000FF0000 4079 55002B2B9D390101DEAF0101C6408F036200900362689003628B7F7F55667F7F
4080 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4080 55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667575
4081 00FF000000FF000000FF0000000000000000000000FF008080FF000000FF0000 4081 557C562171C48080FFFF0101B1C18F0361008F03618DF2A6D9FFFFFFFFFFFFFF
4082 0000000000000000000000000000000000000000000000000000000000000000 4082 FEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFC1E8EEFFB3B3
4083 00FF00000000000000FF0000000000000000000000FF008080FF000000FF0000 4083 B3FFF7F7F7FF3D1155CD00009F468D0360008D03608FECA0D3FFFEFEFBFFFBFB
4084 0000000000000000000000000000000000000000000000000000000000000000 4084 F8FFFBFBF8FFFBFBF8FFFBFBF8FFFBFBF8FFFBFBF8FFBFE5E9FF4AB5C5FF79E6
4085 00FF000000FF000000FF0000000000000000000000FF008080FF000000FF0000 4085 F7FF89627CFF6F084EA346027E008C035F008C035F91EA9ED1FFFBFBF5FFF6F6
4086 0000000000000000000000000000000000000000000000000000000000000000 4086 F0FFF6F6F0FFF6F6F0FFF6F6F0FFF6F6F0FFBBE1E3FF49B3C2FF79E6F7FF419E
4087 00FF008080FF000000FF0000000000000000000000FF008080FF000000FF0000 4087 ADFFB192BEFF8C035F918C035F008A035E008A035E94E69ACDFFF8F8EFFFF1F1
4088 0000000000000000000000000000000000000000000000000000000000000000 4088 E7FFF1F1E7FFF1F1E7FFF1F1E7FFB7DEDCFF47B2C0FF79E6F7FF3E9BAAFFB8D7
4089 00FF008080FF000000FF0000000000000000000000FF008080FF000000FF0000 4089 D6FFE69ACDFF8A035E948A035E0087025C0087025C97E397CAFFF6F6E9FFECEC
4090 0000000000000000000000000000000000000000000000000000000000000000 4090 DFFFECECDFFFECECDFFFCADCD7FF46B0BEFF79E6F7FF3D9AA8FFADCCC9FFF6F6
4091 00FF008080FF000000FF0000000000000000000000FF008080FF000000FF0000 4091 E9FFE397CAFF87025C9787025C0085025A0085025A9AE094C7FFF0DDDEFFF4F4
4092 0000000000000000000000000000000000000000000000000000000000000000 4092 E4FFF4F4E4FFF4F4E4FF7BB1BAFFD9F4FFFF3F9CA9FFB6D5CFFFF4F4E4FFF0DD
4093 00FF008080FF000000FF0000000000000000000000FF008080FF008080FF0000 4093 DEFFE094C7FF85025A9A85025A00830259008302599DDC90C3FFD387BAFFD387
4094 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0080 4094 BAFFD387BAFFD387BAFF000000FF476184FFA17BA8FFD387BAFFD387BAFFD387
4095 80FF008080FF000000FF0000000000000000000000FF008080FF008080FF0080 4095 BAFFDC90C3FF8302599D8302590080025700800257A0D98DC0FFA25689FFA155
4096 80FF008080FF008080FF008080FF008080FF008080FF008080FF008080FF0080 4096 88FFA15588FFA15588FFA15588FFA15588FFA15588FFA25689FFA25689FFA256
4097 80FF008080FF000000FF0000000000000000000000FF008080FF008080FF0000 4097 89FFE195C8FF800257A0800257007E0255007E0255A4D589BCFFA5598CFFC8C7
4098 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4098 C7FFC3C2C2FFC3C2C2FFC3C2C2FFC3C2C2FFC8C7C7FFA5598CFFC377AAFFA85C
4099 00FF008080FF000000FF0000000000000000000000FF008080FF008080FF0000 4099 8FFFDD91C4FF7E0255A47E0255007B0253007B0253A8D286B9FFA95D90FFC0BB
4100 00FF000000FF000000FF000000FF000000FF000000FF00000000000000000000 4100 BBFF95497CFF95497CFFB7B2B2FFB7B2B2FFC0BBBBFFA95D90FFC377AAFFB064
4101 00FF008080FF000000FF0000000000000000000000FF008080FF008080FF0000 4101 97FFDA8EC1FF7B0253A87B02530077025000770250ADD488BBFFAD6194FFBAB1
4102 00FF000000FF000000FF000000FF000000FF000000FF00000000000000000000 4102 B1FFAD6194FFAD6194FFB1A8A8FFB1A8A8FFBAB1B1FFAD6194FFC377AAFFB86C
4103 00FF008080FF000000FF0000000000000000000000FF008080FF008080FF0000 4103 9FFFD88CBFFF770250AD770250001C011300530138416E014ABA9B4880EFB9AB
4104 00FF000000FF000000FF000000FF000000FF000000FF00000000000000000000 4104 ABFFB16598FFB16598FFB5A7A7FFB5A7A7FFB9ABABFFB16598FFC377AAFFC074
4105 00FF008080FF000000FF000000000000000000000000000000FF000000FF0000 4105 A7FFD68ABDFF6E014ABA1C0113000000001E0000002E35002363650043C60404
4106 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 4106 048A0404048A0404048A0404048A0404048A0404048A650043C6650043C66500
4107 00FF000000FF000000FF00000000000000000000000000000000000000000000 4107 43C6650043C64C00339E0000001E0000000F000000170000001A0000001A0000
4108 0000000000000000000000000000000000000000000000000000000000000000 4108 001A0000001A0000001A0000001A0000001A0000001A0000001A0000001A0000
4109 0000000000000000000000000000000000000000000000000000000000000000 4109 001A0000001A000000170000000F000000000000000000000000000000000000
4110 0000000000000000000000000000000000000000000000000000000000000000 4110 0000000000000000000000000000000000000000000000000000000000000000
4111 0000000000000000000000000000000000000000000000000000000000000000 4111 0000000000000000000000000000000000000000000000000000000000000000
4112 0000000000000000000000000000000000000000000000000000000000000000 4112 0000000000000000000000000000000000000000000000000000000000000000
@@ -4674,6 +4674,10 @@ object frmTracker: TfrmTracker
4674 Hint = 'Insert a new with nothing in it yet' 4674 Hint = 'Insert a new with nothing in it yet'
4675 OnClick = MenuItem18Click 4675 OnClick = MenuItem18Click
4676 end 4676 end
4677 object MenuItem21: TMenuItem
4678 Caption = 'Duplicate row'
4679 OnClick = MenuItem21Click
4680 end
4677 object MenuItem20: TMenuItem 4681 object MenuItem20: TMenuItem
4678 Caption = '-' 4682 Caption = '-'
4679 end 4683 end
Modifiedtracker.pas +13−1
@@ -24,6 +24,7 @@ type
24 Label24: TLabel; 24 Label24: TLabel;
25 LEDMeter1: TLEDMeter; 25 LEDMeter1: TLEDMeter;
26 LEDMeter2: TLEDMeter; 26 LEDMeter2: TLEDMeter;
27 MenuItem21: TMenuItem;
27 OrderEditStringGrid: TStringGrid; 28 OrderEditStringGrid: TStringGrid;
28 EditCut1: TEditCut; 29 EditCut1: TEditCut;
29 HeaderControl1: THeaderControl; 30 HeaderControl1: THeaderControl;
@@ -199,6 +200,7 @@ type
199 procedure MenuItem17Click(Sender: TObject); 200 procedure MenuItem17Click(Sender: TObject);
200 procedure MenuItem18Click(Sender: TObject); 201 procedure MenuItem18Click(Sender: TObject);
201 procedure MenuItem19Click(Sender: TObject); 202 procedure MenuItem19Click(Sender: TObject);
203 procedure MenuItem21Click(Sender: TObject);
202 procedure MenuItem5Click(Sender: TObject); 204 procedure MenuItem5Click(Sender: TObject);
203 procedure NoiseFreqSpinnerChange(Sender: TObject); 205 procedure NoiseFreqSpinnerChange(Sender: TObject);
204 procedure NoiseVisualizerPaint(Sender: TObject); 206 procedure NoiseVisualizerPaint(Sender: TObject);
@@ -1086,7 +1088,16 @@ end;
1086 1088
1087 procedure TfrmTracker.MenuItem19Click(Sender: TObject); 1089 procedure TfrmTracker.MenuItem19Click(Sender: TObject);
1088 begin 1090 begin
1089 OrderEditStringGrid.DeleteRow(OrderEditStringGrid.Row); 1091 if OrderEditStringGrid.RowCount > 2 then
1092 OrderEditStringGrid.DeleteRow(OrderEditStringGrid.Row);
1093 end;
1094
1095 procedure TfrmTracker.MenuItem21Click(Sender: TObject);
1096 begin
1097 with OrderEditStringGrid do begin
1098 InsertRowWithValues(Row, ['', '0', '0', '0', '0']);
1099 Rows[Row-1] := Rows[Row];
1100 end;
1090 end; 1101 end;
1091 1102
1092 procedure TfrmTracker.MenuItem5Click(Sender: TObject); 1103 procedure TfrmTracker.MenuItem5Click(Sender: TObject);
@@ -1117,6 +1128,7 @@ end;
1117 procedure TfrmTracker.OrderEditStringGridColRowDeleted(Sender: TObject; 1128 procedure TfrmTracker.OrderEditStringGridColRowDeleted(Sender: TObject;
1118 IsColumn: Boolean; sIndex, tIndex: Integer); 1129 IsColumn: Boolean; sIndex, tIndex: Integer);
1119 begin 1130 begin
1131 OrderEditStringGrid.Row := OrderEditStringGrid.Row-1;
1120 ReloadPatterns; 1132 ReloadPatterns;
1121 end; 1133 end;
1122 1134