You will not be able to post if you are still using Microsoft email addresses such as Hotmail etc
See here for more information viewtopic.php?f=20&t=7296
Check if your IP is banned
viewtopic.php?t=7286

Tony's Random Atari Adventures

Blogs & guides and tales of woo by forum members.
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Tony's Random Atari Adventures

Post by tony.reynolds »

Day the first

Forked EmuTOS
Installed Cross-Compilers
Pulled my Hatari environment over to my ubuntu machine
Built EmuTOS on my ubuntu
Ran up my Hatari environment with my own built EmuTOS


goal: understand enough about VDI that I can write a GDOS VDI screen driver.
Now what kind of VDI screen driver could it be?
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
User avatar
Cyprian
Posts: 500
Joined: Fri Dec 22, 2017 9:16 am
Location: Warszawa, Poland
Contact:

Re: Tony's Random Atari Adventures

Post by Cyprian »

there is a special driver for such things - fvdi https://github.com/Landemarre/fvdi

there are drivers with source codes for Aranym, Vampire's SAGA
https://github.com/Landemarre/fvdi/tree/master/drivers
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
ATW800/2 / SUBcart / FujiNet / DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / Mach32 / ET4000 VME / PAM Net
http://260ste.atari.org
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Re: Tony's Random Atari Adventures

Post by tony.reynolds »

Thanks, @Cyprian !
I have looked this over in the morning. What a great starting point! It already boosts my understanding. I will try to set it up over the next week. I would like to build it in my cross-compilation environment and get it running in ARAnYm with EmuTOS and GDOS. That would be a good goal.

The 1plane driver is my starter kit to create my driver.
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
User avatar
Cyprian
Posts: 500
Joined: Fri Dec 22, 2017 9:16 am
Location: Warszawa, Poland
Contact:

Re: Tony's Random Atari Adventures

Post by Cyprian »

I keep finger crossed
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
ATW800/2 / SUBcart / FujiNet / DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / Mach32 / ET4000 VME / PAM Net
http://260ste.atari.org
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Re: Tony's Random Atari Adventures

Post by tony.reynolds »

I am now running ARAnYM and AFROS with my compiled EmuTOS and my compiled FVDI, both from github sources.
FVDI needed FreeType 2.2.1, no problem to get.
Compilation went okay once that was in.
Build instruction no included with FVDI. I might make one and PR it to Johan Klockars.

cd fvdi/engine
make # the depend toolchain doesn't work. that's okay
make # this will build fvdi_gnu.prg
cp ./fvdi_gnu.prg $AFROS_HOME/auto

I don't think my FVDI is working in place of the provided FVDI.
I will make a new blank hard drive directory and install only my FVDI. This will help me diagnose problems.
I will also pay attention to the debug settings in fvdi.sys

Good progress, not great!
I'll figure out what's wrong!
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Re: Tony's Random Atari Adventures

Post by tony.reynolds »

I found that mint was loading c:\auto\fvdi.prg, not any old fvdi, so I had to rename c:\auto\fvdi_gnu.prg to c:\fvdi.prg

I redirected the output of fVDI to the Bconout 0, parallel port, which sent it to the Aranym console.

Great!
then I found that the then-current version of my fvdi.sys loaded fonts before screen drivers, a no-no.
I fixed that. :)
Then my fvdi worked!
The output to the ARanYm console showed: fVDI v0.968beta3Lgcc-FT2 now installed.


Shows the cookie fVDI!

Golden.
Now I can work to understand the ARanYm.sys driver instead of the 1bit driver that I was going to work on.
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Re: Tony's Random Atari Adventures

Post by tony.reynolds »

Yesterday I noticed that @thorsten.otto (thank you!) has a much nicer version of fVDI out there, so I forked it and it built straight away. My copy of AFROS now has his fVDI in it. I plan on PRs, that's why I forked it. (Otherwise I would've just cloned it down). Very simple integration.
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Re: Tony's Random Atari Adventures

Post by tony.reynolds »

Friday, I spent a few hours looking into how VME works (research) and bought some prototyping cards and a connector from Mouser. It's going to be a long row to hoe to get there.

Saturday I upgraded the TOS in both my 1040STf machines to 1.04. Simple, yet useful work complete :D

Today I found the Native Features capabilities in ARAnyM and now understand some of how the fVDI driver integrates with the ARAnyM fVDU Native Feature system and then through to the native OS windowing system/OpenGL. This is sweet work, ARAnyM friends! Lots of capabilities waiting to be unlocked in here. 8-)
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Re: Tony's Random Atari Adventures

Post by tony.reynolds »

Dear diary,

Last night I had a rousing adventure with a pico PSU, and then I read https://www.exxosforum.co.uk/atari/last/pico/index.htm heh.
Now to get with recapping the ones I have. I have USA power supplies, so I will recap them without a kit, make a list for others, then let people use it as they may.

