-
Notifications
You must be signed in to change notification settings - Fork 14
/
Release Notes.txt
729 lines (601 loc) · 27.1 KB
/
Release Notes.txt
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
Release 0.7.0.15
----------------
Fixed issues with TileEditor not writing to the tileset address.
Fixed asset loader issues with palettes in F256 mode.
Added second joystick - now A and B are available from menu.
Fixed issue with virtual joystick not accepting multiple buttons/key states.
Fixed issue with CPU window breaking for incorrect IRQ.
Second attempt at fixing BCD subtractions. The carry flag wasn't correct before.
** TODO: Users can now modify the CPU registers when in debug mode. The registers have a white background when editable.
** TODO: Implemented the various cursor modes and rates.
** TODO: Implement an IEC interface to connect via USB to XUM1541 (try using the SerialPort class?).
** TODO: Implement the joystick using a USB joystick (try using the SerialPort class?).
** TODO: Add resolution modes for Rev C and U/U+ machines, when switching board with the list.
** TODO: Implement CPU clock to count cycles for fast computers.
** TODO: Implement Timers using the number of CPU cycles that have elapsed. E.g. 16kHz == 393 cycles (6,293,750 / 16,0000).
** TODO: Add remote debugging capability for Calypsi compiler.
** TODO: Try to sort out the issue with the character sets in non-unicode installation.
** TODO: Saving basic files to emulated SD card often doesn't work or crashes the emulator.
Release 0.7.0.14
----------------
Added loading of 16x16 and 8x8 sprites in asset loader.
Fixed a bug with sprites not shown when posY >= height - spriteSize or posX >= width - spriteSize.
Fixed issue with WindowX and large tiles. Also fixed the off by 1 issue with small tiles.
When resetting the machine, reset the tilestride...
Fixed SBC (substraction) bug when in decimal mode and the subtrahend is larger than the minuend (difference is negative).
Release 0.7.0.13
----------------
Fixed annoying bug when importing sprites in Asset Window when in F256 mode.
Added dummy SNES controller - it only return $FF for every byte.
Adjusted tile scrolling for small tiles to account for overlap between SSX3 and X0.
Release 0.7.0.12
----------------
Merged the F256K2e flat memory fork - https://github.com/RetroPM/FoenixIDE
Fixed MemoryWindow issue for old machines, where paging would cause an uncaught exception.
Release 0.7.0.11
----------------
Fixed trivial bug where the directory list is empty if the SD Card folder has no sub-folders.
Release 0.7.0.10
----------------
Added handling of sub-folders in the SD Card device.
Moved the Revision Menu to left-align.
Release 0.7.0.9
---------------
PR #62: clandrew - Add --exec-breakpoint command line option for adding a breakpoint on launch.
Fixed the RTC not raising alerts correctly.
Fixed stack overflow issue with 6502 processor.
Release 0.7.0.8
---------------
PR #61: clandrew - Don't let the user "add watch" on an invisible element
PR #60: clandrew - Fix problem where new breakpoints don't "take effect" until after you pause the debugger
PR #59: clandrew - Show debugger's breakpoint address instead of hardcoded FFFFFFFF
Release 0.7.0.7
---------------
Fixed typo in CPU Window - Address was mis-spelled.
Fixed Gamma Offset for F256K.
Release 0.7.0.6
---------------
Added missing F256 kernel files: wget.bin and fm0*.bin
Release 0.7.0.5
---------------
Updated the readme file to include the F256Ks.
Added a message box when a file referenced in bulk.csv is missing from kernel files.
Release 0.7.0.4
---------------
Fixed the joystick handler for the F256JR - this uses VIA0.
Changed default SD card settings to 64MB, 2048 byte, FAT32.
Handling the AltGr keyboard key as the back tick `.
Release 0.7.0.3
---------------
Added Virtual Joystick support for the F256.
Fixed the RTC date and time to initialize from the PC clock.
Fixed the RTC increment methods to use BCD.
Fixed matrix keyboard handling. Matrix keyboard raises correct interrupt.
Updated the Keyboard device for F256 (PS/2 ScanCode Set 2).
Added FON_OVLY handling.
Implemented the Mouse Register for F256.
Release 0.7.0.2
---------------
When updating the release, remove previous installations.
Added the RTC to the Memory Manager.
Fixed the Asset Loader when in F256 mode.
Fixed the problem with incorrect resolution displayed when DY or DX set in MCR.
Added Fontset 1 handling from the MCR.
Release 0.7.0.1
---------------
In CPU Window, add a context menu to Save Source Listing. This is useful when decompiling an application.
In CPU Window, when adding a label, track the labels and addresses and replace in the source listing.
In CPU Window, when successive code addresses are not contiguous, then add a dashed line.
Fixed the BBS/BBR opcodes - it was using the operands in reverse order.
Fixed the display of BBS/BBR/RMB/SMB in the CPU window.
In Memory Window, added MCR buttons for the F256K. Buttons and tooltips are dependent on the board version.
Tightened up the IRQ handling in the CPU window. Now, when an interrupt is raised, the Program Counter is set to the IRQ handler.
I am also checking that IRQ Flag is allowing IRQ before allowing SOL and SOF to be raised.
Added third Interrupt Register for F256.
Clearing breakpoint list when Run button is pressed, to ensure the list of breakpoints is populated correctly. This is properly handling the "Step Over" case.
Added the Memory slots for F256 in Memory Window.
Fixed the Interrupt checkboxes in CPU Window to account for F256.
Adjusted to repaint the CPU Window upon interrupt/Breakpoint.
Fixed the tangled up MCR bits in the GPU paint routine for the F256 mode.
Release 0.7.0.0
---------------
Fixed bug in CPU for 65816 INC A when the B portion is non-zero.
F256K emulator now supports Math Co-pro functions.
F256K emulator now supports DMA functions.
The kernel can now be loaded with a bulk.csv file located in roms\F256 instead of a .hex file. The binary files most be located there too.
Added the debug port command $90 and $91 for boot to RAM and FLASH, respectively.
Add machine CHIP version and sub-version.
Implemented Start of Line (SOL) register for F256.
Flash using multiple bin files, based on CSV master file.
When uploading PGZ, PGX and HEX for the F256, execute the program on machine.
Added rectype 5 to HexFile.load to set the start address - this is used by the Calypsi compiler.
Release 0.6.0.21
----------------
Fix resolution menu and GPU such that it adheres to the machines MCR and the machine type. PR #50 and #53.
Fixed double menu-items checked for the resolution detection.
When switching resolution with the menu, also set the MCR bit to match.
Fixed buffer size bug in uploader when in F256 mode. PR #54.
Fixed crash when the user removes a sdcard directory or file... PR #52.
Update the F256's kernel with new firmware.
Release 0.6.0.20
----------------
Fixed defect #44 - (SD Card emulation) Endless looping directory listing.
Fixed defect #48 - (SD Card Emulation) File storage error while accessing files with more than 3 letters in the extension.
This fix is a new implementation of the VFAT long file names.
Release 0.6.0.19
----------------
Merged PR #46 - Block attempt to write read-only memory on F256
Merged PR #49 - Unblock F256K keyboard emulation on latest kernel
Merged PR #50 - Made scaling choices pixel perfect
Release 0.6.0.18
----------------
Merged PR #42: Allow right-clicking on the debug window to copy to clipboard.
Merged PR #43: Use dropdown for selecting the board mode instead of a button that linear searches.
Release 0.6.0.17
----------------
Added PR#38 - Fix crash that can happen when using some cluster+capacity combinations on F256
Added PR#40 - Add F256 RNG reg support
Added PR#41 - Remember user's setting for view size, and allow setting view scale from a preset list
Release 0.6.0.16
----------------
Fixed regression error - the CLI fix was undone.
Properly formatting breakpoint addresses after paste (Ctrl-V).
Fixed issue when deleting breakpoints.
Added PR#36 - Remember the user's choices for SD card settings.
Added PR#37 - Add SD card support for F256.
Release 0.6.0.15
----------------
Merged PR#34 - Establish compatibility with Mono on Linux.
Replaced the InputDialog with a native one.
Release 0.6.0.14
----------------
Fixed path issue when kernel is loaded from CLI.
Added tweak for Mono in GPU refresh.
Use Path.DirectorySeparatorChar instead of "\\" to be compatible with Linux.
Release 0.6.0.13
----------------
Applied fix "Fix appearance of Autorun Emulator check box"
Removed Game Developer Window and artifacts.
Release 0.6.0.12
----------------
Treat certain invalid opcodes on 6502 as NOP.
Fixed the MSI file to place the f256jr_font in the correct location.
Release 0.6.0.11
----------------
Add F256K matrix keyboard support.
Started to add missing NOP opcodes for the 6502.
Release 0.6.0.10
----------------
Emergency fix to address incorrect loading of resources when running the application from command-line.
Added the -v, --version command-line switches.
Release 0.6.0.9
---------------
Allow console output to be visible for command line users.
Replaced the --kernel options to accept valid .pgz, .pgx, .hex and .bin files instead of only .hex.
The --board option now accepts b, c, u, u+, jr and jr816.
The -h, /? and --help flags now display the usage.
Release 0.6.0.8
---------------
Fixed the interrupt checkboxes and the tooltips in the CPU Window to match the F256 or C256 registers.
Fixed an issue when loading .bin files - this now goes only to RAM, not devices.
Re-adjusted controls position in the Main and CPU windows and locked the forms.
Fixed issue when the machine was left in Jr(816) it would restart in C mode.
Changing the board version in the Main Window now is properly reflected in the CPU Window.
Release 0.6.0.7
---------------
Added new breakpoint window that will break upon detection of Program Counter and memory addresses read and writes.
Clean up of old dead code.
Closes issue #25: https://github.com/Trinity-11/FoenixIDE/issues/25 - support for .bin files as executable.
Added support for F256JR with the 65816 processor (thank you https://github.com/clandrew).
Closes issue #26: https://github.com/Trinity-11/FoenixIDE/issues/26 - crash when converting out of order lines in hex file.
When detecting the out of order lines, the LoadHex file will create a new block and change the cursor to the new address.
Added drag-n-drop for .bin files.
Release 0.6.0.6
---------------
Fixed sprite layer ordering for the F256Jr.
Fixed incorrect text mode in F256Jr.
The GPU now imitates the F256Jr FPGA bug - the tile attributes are offset by 16-bit.
Release 0.6.0.5
---------------
Interrupt handler for the Real-time clock (RTC)
Added .hex loading in asset loader.
Added a default font for F256Jr.
Fix the painting of layers in F256Jr.
Release 0.6.0.4
---------------
Fix the Uploader to disable the "Flash" checkbox when a non-bin file is selected.
Fixed the Foenix F256Jr kernel loading for @Gadget.
Release 0.6.0.3
---------------
Fixed tile editor when small tiles are used without stride.
Fixed blank asset list when adding assets from the Tools | Load Assets menu.
Fixed the problem with sprites leaking into the border when in F256Jr mode.
Fixed the Tile Editor for the F256Jr.
Release 0.6.0.2
---------------
Fixed CPU reading incorrect page when MMU is present in F256Jr.
Fixed LUT editing issue.
Fixed Tileset stride issue.
Removed MultimediaTimer and replaced with a native C# HiResTimer.
Added sprite functionality for the F256Jr.
In the Uploader window, when in F256Jr mode, the buffer size is 2K.
Release 0.6.0.1
---------------
Implemented tiles for F256Jr.
Fixed the issue when resetting the CPU, also reset the MMU and VICKY Layer Manager Registers.
Fixed RTC issue in F256Jr where the time was written in RAM.
Release 0.6.0.0
---------------
Fixed an issue where CPS/FPS display was showing zeroes after switching Board type.
Started to add support for the F256 Junior.
MMU is implemented.
Text and cursor display is implemented; bitmaps, sprites and tilemaps are not.
Interrupts for Timers 0 and 1, Keyboard and Mouse are implemented.
Release 0.5.6.10
----------------
Added kernel files for all current C256 Foenix variants. The kernel loader checks the machine type and loads the matching kernel from the roms folder.
Release 0.5.6.9
---------------
Fixed a bug with incrementing registers wasn't overflowing correctly.
Release 0.5.6.8
---------------
Added tool to generate PGZ files.
Updated the Uploader Dialog to allow for sending PGX and PGZ files.
Updated IDE start-up to accept PGX and PGZ files - from "Load Executable menu" and drag-n-drop.
Release 0.5.6.7
---------------
Attempt to fix the tile scrolling bug.
Release 0.5.6.6
---------------
When in debug mode, only redraw the display twice per second instead of 60 times in run mode.
Added support for small tiles 8x8.
Release 0.5.6.5
---------------
Fixed the Asset Loader to use *.tlm for tilemaps, instead of .tls.
Added the "Restart with Default Kernel" menu item to reload the default kernel, instead of the last program.
Changed the PCB Revision to EMB, EMC, EMU and EM+ for Rev B, Rev C, Rev U and Rev U+ respectively.
Release 0.5.6.4
---------------
Added 24-bit value to the watch list.
Release 0.5.6.3
---------------
Extended the Asset Loader to convert sprite sheets wider than 32 pixels. The sprites will be de-interlaced.
Added the "big tile" images in the Tile Editor.
Now, users can pick two tiles, associated with the left and righ button, to make drawing a little bit easier.
When resetting the CPU (from the Main window or the CPU window), if the SD card is loaded, reload the contents.
Release 0.5.6.2
---------------
Handle the BREAK key scan codes. Useful for stopping a BASIC program.
Fixed the tiles from bleeding into the right border.
Release 0.5.5.7
---------------
Added Zero button in Memory window to reset a page to zero.
Fixed Asset Loading - when LUT data already exists, we often ended up in an infinite loop, for 8bpp image. We now exit the LUT loop when the mask equals $C0 (only 2 bits).
Added an "Overwrite LUT" checkbox in the Asset Loader.
Updated the Game Generator to use the new VICKY "GENERAL" file.
Added specialized checkboxes to display which interrupt was triggered, in the CPU window.
Release 0.5.5.6
---------------
Fixed an issue that cause the emulator to crash when Video Address written in Vicky are not offset properly.
Added a "Show Memory" button to the Tile Editor.
Release 0.5.5.5
---------------
Fixed FPtoFixed conversion and overflow flag assignment. This was causing problems in BASIC816 for loops.
Release 0.5.5.3
---------------
Fixed the installer issue with the Start Link pointing to the user's programs, instead of the actual application.
Fixed several issues with the Game Generator.
Added color code editor for the Game Generator.
Release 0.5.5.0
---------------
Added the Asset Window and connected it to the Asset Loader (used to be bitmap loader).
Resources are now saved with the FNXML file and reloaded.
TileEditor saves its Tilemaps to assets now, instead of plain files.
Release 0.5.4.1
---------------
Fixed a bug in the SBC when using a 16-bit accumulator.
Removed the "Open Hex File (w/o Zeroing)" - the option was confusing.
Removed the silly blue border around the GPU control.
Fixed loading of breakpoints with the Foenix XML file.
Release 0.5.4.0
---------------
Handling Timer interrupts. Only the CHARGE registers are used to determine the interval. Minimum interval allowed is 1 millisecond.
Release 0.5.3.3
---------------
Fixed several issues with the tile editor.
Added a few more addresses to the Memory Addresses dropdown list.
In the Memory Window, when the user types an address, try to match it to an item in the dropdown list.
Release 0.5.3.2
---------------
Added the floating point (FP) processor.
Fixed the bug with TXS setting NZ flags.
Release 0.5.3.1
---------------
Fixed problem with overflow flag. This fixed the issue found in the SimplePrintf program.
Release 0.5.3.0
---------------
Fixed the tile editor to work with Vicky II.
Release 0.5.2.4
---------------
The border was getting displayed even when the register was set to 0.
Tiles were off by several lines and offset to the right.
Release 0.5.2.3
---------------
The checkbox to break on Mouse Interrupts was not handled.
Added mouse interrupts.
Update README.md typo.
Release 0.5.2.2
---------------
Fixed issues with BIT and transfers (TXA, TAX, TYA, TAY, etc) not setting the N and Z flags correctly.
Added writing to files, in FAT32 only so far.
Release 0.5.2.0
---------------
Added SD Card support for FAT32.
Release 0.5.1.0
---------------
Added tools to convert "bin" and "hex" files to PGX.
Release 0.5.0.2
---------------
Finally merged drone84's ISO changes.
Added ISO MBR and filesystem type detection.
If an MBR is not present in the ISO is no present, one is created, to match the filesystem type.
Verified that BASIC is able to load and save from/to FAT32 with 512 byte clusters.
Release 0.5.0.1
---------------
Added pixel doubling and high-resolution mode.
Added Master Control Registry button to the Memory Window.
Release 0.5.0.0
---------------
First implementation of Vicky II.
Release 0.4.2.0
---------------
Added SOL support.
Release 0.4.1.13
----------------
Fixed the tile editor issue: it required the bitmap bit set in MCR.
Fixed BCD addition for 16 bit integers.
Release 0.4.1.12
----------------
After running MVN or MVP, set the databank to the destination bank.
Calling SOF at the end of the Graphics Paint function. This appears to make things smoother.
Some minor optimization for text drawing.
Release 0.4.1.11
----------------
Fixed MCR bug: the graphics mode overrides the text mode. Text is only drawn when MCR & 7 == 1, 3 or 7.
Release 0.4.1.10
----------------
Fixed a few issues with the Tile Editor - now you can add tiles by dragging the mouse (instead of clicking).
Release 0.4.1.9
---------------
Fixed bug #11 - https://github.com/Trinity-11/FoenixIDE/issues/11.
Added the ability to add Watches from the CPU Window - it's much easier is less error prone.
Added a button to the Watch List to Go to the Memory Page in the Memory Window.
Added the ability to Save and Load watches, instead of forcing users to save a project file.
Release 0.4.1.8
---------------
Added the Memory Watch window.
Removed the Step input box from the CPU Window and replaced with the Reset button.
Added the Label Overlay button - to allow users to add labels on-demand.
Release 0.4.1.7
---------------
Updated the look of the virtual joystick.
Updated the StepOver functionality to for BRA, BRL, JML, JMP.
Fixed issue with the CPUWindow crashing Visual Studio: this was caused by the timer1 control in the RegistryDisplay component.
Release 0.4.1.5
---------------
Fixed generation of shortnames in SD Card code.
Fixed an issue with GDI+, that occured on Reset.
Release 0.4.1.4
---------------
Fixed the PLP setting the NZ flags. This was incorrect, obviously.
Fixed the RTI command setting the bank
Release 0.4.1.3
---------------
Optimizing graphics rendering. Removing unneeded Bitmap.Locks.
Passing the BitmapData structure by reference.
Fixed LDY 0,b,X to return data of the correct register width.
Release 0.4.1.2
---------------
Optimized the Program Counter, as GetLongPC was using 5% or more of the CPU.
Added more Gabe SD Card emulation.
Added NZ flags to Pull operations.
Added Drag'n'drop operation of Hex files into the main window.
Fixed Fetch function. For large datasets, this was very very slow.
Release 0.4.1.1
---------------
Fixed a problem with absolute indexed values reading two bytes even when the register width is 1.
Added the split Accumulator Control to the CPU window. This allows us to see the value of B even when the
accumulator width is 1.
Release 0.4.1.0
---------------
Starting the Virtual SD Card.
Release 0.4.0.1
---------------
Added the random number generator at address: $AF:E884.
Started to code the joystick implementation using multimedia library instead of virtual joystick.
Tweaked the GPU to emulate the LUT bug in Vicky (i.e. LUT0 is not used).
Fixed the emulated CPU compare method to properly handle the Negative flag (thanks to gadget for reporting the issue).
Stop the CPU when the next instruction would exceed the RAM bounds.
Added a capacity dropdown to the SDCard form.
Release 0.4.0.0
---------------
Added the Character Editor, under the Tools menu.
This application allows for editing of font data for the C256 Foenix.
CPU is now able to handle WAI opcode. When an interrupt is detected, continue at the next line.
Release 0.3.1.2
---------------
Started to use the Multimedia Timer to improve drawing time.
Updated the Bitmap loader to allow uploading of bin files directly anywhere in memory.
Tied the CPU thread to the CPU Window. Not sure why this wasn't done before.
Adjusted loading and starting of the system without re-initializing memory.
Fixed slow GPU FPS (frames per second) when drawing tiles.
Fixed a problem in the UploaderWindow that was resetting vectors to 0, instead of leaving existing values untouched.
Added a Save button to the MemoryWindow, when downloading from the Foenix.
Release 0.3.1.1
---------------
Fixed the Uploader code to properly assign reset vector values.
Release 0.3.1.0
---------------
Fixed several stability issues - especially related to "Restart", which wasn't resetting the stack register.
Release 0.3.0.0
---------------
Fixed the memory manager for the FMX board. Added the DIP switches and tied them to memory addresses.
Release 0.2.7.3
---------------
Fixed a few issues with the Flash commands delay. Also added the countdown timer.
Release 0.2.7.0
---------------
Added the Flash command to the Uploader dialog.
Release 0.2.6.3
---------------
Fixed a problem with MVN/MVP when Accumulator was #$FFFF.
More SD card support. The directories are now being read properly.
Release 0.2.6.0
---------------
Added SD Card support.
Release 0.2.5.2
---------------
Fixed the Carry and Overflow flags in ADC and SBC in 8 bit mode.
Added Unit Test project, finally.
Release 0.2.5.1
---------------
Fixed "Load Hex w/o Zeroing": adding the runtime parameters messed this up.
Release 0.2.5.0
---------------
Added runtime parameters: -r,--run to autorun; -h, --hex to load a hex program; -i,--irq to disable 'break on interrupts'.
Release 0.2.4.9
---------------
Closing dialog boxes with ESC key.
Release 0.2.4.8
---------------
Added correction of tiles displaying in the border.
Release 0.2.4.7
---------------
Added correction of sprite displaying in the border.
Release 0.2.4.6
---------------
Added fake joystick at rest ($9F).
Release 0.2.4.5
---------------
Handling of ALT keys
Release 0.2.4.4
---------------
Fixed the INC direct page opcode.
Release 0.2.4.3
---------------
Fixed another problem with SendBinaryButton_Click, where the PageFF length was longer than the number of bytes in the buffer to write
Release 0.2.4.2
---------------
Fixed the Z and N flags in the LDX and LDY opcodes.
Fixed the XBA operation. The High and Low bytes were not getting swapped properly.
Release 0.2.4.1
---------------
Fixed an issue with the INC absolute opcode: when the accumulator is 16 bits, the two memory locations are updated (when an overflow occurs).
Release 0.2.4.0
---------------
Fixed a problem with loading hex files without corresponding lst file.
Fixed uploading page FF00 data.
Release 0.2.3.8
---------------
Added the back-tick (or grave) key scancode.
Release 0.2.3.7
---------------
Fixed the Negative flag not being assigned by LDA, LDX and LDY.
Add implementation of SBC when decimal flag is set.
Release 0.2.3.2
---------------
Added the UART device.
Added the Serial Terminal window.
Added BCD handling of additions.
Release 0.2.3.1
---------------
Made some optimizations to the code to get to 12 Mhz in code execution.
Made some optimizations to the GPU code to get to more than 60 frames per second.
Created devices folder to help make the code clearer.
Release 0.2.2.12
----------------
Added uploading of HEX files. This includes the handling of the page FF interrupt vectors.
Release 0.2.2.8
---------------
Added the Real-Time Clock.
Release 0.2.2.7
---------------
Added interrupt handling for keyboard key presses.
Release 0.2.2.6
---------------
Added the flashing cursor with the display of text.
Handling bit $80 of the MCR to skip all display of graphics.
Release 0.2.2.3
---------------
Added Gamma Correction when MCR Gamma Bit is set.
Release 0.2.2.3
---------------
Made the memory window aware of the loaded length.
Added a new default fontset "Bm437_PhoenixEGA_8x8".
Release 0.2.2.2
---------------
Cleaned up the Tile Editor to be updated when images are loaded.
Added more keyboard handling code.
Release 0.2.2.1
---------------
Added the "Step Over" button.
Attempted to move the context buttons out of the way.
Release 0.2.2.0
---------------
Added the Tile Editor. Load tiles using the Bitmap Loader or by running code in the emulator.
Tiles can only be saved via the FNXML export, in the Memory Window.
Release 0.2.1.0
---------------
Made the CPU window multi-threaded and not timer based. Performance is much improved.
Fixed memory leak due to displaying too many line items in the CPU window.
Added the +, - and "Mem" buttons to allow adding breakpoints and jumping to memory easily.
Fixed a minor issue with the file size of the bitmap loader.
CPU window is now double-buffered and allows drawing of breakpoints.
Release 0.2.0.9
---------------
* Added Long fetch from the C256 unit.
* Fixed the memory window to only allow typing in the Start Address.
* Fixed the incorrect PC that gets pushed into the stack when BRK is called.
* Added the implementation to RTI.
Release 0.2.0.8
---------------
* Fixed the MVN and MVP opcodes.
* Added the PER opcode.
Release 0.2.0.7
---------------
* Added Fetch from C256
Release 0.2.0.6
---------------
* Added the FoenixIDE.exe in the bin\Debug folder.
* Readded MainWindow.cs - the file was deleted by error.
* Added opcode for PEA and PEI.
* Fixed the GPU to draw the border properly.
* Added SDCARD handling, such that it will initialize.
* Added KEYBOARD handling, such that it will initialize.
Release 0.2.0.5
---------------
* Added validation of the Load Hex file. This prevents loading "bin" files.
* Added the About form, which reads the version from the Assembly file.
* Modified the Uploader Window to allow uploading of memory directly to the machine.
Release 0.2.0.4
---------------
* Added a timed event whenever the CODEC Write address ($AF:E822) is written to, to reset the value to 0.
* Modified the Memory Window to allow direct entry of values, instead of using an InputBox.
Release 0.2.0.3
---------------
* Changed file extension of Foenix IDE export files to .FNXML.
* Added tileset loading. The feature expected a bitmap of 256 x 256.
* Added importing of 24 bpp images. Only 256 colors are allowed.
Release 0.2.0.2
---------------
* Added loading of font from live memory during display cycle, instead of using hard-coded font files.
* Fixed memory leak which was caused by not disposing of the displayed bitmap.
* Use border color when in text mode.
* Added highlight box to memory window.
Release 0.2.0.1
---------------
* Fixed a bug that cause the IDE to crash when adding a breakpoint with no text.
* Memory Window is now aware of the mouse pointer position and display the address and value under the pointer.
* Allow modification of memory window address.
* Uploader window only allows 6MBaud uploads.
* Added Load Hex File w/o Zeroing. This way a Hex file can be loading without affecting existing memory.