-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
2347 lines (2340 loc) · 137 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
9C0702 Correct an overflow problem in the CIA code.
9C0407 Sprite code updates; correct CIA memory access handlers (Toni).
9C0306 Make w/d representable for fsdb_win32.
Don't reorder children of directories; this causes duplicates in
exnext.
Reorder the code for the 9/10 vsynctime hack a bit.
Add code from Toni to remember the last value written to a custom
register and to return it when reading from a write-only reg - this
seems to match actual hardware behaviour.
Add some more blitter tweaks (Toni).
9C0227 When waking up the copper from a blitter wait, recheck that vpos is
larger than vcmp - especially with masking going on, this may not be
the case.
X11: When changing picasso resolution, reinitialize everything - our
bitmap might be too small otherwise.
When configuring hardfiles, use specified blocksize, not 512 (Toni).
In SPRxCTL_1, don't examine vstart position before computing it (Toni).
9C0225 Some cfgfile fixes, more blitter timing changes and one big sprite
statemachine update from Toni.
Some copper timing fixes.
Fix flag bit confusion in action_fh_from_lock (taken from earlier
WinUAE).
9C0220 Blitter timing update from Toni.
Copper timing "theory" changed (me/Toni).
If we have a rdtsc insn, always synchronize with realtime in
vsync_handler.
Don't reset the lof bit when restoring state.
When restoring disk image names, put them in changed_prefs (Toni)
Return error in action_seek if trying to seek past end of file (Bernd
Roesch).
SDL fixes by Maik Qualmann.
Fix for gtk warnings when updating floppy LEDs (Maik Qualmann).
9C0216 Fix the clockspeed detection - we were getting lots of alarm signals
even after it had finished.
Some tweaks for the GUI - and also fix the problem with waiting on the
GUI semaphore even if no GUI is present...
More accurate blitter timing (Toni).
Support for A1000 bootrom and CDTV/CD32 extended ROMs (Toni).
Fix filesystem lockup with "copy dh0: ram: all".
Fix for JIT and more than 2MB chipmem from Toni
Make fsdb_win32 accept more valid Windows filenames (Toni).
9C0215 Fix filesystem reset code that used to access freed memory.
9C0213 gtk UI fixes from Maik Qualmann.
9C0113 Configury & bsd compilation fixes from Krister Walfridsson.
Match up lock/unlock calls in wgfx_do_flushline (found by Axel
Doerfler).
Fix potential crash taking strlen of NULL in filesys.c (Axel Doerfler).
Set diskdmaen to 0 in dsk_dmafinished (Toni).
9B1230 lockscr/unlockscr fixes in drawing.c.
Add sdlgfx from Bernd [4] Lachner.
Filesystem asm code improvements from Toni (make it pic, call
setup_exter earlier in the boot sequence, etc.)
Also add Toni's patch to make rtarea position configurable (keep it
at 0xF00000 for now, though).
Avoid installing filesystem stuff if user didn't request to mount
directories.
BEAMCON0 is only available with ECS Agnus.
Revert some bogus parts of the write_log patch.
9B1219 Add some missing clipping to the Picasso code.
Limit number of illegal-mem warnings.
9B1217 Fix the GUI crash when changing floppies.
Changes to support programs that change between HAM/no HAM in the
middle of a line.
Some bug fixes, and a big fprintf->write_log patch from Alex Kazik.
9B1125 Panning support for Picasso96 (in part from WinUAE).
More state save fixes from Toni, and a small disk.c update as well
which corrects track/gap lengths.
More evolution of the AHI code.
9B1124 Merged a few more small pieces from WinUAE (larger pieces in case of
the Picasso code).
CLXCON2 was never called or statesaved. Fixed by Toni.
Sound sample frequency now always based on PAL timings.
9B1123 Goodness! Massive memory corruption bug in picasso96.c - passing
last color changed to DX_SetPalette instead of count.
Fixes for the AHI code.
Changed prefetch emulation to be more similar to the one MAME uses.
Trace mode fixes (Bernd Roesch & myself).
9B1122 Redo the ExNext code in the filesystem to make sure we always match
opendir with closedir and to fix some renaming problems.
Fix hd changing code in gtkui.
9B1121 Mini-merge of noncontroversial WinUAE filesys.c code.
Add harddisk page to gtkui. Also change gui behaviour to wait for
the user to unpause before starting the emulator.
Add Toni's drive-led display.
Fixed a rather amazing source of crashes (we could fail to notice
the end of the frame in some cases).
Default to scanline mode.
Some tweaks to the SDL driver and the Win32 gui, mostly buffer-size
related.
Moved C source files back from tools directory (but still build them
there) to preserve my CVS history.
9B1119 Move all the build tools (gencpu, cpuopti etc.) into their own
directory which is configured separately. This was necessary to
avoid picking up SDL CFLAGS (which can #define main to _SDL_main, and
that breaks if you don't link with SDL), and to make cross-compiling
at least a little more likely.
Remove sanity check for SDL header file - rely on sdl-config getting
things right (not that we have much choice).
Move thread support code past sound code in configure, and make sure
that SDL sound enables threads.
Move sername into options structure.
Check for existance of isinf/isnan before using them.
Rather large WinUAE merge - this tree compiles again under Windows.
Most of the additional features are missing though.
9B1118 Restore code to mirror banks for 24 bit address space which got lost
when all the JIT memory changes were put in.
Speed up the CPU time calibration code.
Fix the broken file selector handling in the gtk ui. Add kickstart
selector.
Don't call XCloseDisplay, it apparently leads to crashes.
Try to solve the "missing write_log" problem in a sane way.
SDL joystick support.
When configure detects win32, use fsdb_win32 rather than fsdb_unix.
9B1117 Proper masking for DDFSTOP; proper handling of AUDLEN == 0, changed
delayoffset code, gencpu BFINS fix, and lots of disk updates (all
Toni).
Some additional regs for move2c/movec2 (also by Toni IIRC)
9B1115 COLOR_READ typo fix (Toni).
9B1024 Filesystem reset leak fixes (Brian)
Allocate enough memory for custom state saving.
bploff renamed to bpl_off.
AGA copper cycle diagram (Toni)
Disable disk_data_used optimization.
9B0926 Delayed palette setting for Picasso modes. Also fixed problem with
palette setting in CLUT emulation - we need to redraw the entire
screen if that happens.
9B0921 Miscellaneous small bugfixes. Delete some obsolete code.
9B0907 Beginnings of SDL support. Exterminated some penguins.
9B0825 Some xwin.c fixes from Maik Qualmann.
9B0730 Some sprite state machine tweaks. Fix sprite vs. DIW comparison.
HAM linebuffer was too small by half - oops.
Make absolutely, positively sure that when hsync_handler calls
sync_copper_with_cpu, we don't take any invalid shortcuts.
Memory management changes for JIT (Bernie [2], mostly).
9B0729 Silly mistake - need to call flush_plane_data unless plfleft is
-1, even if no planes were enabled.
9B0728 Small hack to reduce the time we lose with unnecessary
disk_doupdate_read calls.
Avoid calling flush_plane_data if we have no bitplanes enabled.
Tweak the SPCFLAG_INT handling to make "Delirium" demo work.
Limit rate of DDF warning messages.
Adjust display parameters so that things are shifted to the left
even more.
Fix (hopefully) CIA & blitter saving code.
9B0727 Copper code reorganized; speedup code rewritten. Can now be
enabled with a GUI setting.
Fixed the delayoffset stuff.
9B0725 AGA sprites, and some patches to sprite/playfield collision code,
mostly by Toni.
Fixed a small sprite restore problem; added missing code to map
fastmem banks when restoring them.
Some more state saving updates from Toni.
9B0724 Fix a nasty bug in the copper SKIP instruction introduced by recent
changes.
Update the FAST_COPPER code. Not quite enabled yet.
More work on the memory configuration stuff.
Fix CPU type writeout in cfgfile.c (taken from WinUAE source).
Move the WOC demo BPLCON0 fix to compute_toscr_delay (Toni).
Added Toni's new disk patches, which include HD disk support by
Adil Temel.
Rewrote the memory and audio save/restore code.
Mask DDFSTOP with 0xFE, not 0xFC.
9B0723 Yet another new and correct copper state machine (this time for sure)
Fix some AGA problems in DDF speedup code.
In gencpu.c, branch insns return a hardcoded cycle count; this had
not been updated for the CYCLE_UNIT stuff. Fixed.
xwin.c: If mouse is grabbed, we don't need mousehack.
Don't clear audio state if produce_sound == 0; this causes problems
if we want to turn the sound back on.
If an audio channel had a period of PERIOD_MAX, allow AUDxPER to
set its evtime back to a reasonable value.
Massive cleanup of memory initialization code; it will now use changed
prefs on reset. Added some memory options to gtkui.c.
Added Toni's state saving code, then added gtkui options and code to
initiate saving/restoring.
9B0722 filesys.c: Fix writeout of hardfile params (Bernie [2])
Add an A1000 Kickstart disk loader (Gerald Schnabel). Got rid of
the automount_uaedev code; we can detect the Kickstart version and
do the right thing.
Deleted a few unused variables (Toni)
Avoid aborting in decode_ham if Amiga code turns on the HAM bit but
has too few bitplanes (found by Toni).
Make the dummy mem bank return other values than 0; helps some
stupid memory detection code.
Implemented a little exec task lister for the debugger.
Added new debugger commands from Mark Cox. Improved his copper list
debugger by adding recorded timing information to it.
MOVE16 fixes from Gwenole Beauchesne.
xBCD fixes by Maik Qualmann, with some additional flag fixes by myself
(ABCD & SBCD behave exactly like on a 68000 now; dunno about NBCD).
9B0520 AGA bscan2 fixes and disk.c kickstart speedup fixes from Toni.
Remove bogus changes I made to one of Toni's earlier disk.c updates.
Call RethinkICRA/B from INTREQ (suggested by Toni).
Properly save mixed_stereo setting.
NEGX uses X and Z (Bernd Roesch).
Danish keyboard support (Jesper Bojesen).
9B0311 Repair "emulated but no output" sound setting.
9B0310 Fix massive bug introduced in do_cycles_slow with the rescaling
changes.
CLXCON logic updated for AGA (Toni). Change meaning of collision_level
and add support for it in cfgfile.c.
9B0309 Fix problem where a fsdb file could prevent deletion of otherwise
empty directory discovered by Torsten Enderling.
Rescale return values of CPU emulator functions.
9B0225 Undo parts of the audio changes that made the "accurate" setting the
default.
9B0221 Make fsdb_unix compile again.
9B0219 Fix ddf for cases where start isn't aligned to fetchunit.
Fix some problems with the sound code going into infinite loops or
crashing.
Try to re-add Toni's ddf delay fixes properly.
Added a fix from Krister Walfridsson for X11 SHM code.
Rename OBJECT_NOT_FOUND to OBJECT_NOT_AROUND (not sure why, but the
win32 port does this; Fellow picked it up as well...)
Give in and allocate ainos with xcalloc.
Import fsdb_win32 code from Fellow.
Some tidyup and fixes in fsdb code.
Lose the lastdiv10 variable, and update CIA timers when reading them
(mostly by Bernie [2] Meyer)
Move reset_uaedevices and get_new_device to filesys.c. Add extra
parameter to get_new_device.
9B0213 Fix mouse pointer jumping bug in X11 code (Ralf Hoffmann)
Scaled event handling by a factor of 512. This allows more accurate
sound output frequencies, as well as more fine grained CPU speed
settings.
Implemented totally untested emulator side AHI support.
9B0211 Partially reverted changes made to the audio event code in 0.8.0.
Implemented "mixed" stereo.
9B0210 Fixed invisible sprite bug - sprite_width got a new meaning, and not
everything had been updated.
9B0121 cycles => get_cycles () (from Bernie [2] Meyer's JIT patchkit)
9B0120 Final bugfix in speedup code (plfleft got set too early).
9B0118 Fixed SPEEDUP code for AGA. Speedup now starts when fetch_state is
fetched_plane0.
9B0115 First batch of AGA playfield changes (Toni & myself).
9B0110 Small fix for the m68k_run macro (Bernie [2] Meyer)
9B0109 Use ntscmode from prefs structure (Dwayne C. Litzenberger)
Some 040 FPU fixes (Bernie [2] Meyer)
Delay DSKREADY a while; fix other small disk bugs (Toni Wilen)
9A0902 F0FF10 is now a puts () calltrap.
9A0830 Add some missing initializations in filesys.c, thanks to debugging by
Harald Frank.
9A0827 Fix a crash with framerate != 1.
Don't allow programs to see left & right or top & bottom simultaneously
with the keyboard joystick replacements. (Gee, games on the CPC and on
the Amiga actually have something in common - some of them crash when
the joystick is pushed in too many directions at the same time...)
9A0825 Put in the new sprite code. This has existed for many months but
I've only now found the final bugs.
New version of Bernd Meyer's special_mem code. Also add his
set_special/unset_special code, the noflags changes for gencpu,
and a fix for cpuopti's string matching.
Tiny clarification in table68k.
Add 68040 support from Basilisk.
readcpu.h is now included from newcpu.h.
9A0824 Rather massive overhaul of the DDF code. Many other timing fixes
(copper state machine mostly) (Sam Jordan and myself)
Get rid of stupid optimizations in color recording.
Synchronize CPU and copper in custom_wget.
9A0816 Introduce variable "special_mem", set it in each memory handler
that doesn't work on real memory (Bernd Meyer).
9A0815 Fix a really stupid bug in cfgfile_strval.
Nonfunctional support for switching between windowed/fullscreen modes
in gtkui.
Add (semi-broken) support in the debugger to create a trace logfile.
Take out most port-specific flags handling; x86 version kept with
slight name changes to indicate that this is code is suitable for
other ports as well. Took out HAVE_GAS while I was in configure.
9A0811 Fix the line doubling slowdown.
9A0809 Software autofire.
Remove one line from Makefile.in in the hope it will fix the build
errors people are seeing.
9A0807 Tighten up some minor aspects of spcflags handling.
Fix an AGA bug in customreset.
Set default CPU speed to approximate a A500. Tweak gencpu so that the
timings for this are more accurate.
Ignore T0 bit if not emulating a 68020.
Add an option to set the number of emulated floppy drives.
Improve the mfmcode function a bit. Faster and more accurate.
More SCSI patches from Patrick.
Add gui_data structure from WinUAE. Turn on gui leds again.
9A0725 Fix incorrect define of m68k_run for non-x86 systems (could have
sworn I already fixed that).
9A0723 Some SCSI patches by Patrick Ohly (which I got two months ago... oops)
Filesystem fixes from Brian.
AGA updates from Toni.
9A0627 Apydia loader fixes from Toni.
9A0611 Fix bug in filesys.c causing in-use ainos to get discarded. Thanks
to Brian for the analysis.
9A0608 Added some disk.c changes from Toni and a crude hack of my own to
speed up disk accesses done by the Kickstart.
9A0330 Change blitter not to translate memory addresses to native. Had to
disable 32 bit blits.
Floppy code changes (Toni Wilen)
Delete GGI port.
Fix toggle_inhibit_frame (Brian).
9A0228 Some WARPUP fixes, and changes to accomodate broken Amiga gzip (Sam
Jordan).
9A0221 Tweak POTGO a bit. Seems to work with BC Kid now.
9A0220 Fix off-by-one errors in expansion.c (Toni Wilen).
Remove AGA checks in DDFSTRT/DDFSTOP (Toni Wilen).
Turn off/restrict some warning messages.
9A0209 Fix some problems where the blitter nasty flag wouldn't ever get reset.
cia.c: Set all parallel port related bits to 1 when reading.
9A0208 gencpu.c: Fix saved PC for division by zero exception (found by Sam
Jordan).
9A0131 update_copper: Mask until_hpos properly.
Delay values are masked to 3 bit in hires mode (Sam Jordan).
9A0102 Only delay horizontal copper wait if vertical position matches exactly.
Tweak vblank end position for sprites.
Calculate playfield borders more accurately for case where we have
sprites.
9A0101 Reintroduce ev_copper; use it sparingly for longer waits within a
single line (but _not_ to time reads).
Fix a dumb bug in yesterday's changes that screwed up scrolling.
991231 drawing.c: Cruftectomy. genp2c.c: Gone. X86.S: mostly gone.
991229 Always use NTSC vblank_lastline for sprite purposes.
Make sprite logic recognize vertical stop even if vertical start has
not been reached (found by Sam Jordan).
Prevent move2c/movec2 instructions from incrementing the PC if they
raise an illegal instruction exception (found by Toni Wilen).
991212 ncurses port compiles again.
Disable serial interrupts in custom.c; they break things.
991208 Add a missing decide_line call in update_copper_1.
991206 Fix copper emulation to use state machine figured out by Sam Jordan.
991205 Fix event table corruption in disksync_handler.
991113 gencpu.c: Fix a problem with BTST.
991110 fpp.c: Initial set of changes merging code from Lauri Pesonen.
991024 Add missing type in m68k_run1.
Divisions by zero clear overflow bit.
991023 Fix compilation problem for ! HAVE_STEREO_SUPPORT.
991022 Rewrite disk read code to transfer some DMA words every raster line.
fpp_movem_index1 and fpp_movem_index2 were reversed (Brian King, Sam
Jordan).
Fix accuracy of fpp fix insns (Sam Jordan).
Allow ports to define their own FP 68881/host conversion functions (Sam
Jordan).
Get rid of all the HAVE_GET_WORD_UNSWAPPED code.
Fix prefetch for insn opcodes (Sam Jordan).
Fix call insn syntax in X86.S.
Tidy up sound interpolation support.
Readd old command line arg parsing.
Change "long unsigned int" to "unsigned long" in a couple of places.
Use Sam's version of the filesys.c fixes (action_parent_fh,
action_change_mode).
Fix a place in disk.c where a mfm buffer was zeroed instead of 0xaa'ed
(Sam Jordan).
991006 CPU emulator fixes by Christian Bauer
tui.c compilation fixes by Christof Petig.
Fix operand in one insn in X86.S (Brian).
zfile.c fix for filenames with embedded spaces (Ingo Ruhnke).
linux-ppc configury patch (Holger Jakob).
s,static __inline__,STATIC_INLINE, (Sam Jordan).
cfgfile.c: Don't use "t" modifier in fopen (Sam Jordan).
serial.c: Don't close file if fd < 0 (Sam Jordan).
filesys.c: Open files on readonly devices with O_RDONLY (Sam Jordan).
Fix bugs in parent_fh and change_mode actions (Sam Jordan).
WARPUP patch (Sam Jordan).
990621 Initial version of Richard Hoffmann's sound interpolation patches.
Fix a crash in action_set_comment.
De-inline 68k trace code.
990508 Fix rdtsc asm statement to show that edx is clobbered.
gtkui.c: Add pause button (Patrick Ohly)
configure.in: Check for -mpreferred-stack-boundary compiler option
and use it if found to set a sane value.
990429 X11 patches by Patrick Ohly.
Filesystem code extended to keep a simple database with information
about each file that is not representable on the host FS, such as
script/pure bits or filenotes.
990417 Bits and pieces merged from the Win32 port; mostly options stuff. Got
rid of getopt; added chipset options to prefs structure.
990411 Patches by Patrick Ohly: SCSI support and timehack tool.
990410 Applied easy parts of Toni's latest AGA patches.
990315 Attempts to fix Picasso crashes in SVGAlib version.
990216 picasso96.c: Some optimizations.
cfgfile.c: Save target specific options. Allow simple/smart choice
for centering options. Delete mount_data junk, substitute immediately.
Whitespace handling fixes. Fix config_description typo.
m68k flag handling redone.
990212 Implement rotate instructions without loops. Some other m68k
optimizations.
Some configure.in fixes.
990122 gtkui.c: Fixes for gtk 1.1.13.
990113 genp2c.c: Don't include custom.h.
990109 Some fixes in cfgfile.c. Make svga.c compile again.
981229 Miscellaneous fixes in the new config file stuff.
In config files, allow 68ec020 as CPU type, and get rid of 24 bit
addressing option.
Make the get_disp_ea non-inline.
SGI sound support (Ari Heikkinen).
More updates by Brian:
audio.c: Handle frequency, too, when changing sound prefs. Do some
work in update_audio even if not generating sound output.
filesys.c: Request 50 buffers in our parampacket.
Assorted right control key fixes.
Some updates in od-win32 (not nearly done...)
981228 Config file and option handling redone; based on work by Brian.
Rename UAEn: devices to DHn: (Brian).
filesys.c: Implement ACTION_CHANGE_MODE, ACTION_PARENT_FH; add support
for variable hardfile blocksizes (Brian).
Some Picasso96 updates (Brian).
981226 Win32 fsusage.c fixes; zfile bug fix; gui_fps addition (Brian).
981221 Fix gtkui to work with newer versions of gtk.
Fix gencpu so that FPU emulation doesn't crash when unswapped word reads
are available.
981129 gencpu.c: Delete all the queue_amode stuff again.
xwin.c: Allow switching between DGA and window mode (Marcus Sundberg).
DGA seems broken in X 3.3.3, however :(
981011 Teach cpuopti.c about epilogues that increment esp by popping.
980930 Add BSD socket code (Mathias Ortmann).
980923 filesys.c: Implement FH_FROM_LOCK (Brian King)
980823 xwin.c: French keyboard patch (Raphaël Poss).
980810 Fix RDTSC detection (Raphaël Poss).
newcpu.c: Patch by Brian King to display what kind of CPU table is
built.
980716 More AGA patches: use new macro GET_PLANES to calculate number of
bitplanes from BPLCON0; adapt the copper code; add BPLPT[HL][78] and
BPLDAT[78] (Toni Wilen)
980715 Change sd-uss/sound.c not to keep a file open in setup_sound, to
support reconfiguration.
980713 Fix m68k detection in configure.in. Clear execbase after allocating
chipmem (Holger Jakob)
od-dos update, tui.c patches (Gustavo Goedert)
Get rid of --enable-sound, always enable sound.
Make svga.c compilable.
980712 md-ppc-gcc patches (Holger Jakob)
980707 gtk ui: Better CPU speed selection.
Move initializations from add_filesys_unit to set_filesys_unit.
980706 AGA patches by Toni Wilen: Call calcdiw when changing fmode; fix
references to bplcon variables to go through dp_for_drawing; ifdef out
some code that's too hard to fix for now.
"Fix" the AGA color code. In pfield_linetoscr_aga, add lframe_end and
diw_end parameters and use them. Add some fill_line code for AGA. Make
sure no code touches acolors if [AGA_CHIPSET != 0]
New function finish_line_aga.
980705 drawing.c/custom.c: Get rid of line_changed, replace with a single
variable thisline_changed. Pass it to hsync_record_line_state and
evaluate it there. Get rid of BORDER_PREV and BORDER_NEXT states;
add LINE_BLACK/LINE_REMEMBERED_AS_BLACK to implement scanlines option.
Remove code in pfield_draw_line that checks line_changed.
980702 filesys.c: New function move_filesys_unit.
Win32 GUI fixes.
980701 gtk UI beautification and code cleanup (Michael Krause)
Beginning to make audio code run-time configurable (mostly by Michael
Krause)
Fix off-by-one errors in memory check handlers (Jake Hamby)
configure: Add AM_CYGWIN32, AM_EXEEXT and AM_MINGW32 and fix some Win32
configuration problems.
genp2c: Fix symbol name braindamage.
md-i386-{gcc,watcom}.c: Don't do machdep_init when [_WIN32].
Many Win32 compilation fixes.
filesys.c: Attempt to fix the mount code chaos.
980629 MOVEP bug fixes (Philippe Gerin)
Comment out code using readdir_r again.
980628 gencpu.c: Generate an end label only when it's needed.
configure.in: Check for windows.h, ddraw.h, sys/utime.h; check sizeof
__int64; check whether a small DirectX program compiles; check for
Watcom C; don't do GNOME_FILEUTILS_CHECKS when compiling on Win32
without GNU C; use AC_EGREP_CPP in some places instead of compiling a
file by hand; check for GAS .p2align feature; check for USE_UNDERSCORE
with a small test program; add code to set up od-win32/md-i386-watcom
directories when appropriate.
genp2c.c: Use GAS .p2align feature; don't generate .type directive.
Rename md-*/memory.h to md-*/maccess.h.
More fixes in Win32 code.
Add wcc.sh and wrc.sh, two scripts to make it possible to use the
Watcom C compiler and the resource compiler in a Cygwin32 build
environment.
980626 Change zfile.c not to use fopen_del.
980614 Delete ihf_sem stuff.
picasso_refresh now nonstatic and called by check_picasso after a
notice_screen_contents_lost call.
More functions to access filesystem mount information.
More Win32 code.
980613 Use an AC_TRY_LINK block to check for libpthread.
980611 Rename lockscr/unlockscr to gfx_{lock,unlock}_picasso and add new
functions lockscr/unlockscr which are now called by drawing.c.
xwin.c: Clear picasso_invalid_lines in graphics_subinit and when
doing an XPutImage for a refresh.
New function reset_all_systems, which is a bit misnamed at the moment
because it only resets the filesystem. Called from m68k_go when a
reset is needed.
In filesys_prepare_reset, examine unit_pipe instead of self to
determine whether a unit has a thread that needs to be killed. Move
the reset_state and reset_sync_sem variable to UnitInfo so they are
available at all times.
Don't need to call finish_drawing_frame if we do a reset, it was
done a couple of lines earlier.
In uae_reset, do nothing if any reset or quit operations are in
progress.
Make DMACONR static.
980609 Add memory size fields in struct uae_prefs. New variables
allocated_xxxmem for every block of memory that holds the actual
amount currently allocated, copied from the preferences at allocation
time.
Create a new structure "uaedev_mount_info" to hold filesystem mount
information. Add a pointer to one of those in struct uae_options,
and copy it from currprefs to a filesystem private place when
starting the filesystem threads to a work area.
Terminate filesystem threads during a reset, and restart the whole
filesystem code afterwards so that prefs changes are noticed.
980608 If check_prefs_changed_gfx returns nonzero, or if we switch from/to
picasso mode, call notice_new_xcolors and notice_screen_contents_lost.
Delete the frame_do_semup crap.
980606 Create config.h link in configure, not in Makefile.
980604 xwin.c: No longer need picasso_max[wh]. Improve picasso invalid lines
code a bit more. Fix some dithering bugs.
gtkui.c (add_checkbox_widget, add_radio_widget): New helper functions.
Patches by Marcus Sundberg:
Make X11 picasso clut emulation mode work in DGA
gfxutil.c (setup_dither): Free redvals.
980602 Split out init_aspect_maps from reset_drawing.
Call check_prefs_changed_gfx from vsync_handle_redraw, and initialize
row and aspect maps if it returns nonzero.
Use an enum instead of integer values to communicate between
hsync_handler and hsync_record_line_state.
gtkui.c: Use gtk_window_set_title (Marcus Sundberg)
xwin.h: Add lockscr/unlockscr prototypes.
980601 Move check_prefs_changed_xxx into vsync_handle_redraw.
Make ersatz.c a little more crash-proof.
980531 New graphics specs 'a' and 'p'. Support them in the X11 version.
980530 sysdeps.h, posixemu.c: Change (char *) to (const char *) in the
arguments of some of the posixemu functions.
sysdeps.h: Delete getopt declaration. Include "getopt.h" in main.c.
aclocal.m4: add fsusage.c support from Gnome.
fsusage.[ch]: New files from fileutils, slightly modified to fit
into UAE and to add Win32 support. Adapt do_info filesys.c to use
it, and delete all the old cruft.
Some updates for the Win32 port.
980529 Patches for X11 version by Marcus Sundberg (Picasso invalid lines
optimization, XShm availability check, cleanup, etc.)
980528 Add field emergmem to struct vidbuf_description, and change
pfield_draw_line to use it.
980516 Patches by Samuel Devulder and Holger Jakob: update Amiga port,
add support for compiling cpuemu.c in seveal steps again, add
cheatsearch in the debugger.
980515 GGI patches (Christian Schmitt).
sd-mme: New directory (Marcus Sundberg).
Changes in the X11 version to support mixed DGA/normal binaries,
hotkeys, and mouse grabbing (Marcus Sundberg)
xwin.c: Copy a bit of code from Win32 port that constrains
lastmx/lastmy to real coordinates when ievent_alive.
980510 gencpu.c: Slightly better flag generation code.
picasso96.c (wgfx_flushline): Don't do anything if Picasso screen
is invisible.
980508 Don't disable GGI if we can't find svgalib.
newcpu.[ch], gencpu.c, md-i386-gcc/memory.h: Implement unswapped
word reads for opcodes.
980505 drawing.c: add missing #ifdef X86_ASSEMBLY.
980504 More BSD fixes from Krister.
xwin.c: Call XAllocColorCells for dithered modes. Don't set image_mem
in get_image, instead arrange for it to store the address in a pointer
chosen by the caller.
picasso96.h: Add a clut array to picasso_vidinfo.
picasso96.c (do_fillrect, do_blit): Use picasso_vidinfo.pixbytes
instead of picasso96_state.BytesPerPixel where appropriate.
(do_fillrect, do_blit, wgfx_do_flushline): Handle the case when the
Amiga-side buffer is a 256 color palette mode and the native buffer
is truecolor by looking up colors in the new picasso_vidinfo.clut.
xwin.c: Adapt to support emulating a palette display in truecolor.
Make tui.c compile.
980501 picasso96.c: Make sure there's an unlockscr for every lockscr call.
In SetColorArray, detect when no colors changed.
configure.in, aclocal.m4, Makefile.in: Use AM_PATH_GTK from gtk
distribution.
New field rgbformat in picasso_vidinfo. Set it in xwin.c and svga.c.
custom.c (mousehack_helper): Use Picasso screen offsets correctly.
980427 Call decide_line in DIWSTOP. Implement DIWHIGH register.
980426 filesys.c (get_nname): Don't allow Unix "." and ".." directories.
gencpu.c: Approximate the number of cycles per instruction. Make
generated functions return that number, and use it in newcpu.c in
the do_cycles call.
custom.c, drawing.c: init_hardware_for_drawing_frame must be
called from init_drawing_frame.
Move read_processor_time specific stuff to new file md-xxx/rpt.h.
md-i386-gcc/support.c: Try to detect whether the CPU has RDTSC.
newcpu.c: m68k_speed == 0 means approximate A500 speed;
m68k-speed == -1 means use frame rate hack when available. Some
changes to support this.
980425 custom.c: New copper code. Unfortunately not much faster than the
old one.
Get rid of some unused variables throughout.
filesys.c: Use readdir_r when available.
picasso96.c: In BlitPattern, correctly handle the pattern offsets.
missing.c: Get rid of getopt. Add GNU getopt instead.
In SPRxPTH, SPRxPTL, call decide_sprites instead of decide_line.
980421 custom.c: Add an extra argument, hpos, to plenty of functions, and
use it instead of calling current_hpos.
980420 BeOS update (Christian Bauer).
When enabling additional planes in post_decide_line, update
thisline_decision.bplcon0.
Tweak copper timings.
980419 Extend post_decide_line to handle cases where some planes are
enabled much later in the line than the others.
In pfield_doline_unaligned_h, don't increment dataptr.
Split custom.c, move drawing code to new file drawing.c. New header
file drawing.h for declarations of shared stuff.
osemu.h: Delete junk.
980418 gtkui.c: Don't crash if -G option is given.
audio.c, custom.c: Don't use the generic event handling mechanism
for audio emulation, the overhead is too high. update_audio: New
function, handles audio updates "on demand" or every hsync (Idea by
Petter Schau).
980417 Some cleanups in custom.c to make splitting it up easier.
980416 custom.c: Don't use bplhires in do_modulos.
980415 readdisk.c: Support FFS (Jim Cooper).
BSD patches by Krister Walfridsson.
configure.in, Makefile.in: More fixes for build != source directory.
Arrange to build p2c_x86.o when using md-i386-gcc.
sysdeps.h: Include limits.h.
Remove silly code that restricted possible version numbers.
980320 configure.in: Check for vprintf.
Make write_log a varargs function. Provide a write_log_standard
function that is used by most systems.
Refuse to compile with non-ANSI compilers.
gencpu.c: Rearrange some of the generated code to reduce register
pressure.
Release 0.7.0
980401 gengenblitter.c: Complete rewrite. Much smaller, much faster, much
better results.
Check for -lXi to support newer versions of gtk+.
980316 gencpu.c (read_counts): Two silly bugs fixed.
main.c (save_options): Don't write out 'a' if cpu_level < 2
configure.in: Changes to try to be compatible with Solaris /bin/sh.
980315 New UAE-Control version from Tauno & Cloanto.
Make configure set UNALIGNED_PROFITABLE for x86.
Get rid of "-o", add save command to tui.c and gtkui.c.
Fix some bugs in save_options.
980314 Many improvements in the gtk UI. Made CPU type changeable at run-time.
Make DGA && ! VIDMODE configuration compile. Kludge around the fact
that DGA misses colormap changes. Call XWarpPointer to try to avoid
the click-moves-framebuffer bug.
Make sure p2c.[ch] don't get deleted.
980313 Move all CPU_LEVEL handling from build68k.c to gencpu.c. In gencpu.c,
ignore all parameters and don't write to standard output, instead
hardcode all filenames and generate them all at once. Arrange to
generate code for all CPU emulator variants and to select them at
run-time.
Get rid of copper cheat mode, re-use "-C" option for CPU selection.
980312 In COPxLCL, mask out LSB (Axel Wefers).
newcpu.h: Always compile in both get_disp_ea versions with a different
name. Delete USE_POINTER option; always use pointer. Don't fill
prefetch in m68k_setpc, do it in callers where necessary. Compile in
two versions of get_ixxxx, with different names for prefetch and
non-prefetch. Change gencpu.c to use these appropriately.
Don't generate 16 small CPU emulation source files. With a decent
machine it's no problem to compile all the code in one file. Also turn
off -O3 for gcc, -O2 does fine since all the necessary __inline__s are
there, and the compiler takes less memory that way.
Don't include <linux/joystick.h>, duplicate some definitions from
there instead. Makes configure.in simpler, too.
Fix Makefile.in/configure.in and a couple of other places to support
building in a separate directory (sort of; not complete yet).
Remove p2c.[ch] and genp2c when doing make clean.
Delete code to support Tcl/Tk and XForms GUIs.
971215 More Amiga and BeOS patches from Sam and Christian.
971205 Move some more code from custom.c to audio.c. Optimize sample handlers
a bit.
Make RDTSC asm statement volatile.
971203 Latest GGI patch from Christian Schmitt.
Fix configure to enable zfile decompression for GGI target.
Fix mouse button mapping in ggi.c.
971128 Fix double definition of gfxvidinfo in custom.c.
Fix impossible register constraints in asm statement in newcpu.c
Sprinkle casts and rename some variables to make C++ compilers happy.
Add BeOS patches by Christian Bauer.
971125 More Amiga patches from Sam.
971120 Get rid of DONT_WANT_SOUND.
971119 Support USS sound not only on Linux (Douglas Carmichael)
Update Win32 and DOS ports.
Add Polish documentation by Tomasz Sienicki.
971116 Add a missing return statement in filesys.c (Brian King)
971112 Fix silly error in xwin.c.
971108 Add some more decompressors to zfile.c. Set FLOPPY_SPEED to 4.
971107 Make ggi.c compile again, fix a few bugs and add Picasso support.
971106 Fill prefetch queue after executing an encrypted ROM illegal insn.
971105 Initialize the sprites during customreset now that init_hardware_frame
no longer does it.
971104 Implement action_set_file_size as required by the specs.
SetPanning/picasso96_state: XOffset and YOffset are signed.
971103 xwin.c: Offer 640x512 and 320x256 resolutions in windowed Picasso mode.
Add a few more memory banks in memory.c (A3000 stuff - nonfunctional)
Don't map kickmem at address 0 if using replacement Kickstart.
Must fill prefetch buffer when calling calltraps or ersatz functions.
Write out hardfile parameters in write_filesys_config().
xwin.c: Support 15 bit displays.
971101 Add latest patches by Samuel Devulder. Improve hardfile support in
tui.c.
971031 Offer "-U" only ifdef PICASSO96.
Add support for mounting multiple hardfiles in any order.
Don't reset sprite state in init_hardware_frame. Instead, allow SPRxPT
functions to set the state to SPR_restart in the vertical blanking
area.
971030 Fix 8MB Chip RAM.
filesys_dev_storeinfo: New function and calltrap. Use it to store
per-unit data (which now includes geometry information) in the
parampacket. Modify filesys.asm to use it instead of trying to find
the values by itself.
971028 "AMIROMTYPE1" has 11 characters, not 0.
971027 Implement encrypted ROM features. Comment out non-working InvertRect
optimization.
971026 Fix some problems in PlanarToDirect and CopyColorIndexMappingA2U.
971022 Remove fixed paths in genp2c.c (oops...)
Some more XF86VidMode hacks.
Include target.h in sysdeps.h. Define PICASSO96_SUPPORTED for X11,
SVGAlib and Win32. Don't compile in Picasso support if this macro isn't
defined.
971021 xwin.c: Picasso code wants to use bit_unit, not bitdepth. Also correct
byteorder (it's B8G8R8A8 from the Amiga's point of view).
Fix Picasso InvertRect function.
Half-hearted attempt at 24 bit support in the X11 version, with some
awful code in custom.c.
Make the X11/VidMode version try to resize the screen for Picasso mode
switches.
971020 Delete option -5, make -4 take an argument. Disable z3fastmem and
Picasso emulation when using a 24 bit address space.
971019 record_color_change: No need to remember a color table if the current
line hasn't been decided yet.
Add XF86VidMode extension support.
Integrate Stefan's Zorro III support, add support for up to 64MB fast.
xwin.c: Refresh the whole Picasso screen if there are Expose events.
Fix module length calculation for *Tracker modules.
Use a 32 bit address space by default if CPU_LEVEL > 1. New option -5.
971018 Apparently it's not possible to turn on bitplane DMA in the middle of
the line, so call post_decide_line only when the number of planes is
modified, not in DMACON.
genp2c.c: New file, generates planar to chunky conversion routines.
Remove those which are now generated from custom.c.
971017 Make row_map an array, not a pointer to one.
Audio periods may not be 0, so initialize them to 65535 in customreset.
Implement "S" command in the debugger. Add a bunch of module detection
routines.
971015 od-linux/sound.c: If FRAME_RATE_HACK, reduce vsynctime a bit to give
the sound emulation more room to breathe.
971013 Merge with Brian's latest Picasso code.
971012 Fix a few more portability problems that showed up when compiling with
Watcom C. Also remove superfluous includes from some files.
Add md-i386-watcom directory. Update od-win32 with latest code.
Remove fast_memcmp routine.
Include penguin.h before xwin.h everywhere. Declare a few semaphores
for multithreaded setups in xwin.h. Move inhibit_frame stuff to xwin.h.
971011 gencpu.c: Don't generate labels without following statement. Don't
directly generate assembly statements if X86_ASSEMBLY, instead generate
code that uses macros defined in machdep/m68k.h.
971008 xwin.c, svga.c, custom.c, uaelib.c: Add picasso96 code. Add Picasso
selection to configure.
Move common variables (mouse stuff, gfxvidinfo, xcolors) from graphics
files to custom.c.
memory.c: custom chip area isn't supposed to be mapped at 0x200000. Use
dummy bank for now.
od-linux/joystick.c: Open different devices for different joysticks.
From Win32 sources: set vsyncmintime in m68k_go.
971005 genblitter.c: blitzero is initialized to 1, not to 0, so we need to
clear, not set it.
970928 Add another user interface for X11 using libgtk+.
970925 audio.c: For stereo sound, double all lookup table values.
Added (preliminary) win32.c.
970923 DISK_check_change: Should call gui_filename when ejecting.
970922 Fix od-linux/joystick.c compilation problem with recent kernels.
Merge results of the UAE meeting:
New serial code (Stefan Reinauer)
Expansion "test card" support (Stefan Reinauer)
New GGI code (Christian Schmitt), also configure/Makefile changes
to make it compile.
Fix 68020/FPU code.
Call do_mousehack before every read of the mouse position to get more
accurate values.
Add sd-file directory; add support for it in configure.
Add stereo support in audio.c, od-linux/sound.[ch], and main.c.
Fix copper problem: call decide_line in calc_copcomp_true; and if the
copper wouldn't wait normally (position reached), but the hardware is
fetching data in Hires 4 plane mode, delay until ddf stop.
t-ascii.h: Asciiart target understands "-x" parameter.
970823 gencpu.c [X86_ASSEMBLY]: Turn input constraints for scratch into output
constraints.
970626 Fix 24 bit address space logic (Mathias Ortmann).
Raise exception 3 for Bcc.L insns if CPU_LEVEL < 1. Reported by Stefan
Ropke.
Remove USER_PROGRAMS_BEHAVE for normal emulator. Remove hacks to
generate expanded CPU functions for specific opcodes. Replace with code
that reads an instruction count file and sorts gencpu output by
frequency of the called opcodes.
970625 Calltraps (at least those with call_m68k calls in them) were broken by
the CPU emulator changes. Now use Axxx opcodes as calltraps.
Include pOS port by Samuel Devulder.
970624 Solaris sound patches by Manfred Thole.
gencpu.c: The generated code shouldn't just check for odd addresses,
it should also call Exception...
970622 gencpu.c: don't emit return statements; make code jump to a function
end label instead. Make genamode() check for odd addresses, also reduce
code duplication. Interpret getv parameter so that data is fetched if
getv == 1, and the address is checked if getv != 0. Remove exception 3
checks from get_long() etc. Get rid of buserr.
cpuopti.c: Make a few more checks whether optimization is possible. Add
code to undo GCC's epilogue scheduling.
newcpu.c: Split all the specialflag handling into new function.
Implement -w option as in Win32 port. tui.c: add it to misc menu.
907621 Fix yesterday's CPU emulator changes. Make cpuopti aware of functions
with two RET insns. Make sure that NO_EXCEPTION_3 and
NO_PREFETCH_BUFFER are on when emulating a 68020.
Add usage information for src/dst operands to table68k.
Implement CIA A OVL bit properly.
970620 New NeXTwin.m from Ian. Fix a number of prefetch bugs in gencpu.c.
newcpu.h: m68k_incpc(), get_i{byte,word,long}: New function/macros.
Also add oldpc parameter to m68k_do_[bj]sr(). gencpu.c: use all this.
CPU functions now don't use nextiword; they keep the PC constant and
increment it with the right value at the end.
If chipmem_size > 2MB, disable fastmem.
In configure.in and od-linux/joystick.c, use ljoystick.h as name for
the replacement file for a broken <linux/joystick.h>
configure.in: Check for post-gcc-2.7.2 option "-mno-schedule-prologue"
and use it for compiling the optimized CPU files if it exists.
970618 Rename hardfile.device to uaehf.device to avoid name clashes. Suggested
by George Nicolaidis.
Reimplement CPU prefetch by making gencpu aware of it so it generates
code that fetches data from the right places automatically. Also reduce
prefetch length to 4 bytes.
970612 memory.h: Include osdep/memory.h. missing.c: implement xmalloc().
Throughout: use xmalloc instead of malloc.
Apply changes by Sam Devulder.
970608 Fix ncurses.c so that it links. Fix configure so that it can be enabled
Get rid of spixstate by implementing a new sprite drawing method.
970607 do_copper_cheat(): New function, Implement inaccurate, line-based
copper as an option (-C). calc_copcomp_true(): Fix possible hr 4 plane
bug (split the wait into several pieces in this mode).
Allow 0 bytes for fast and bogomem (to override .uaerc)
970606 Fix some bugs in transdisk, and make it compile with SAS C (Joanne Dow)
Stupid compilation fixes: Get rid of "==" in shell scripts, check that
B300 and friends are defined in serial.c before using them.
Implement blitter prefetch. Fix silly typo in main.c that prevented
immediate blits.
init_ham_decoding(): new function, handles case where the first few
pixels of a HAM display are outside the window.
970605 disk.c: Get rid of need_read. Save cylinder/track number for the data
in the MFM buffer for each drive. Force rereads on disk insert and
write operations. In drive_fill_bigbuf(), do nothing if saved data
matches current. Fix disk change logic: give the program time to read
the change bit a couple of times before inserting a new disk.
custom.c: Fix really subtle bug: when deciding a line as border,
plfstrt/plflinelen were not set up properly, which could confuse
post_decide_line(), and eventually there would be lines decided as
playfield with plfstrt == 0, plflinelen == -32 ==> Bang. A related
bug was that setting DDFSTRT to 0 would result in both plfstrt and
plfstop having value 0.
gfxutil.c: Fix bug that could cause color values to go out of bounds.
xwin.c, svga.c: When dithering, color values were not doubled properly.
970604 filesys.c: when deleting an a_ino, remove it from hash table (Mathias
Ortmann). In do_find(), if creating a file failed and we didn't have
an a_ino before, call delete_aino on the one we created.
More configure changes: Add $X_PRE_LIBS and $X_EXTRA_LIBS in some
places. See if MIT-SHM support for X will compile and link. Always
compile it in if it will. Turn DONT_WANT_SHM and LOW_BANDWIDTH into
run-time options (-T, -L). Use single line buffer when dithering and
in low-bandwidth mode (but in all cases there's a full buffer for the
X image).
memory.c: Don't map in custom regs at 0x200000 if chipmem_size > 2MB.
Split up init_sound(): new function setup_sound(). Make "-B" accept
minimum and maximum values as in Gustavo's latest patch. Add code to
tui.c to support changing buffer size, number of bits and frequency.
970603 If using compiler, define NO_EXCEPTION_3 and NO_PREFETCH_BUFFER.
(bugreport by Raphael Poss).
GGI support from Christian Schmitt/Stefan Reinauer. More serial patches
from Stefan. 3 button joystick patch from Mathias.
Add linemem field to gfxvidinfo, for systems that don't want to keep
a buffer of the full screen. Adjust custom.c to use it instead of
bufmem if it's not NULL (mostly by Mathias). svga.c, xwin.c: Use single
line buffer in some cases. xwin.c: If USE_DGA_EXTENSION, undef
LOW_BANDWIDTH. Move test of DONT_WANT_SHM after inclusion of config.h
Make configure.in a bit more structured.
Move colormodes array to main.c.
970602 gfxlib.c: Start implementing layers workalike.
md-i386-gcc/support.c: Don't mix sleep and alarm. (Petter Schau)
970601 Remove may_run_compiled. Print error and abort if m68k_go is called
twice.
Fix yesterdays bugfix in svga.c.
Change FRAME_RATE_HACK so it tries to average the times a bit.
Re-implement a call_m68k function in autoconf.c. The new version
works by doing some heavy setjmp/longjmp magic and switching stacks.
With this, it's even possible to call things that Wait(), so use
the new functionality in gfxlib.c to call LockLayer() in WritePixel().
970531 Turn some inline functions in memory.h into macros. Get rid of
get_along and get_aword. Implement CIA A OVL bit.
main.c: Add missing close_sound() call.
Remove INTEL_FLAG_OPT, use X86_ASSEMBLY for everything.
tui.c/svgancui.c: Implement scrollable menus. Add code to select
video mode from a given list. Add "graphics_setup" call to graphics
specific files. Use it in svga.c to build a video mode menu.
Fix bug in svga.c that would crash non-linear modes.
disk.c needs to include gensound.h and sounddep/sound.h.
Fix bug in fuzzy_memset. In pfield_init_linetoscr, always adjust ddf
values if lores hack is being used.
970530 Apply some patches by Samuel Devulder.
970529 filesys.c: In "Houston, we have a problem" case, do not only delete
the oldest ExKey, but also use it instead of random memory for the
new one. Attempt to reduce the number of lost exkeys by allocating
them in action_examine_next instead of action_examine_object.
Initialize the "uniq" field of unit->rootnode.
Attempt to speed up sprite drawing loop.
Implement sprite<->sprite collisions.
Get rid of -Wtraditional.
970524 New config option NO_PREFETCH_BUFFER. Emulate 16 byte prefetch if
unset.
For exception 3, the stack frame seems to be:
(saved SR).w, (faulting address).l, (faulting instruction).w, 0.w,
(pc at fault time).l. Make everything that could generate this fault
handle it properly. That got Cybernoid II working!
970523 Makefile.in: Make sure $(DEBUGFLAGS) is used for CPU emulation files.
memory.c: Don't map chipmem at 0x200000, use custom chip bank for now.
970507 configure.in: Mutate ac_cv_c_inline=no to ac_cv_c_inline=
Check for tcgetattr, <sys/termios.h>, cfmakeraw, <sys/ioctl.h>
Check for sem_init in -lposix4 (Marc Zimmermann)
serial.c, cia.c, cia.h, serial.c: changes (Stefan Reinauer)
Make disk gap 360 (Michael Krause)
970404 In configure, check for features.h before including it in test program.
970401 New option -4. Bugreport by Mirko Viviani.
970324 Petter Schau says the exception frame for Bus Error and Address Error
is 14 bytes, not 6, on the 68000. Change Exception() accordingly.
It's *** OUCH *** day! Make hardfile beginio return the correct value.
Also load execbase before calling ReplyMsg().
It's *** OUCH *** day again! The filesystem asm code was an odd number
of bytes, leaving the hardfile code unaligned.
970318 custom.c: Rename spron to sprst, and use new variable spron to indicate
for which sprites the sprite pointer registers have been written. Don't
do sprite DMA if spron==0. (The problem was that some programs write
SPRxCTL and then SPRxPT, which used to set the sprite state to
SPR_restart, but it must be SPR_waiting_start.)
Turn a few m68k_reset()s into uae_reset()s.
New variable nr_joysticks. Delete joystickpresent. New arg "nr" for
getjoystate() and read_joystick().
New extra keycode AK_RCTRL. Handle multiple joysticks & different key
replacements in keybuf.c/custom.c. Make tui.c handle all the settings.
970310 od-linux/joystick.c now compiles again without the joystick header.
Fix some problems in configure; also check whether [n]curses.h defines
attr_t. Keep count of warnings and errors during configuration and
print a hopefully helpful message at the end.
disk.c sanitized by Mathias Ortmann.
Change the replacement getopt around a bit.
execlib.c, timerdev.c: Files removed. This will never be compatible
enough. Also remove related code (several SPCFLAGs, etc.)
Make main.c a bit nicer by introducing additional defines for the t-*
files. Also canonicalize the .uaerc file on all systems, eliminating
lines starting with '#' in the process.
Remove code in autoconf.c to set up 8MB chip; move it to filesys.asm.
Try doing the copper end-of-line hack in copper_memory_cycles().
Disable the copper speedup hack.
970309 Add a small, dumb hash table to struct _unit to speed up repeated
aino lookups. Delete aino in action_delete_object(). Move children in
action_rename_object(). In action_examine_next(), call new function
lookup_child_aino_for_exnext() which behaves more or less like
lookup_child_aino(), except it uses new function get_aname() to
translate filenames.
More portability fixes. New links set up in configure: sounddep,
target.h. All machine-dependent and joystick code removed
from os.c, renamed to audio.c. os.h renamed to audio.h, joystick stuff
moved to joystick.h. New directory targets/.
missing.c: New file.
970308 Rewrite filesystem. Now it keeps one unique "a_inode" structure for
every object in the filesystem. This contains Amiga name, native
name, Amiga permissions, lock counts and several links for building
a tree structure. Keys are now made only for files which need a fd
and a file position.
Treat invalid locking modes als shared.
Comment out the code using readdir_r because that function appears
to be broken in glibc-2.0.1.
Clear RES2 in all packets before handling them.
Give mousehack the same task priority as the input.device.
Fix (?) some silly bugs in disk.c.
970307 Include some Acorn port code from Peter Teichmann.
Yet Another Serial Diff from Stefan.
970306 filesys.c: Don't just crash if lookup_key() has no success.
action_find_write() is supposed to create the file if it does not
exist.
970305 More DOS patches. Make the Makefile parallel-make safe.
svgancui.c: Do cyclic search if character is typed in file selector.
my_alphasort(): New function (work around glibc bug)
custom.c: Fix error in yesterdays change.
filesys.h: New file.
970304 New serial patch from Stefan and Christian.
Remove the assembler code to generate inputevents. Instead, add a new
Amiga C program ("mousehack") which does the trick. New function
mousehack_helper() in custom.c, activated by calltrap 0xF0FF70.
Mouse default is now always normal_mouse, not follow_mouse.
Do disk change checks only every 1/2 second. disk.c: Reverse
nodskchange to dskchange, and make sure there has been a step with the
drive empty before calling drive_insert() from DISK_check_change() (but
this _still_ doesn't work. Arrrghh).
970303 filesys.c: Initialize _all_ of struct _unit in startup_handler().
Remove message_lock and friends and use new variables cmds_sent,
cmds_acked and cmds_completed to determine when to send dummy messages.
Changed examinekey handling so that "dir all" on a large tree doesn't
crash anymore (it used to reuse the top-level exkeys which were still
in use after a wraparound). Don't allocate examinekeys if we're
examining files.
Check for readdir_r in configure. Use a wrapper my_readdir() around
either readdir or readdir_r.
Call filesys_reset() also from filesys_diagentry().
Get rid of most of uaelib.c. Now there isn't a library, just a calltrap
at 0xF0FF60. Changed uae_pragmas.h accordingly and recompiled uaectrl.
Added a bunch of "volatile"s in various places in filesys.c and