Build 1006 changes
------------------
- only a bugfix that caused Euphoric to crash under DOS when accessing the environment screen (F1).

Build 1006 changes
------------------
- added a third ram pattern type: Simon sent me a very neat picture of his Oric boot screen demonstrating this pattern type.
- added a "video dump" feature. Two new options are now recognized in the euphoric.ini file. FrameDump=Y enables the frame dump feature : video frames are dumped as long as the F12 key is pressed. Screenshot files with names frame0000, frame0001, etc. are created. Beware that pressing the F12 key in this mode can quickly fill up your hard disk. You can adjust the framerate with option FrameSkip=... FrameSkip=0 dumps 50 images per second. FrameSkip=1 skips every other frame, and thus dumps 25 images per second. FrameSkip=9 skips 9 frames out of 10, and thus dumps 5 images per second, etc.


Build 1005 changes
------------------
- the debugger has been slightly improved (there's a small assembler now) and made more consistent with existing PC debuggers (like debug :-). Here are the commands:

A: Assembler
B: set Breakpoint address
D: Dump memory
E: Enter hex data
F: Fill memory block with a single value
M: Move memory block
P: set PC
R: change Register. 
   Type register to change (A,X,Y,S,P), 
   or type N,V,B,D,I,Z,C to change a flag.
U: Unassembler

and also:
F2: step one instruction
F3: step one instruction or a full jsr routine
F4: view Oric screen (still rather broken)
F5: execute up to breakpoint address
F6: reset
F7: nmi
F10: exit Euphoric
F11: quit debugger mode
F12: abort execution (during F3 or F5)


Build 1004 changes
------------------

- A bug fixed in the display code (again !): the inverse video bit was lost when interpreting a TEXT attribute.
- The Calculator extension is now emulated, it is a special numpad with 14 keys (0 to 9, dot, DEL, FUNCT, ENTER), connected to the internal keyboard interface. Non-numeric keys are configurable in the euphoric.ini file.
- A new option allows to specify the serial extension I/O address (ACIAAddress=...). It is $031C by default to be compatible with the Telestrat.

Build 1003 changes
------------------

- thanks to Dom and his joystick, an "electrical" bug has been discovered in Euphoric: the joystick status was forcing the state of VIA's port A, when it can only force high level lines to ground. This is now fixed.
- a new way of using the unused PB5 line has been added: instead of acting as the A14 line of a 27256 eprom, PB5 can be connected to the CLK line of a 74LS273, so that this chip stores the contents of port A and thus acts as a bank register allowing to use (very) big eproms (e.g I have a 4Mb flash eeprom in an Oric). The handling of PB5 is the same as PB4, you have to send a negative pulse (strobe) on one of these outputs in order to send a byte to (respectively) the bank register or the printer.
- two printer-related options have been added in order to get proper listings when sending the output of the Oric printer to a file. This is because the oric firmware sends unusual bytes to the printer in several places. The Oric-1 and Atmos roms have a bug in the initialization of the VIA which cause a STROBE to be emitted and thus a byte to be sent to the printer. The rom can be easily fixed, but if you still use one of the original rom, Euphoric printer options allow you to get a clean listing. The LLIST command of Telestrat's HyperBasic has a different behavior: it sends many NUL bytes to the printer as part of the listing, it's not due to a VIA handling bug. So, option PrintNULs=No allows to not print the ASCII NUL bytes that are sent to the printer. This is mainly interesting when sending the output of the printer to a file in order to further edit that file (real printers ignore those NUL bytes). PrintNULs option is set to 'No' by default, so you will have to set it to PrintNULs=Yes if you want to get those NUL bytes. Also, another "feature" of HyperBasic's LLIST command is that it sends Carriage Return and Line Feed bytes in the unusual order : LF+CR instead of the usual CR+LF sequence. This confuses a lot of text editors, so I have included a FixCRs option : it is on by default (FixCRs=Yes), and has the following behavior : every Carriage Return printed by the Oric is removed, and a CR+LF sequence is sent each time the Oric prints a Line Feed.
- oops, I don't remember why I removed the SYNC-to-TAPEIN option in the environment screen (maybe because I had not enough space). So, it is back again, with a slight modification of the environment screen.

Build 1002 changes:
-------------------

- I've removed a difference between Telestrat drives and Microdisc drives that doesn't exist...
- a display bug has been fixed, I thought I had fixed it some time ago, but the fix was not complete.
- enabling PB5-switch in euphoric.ini had an effect on the Telestrat, which it shouldn't have. This is fixed now, and it's also easier to use the PB5-switch because if you use a 16K rom instead of a 32K one, the rom will appear whatever the state of PB5 (ie there's no A14 address line on a 16K rom).
- I've added a 6502 trace to the log file when running under the debugger screen. Beware if you enable the log file in euphoric.ini, and run under the debugger screen: the log file will quickly fill up your hard disk.

Build 1001 changes:
-------------------

Thanks to Luc Buisson who sent me BD-DOS disks, I have tried to include a BD500 emulation in Euphoric.
It's still a very approximative emulation, because I haven't put my hand on a real BD500 controller yet.
Anyway, it allows to boot BD-DOS, with a small boot eprom I have written (of course it's not the real eprom contents : if someone has it, please send me its image).

Euphoric-1 changes (build 1000)
-------------------------------

- VGa Mode X (320x240 unchained) is back. More and more people use LCD screens, and mode Q (256x256 chained) is not always supported by these screens. Also, on some low-entry cathodic screens, mode Q is only supported with scanlines (i.e. each of the 256 lines is displayed twice). Thus, by default, the configuration file (euphoric.ini) comes with option VGAMode=X. It's up to you to replace this option with VGAMode=Q if your monitor allows it (this option will allow you to adjust your monitor settings to get rectangular pixels, like on the Oric), and then you might want to try option ScanLines=No if you wish to get more natural pixels (round pixels), with a small gap between lines.
Using Mode X has some implications : Windows does not show Euphoric in a "freeze" window when you switch to another application (Alt-Tab), because of the non-linear memory configuration of this mode. Thus, you will have to use Euphoric's screen hardcopy instead of Windows snapshot feature (it's now easier with the F12 key).

- I've removed the display of jpeg cassette inlays at startup. Sorry, guys, I was wrong to have people scan cassette inlays in such a low resolution. It would be much better to have a front-end Windows program, that displays good-looking cassette inlays and then launches Euphoric...

- Some options that were previously usable from the command line are now in the configuration file. There's nearly no command-line option left, except those that allow to select different Orics (they are used the bundled Windows shortcuts). Don't forget to read through the default configuration file to learn the available features, it's now much better self-documented.

- the environment screen (accessed with F1) has been simplified and some functions are easier to access, like the screen snapshot feature using F12 instead of PrtSc; some people find it difficult to prevent Windows from trapping PrtSc.

- tape searching is slightly different: if you start Euphoric by double-clicking a tape image, the location of this tape is used first when looking for other tapes: the standard tapes directory (the one specified in euphoric.ini) is only used if a tape is not found. Also, there were a few bugs in the handling of tapes and roms directory names (when a drive letter was specified), this is now fixed.

- dumping of PSG registers has been changed: the value of register #13 is now saved as $FF if it has not been rewritten between two interrupts (this helps YM players). Registers are dumped every VIA's timer 1 interrupt. This does not guarantee a faithful sampling of music because some programs do not play music through interrupts (e.g. Doggy). When you use a YM player, don't forget Oric's PSG frequency is 1 MHz (like on the Amstrad CPC) and the "usual" interrupt frequency (hence the sampling frequency) is 100 Hz, not 50 Hz as found on computers that use Vertical Blank interrupts. Moreover, some programs select an unusual interrupt frequency: for example, Damsel has a 83 Hz interrupt frequency...

- ASCII keyboard mode has been removed: it used an ugly trap inserted in the keyboard entry rom routine. If you don't have a US keyboard, please use the "nationalized" roms : these roms include support for a national keyboard, like if such a keyboard was plugged on a real Oric (this is not a fiction: I also use one of these roms on a real Oric with a true AZERTY keyboard, this keyboard having been rewired for the Oric use).

Pre 1.0 changes
---------------
Please read the historic file...
