Page 1 of 1

Run Flex with DriveWire

Posted: Wed Jun 28, 2023 1:16 pm
by Azerpy
Hello all.
I spent some time to test different solutions to use FLEX on real or emulated Dragons.
For my pleasure, I have created a file with drivers to boot and run FLEX with DriveWire.
I wanted no DOS or modified disk, use any flex disk, load the date of DriveWire and auto detect emulation or real Dragon.
There are others ways to run Flex on a 64 K Ram Dragon (Xroar or Mame emulation, MMC card with special drivers, ...) but I wanted to use it with the "minimal DWLOAD Server" of Stew Orchard installed on a small Wifi Pizero (a little wonder !).
Thank you to Phil "Prime" who made the drivers for his MMC Card, what gave me the idea.

Here are 2 files for the same result
- a DWEEB that must be installed in the DriveWire folder, launched by DLOAD or DWLOAD
- the .BIN file ; it could be a .cas or .wav when there is no other way to EXEC it on a real Dragon

Re: Run Flex with DriveWire

Posted: Wed Jun 28, 2023 1:21 pm
by Azerpy
To test it, the best way is to install a flex bootable disk in DRIVE0 of a DW4 or PyDW server
for example the Compusense Disk below (rename it if necessary)
The flex files must be without header (dsk format). I cut the header of the vdk files with HxD file editor.

Then launch the .BIN file in Xroar
start xroar -machine dragon64 -cart becker -run "BTFLEX01.BIN"

If there is someone interested, I can explain a little more. A lot is in the .asm source code.

Re: Run Flex with DriveWire

Posted: Thu Jun 29, 2023 9:07 am
by wayland
That does sound interesting. So to run FLEX I'd need to upgrade to 64k? The Drive Wire server is a WiFi Pico? That's amazing.

Re: Run Flex with DriveWire

Posted: Thu Jun 29, 2023 1:04 pm
by Azerpy
Hello Wayland, I'm not a magician yet.
Flex will always need 64 K ram.
About the Py DriveWire Server of Stew, I've installed it on a PI ZERO (not a pico).
"Pi zero 2 W headless" without screen, with a ssh access and wifi access to the pi memory content.
It would be an interesting project for you !
I did not go to the end of what we could do, like auto start or enter the bit banger signal directly on the serial input of the pi
without FT232 device.

Re: Run Flex with DriveWire

Posted: Mon Jul 10, 2023 6:14 pm
by Azerpy
If you are here because of "FLEX" and "DRIVEWIRE"
have a look on the great production of Stew Orchard that I just discover

https://gitlab.com/sorchard001/flex-os

Re: Run Flex with DriveWire

Posted: Tue Jul 18, 2023 8:13 am
by Azerpy
A Compusense Flex disk created by the NEWDISK command contains the two boot sectors disassembled here
(see code below )
The first program is on the Logical Sector Number $200 (sector 3 of track 0)
If "OS" is present, the BOOT command of DRAGONDOS loads and runs the program at $2600
The second program is present on the sector LSN $000 (sector 1 of track 0)
It is loaded at $2500 by the former program and launched
Then all sectors of FLEX.SYS are loaded from $2700 to $4800
If no error, the boot ends by a cold start of FLEX at $CD00

Re: Run Flex with DriveWire

Posted: Sun Apr 28, 2024 7:29 pm
by Azerpy
Now that we have a source* code for a 51x24 screen, flex disk drivers for DriveWire and keybord, it is tempting to create a ROM that contains all that code.
* The original files are from Stew Sorchard (see upper), with a keyboard from Ciaran Anscomb.
I have added a booter, a new key, printer to DW file, local flex commands and hooks to run Basic with the 51 colums screen of flex. flex.sys is on the rom, no dsk needed to boot.
As FLEX and DLOAD use the same file DWRead and DWWrite, I have also added DLOAD on the rom.
So you can run FLEX 9.1 and BASIC with 51 colums "almost" together ...
I have tested it with a real Dragon 32 (64kram needed) and acces to a DriveWire server on PC.
DLOAD works because the basic is modified in 64K ram like did the rom of Tormod Volden.
For emulation, to see and begin, even without DriveWire access or without flex disks ...
start xroar -machine dragon32 -ram 64 -cart-rom COR91V1emu.rom -cart-becker
In the zip file : rom files, source code of the booter, flex disks and a read_me file for more.
All is not possible, for example some flex commands like DISM use the low ram of basic. Surely, there are some bugs.

I only do that for the plaisure of using Flex, which is in need of some love, as OS9 usually gets all the attention.

Re: Run Flex with DriveWire

Posted: Sun Apr 28, 2024 7:34 pm
by Azerpy
FLEX_ROMS_V1.zip
rom files for real dragon and emulation
(58.31 KiB) Downloaded 14 times

Re: Run Flex with DriveWire

Posted: Sun Apr 28, 2024 8:27 pm
by robcfg
This is going to come in handy, thanks a lot!