For recapping, I think I will go through the capacitors one by one, identifying each. I will then place a big order for the parts. I have four PSUs (2x STFs that are different, a Mega 4, and a MegaSTE). This will be a fun side-project. I may have to desolder caps to get to markings, so I will get lots of video so I can restore the whole lot.

Last weekend, I fixed a floppy drive; it comes from the STE I ruined. Sorry make that five PSUs to recap. ;) The drive claimed the floppy in it was write-protected regardless of the status of the physical tab. The broken part was simple: the write-protect sense switch on the drive was reading pushed in. I exercised it some with the flat end of a curved dental pick and the switch broke free. Now I can write floppies with this drive. I bet it will flake out again.

I got my VME protoboards and connectors I ordered. There has to be a simpler way. I wrote Vector for some help, after which I ordered a VME breakout board instead of building my own. https://www.vectorelect.com/vmeej1.html I got it off evilbay. It's hard to mess this kind of thing up or relabel it ;). It'll be here soon. Last night I also solder the 96 pins on a DIN connector to a Vector prototype board. It was kinda cool to put this bare card into the MegaSTE. That's when I knew I had to recap its PSU and decided to just recap all of them before I end up with a dead ST or four.

I spent some time last weekend looking at the decapped Shifter and GST MCU from MiSTery https://github.com/gyurco/MiSTery. That gave me some details I didn't understand before and helped me understand the responsibilities of each chip.

I wonder what a MiSTery core with an enhanced GST MCU/ Shifter would do. That might be an easier first go than getting my feet wet with VME. There's practically no way to mess that up. ;) :roll:
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
User avatar
tony.reynolds
Posts: 34
Joined: Mon Apr 06, 2020 3:54 am

Re: Tony's Random Atari Adventures

Post by tony.reynolds »

This week:

Did I mention my workshop is in my attic? it's really hot up there. I need to bring my MiST and a monitor/keyboard/mouse downstairs so I can do my work with out the heat. I definitely don't feel like desoldering or recapping. Some work items will make no progress.

* I found https://github.com/mist-devel/mist-boar ... s/mist_vhi so that the Viking mode in MiST works right with GEM and thus I suspect fvdi. I'll find out soon enough.
* I printed out the TF536 circuit board at scale and found that neither of my 1040STs have a good position for the 68000. One is even the silly style motherboard. I'm okay with the case not closing on whichever I pick because I will put my TF536 in my H5 when they become available (not this year).

* Made a list of possible environments in which to work on my graphics card:
a) ARAnyM (very fast) (a good place for software-only tests of code I write myself)
b) My live MegaSTE with VME boards and a Zynq 7020 board from Numato (this gets costly really quickly but is satisfying)
c) The MiST (flexible and allows immediate gratification) (and the mist_vhi.prg source listed above shows how to insert a new "card" into GEM early on)

I think it's MiST for now. To that end, I installed a copy of Quartus 13.1 Web edition on my Ubuntu system and successfully compiled the first tutorial. To run it, I must relocate my MiS as mentioned above.

* received 10W 10 Ohm dummy load resistors for PS testing before insertion in ST (tabled by heat)
* decided an old hard drive is a great dummy load and was right. No need for the resistors. Now to build a cable to connect Atari PS output to HD ((tabled by heat)
* no progress on USA power supply recapping and capacitor list by model number (tabled by heat)
* no progress on mandatory upgrades for 1040ST. Must select one or the other 1040ST and desolder CPU (tabled by heat)
* received 6x68k DIPs for socketing when I get the sockets.
* I did not receive sockets for 68Ks.
* no progress on practice desoldering (tabled by heat)
* no progress on VME work (I attached my board to my VME extender and yes, I can imagine the Zynq board on this extender with lots of little wires going crazy) (this work is tabled for now until I know what I want to build in the MiST and have a driver working for it in GEM and fvdi)

* new this week: Quartus for MiST, done/working
* new this week: MiST tutorials
* new this week: altering MiST viking mode in a few ways; 1) different rez (easy: alter driver, alter MiST, use https://tomverbeure.github.io/video_timings_calculator ), 2) multiple Viking planes (let's see, maybe easy, maybe not) 3) I wonder how well the MMU/Shifter in MiST would do if told to run 16 colors in 1280x1024 mode with mods to MiST and to mist_vhi (impossible to tell, speculation is this is 'medium-hard')
;Manually change to secret room.
LDA #$1E ;Set room to secret room. ;2
STA VSYNC,X ;And make it current. ;4
LDA #$03 ;Set the X coordinate.;2
STA VBLANK,X ;4
JMP MovementReturn ;And Exit. ;3
Post Reply

Return to “MEMBER BLOGS”