Comments (7)
That looks like an oversight. I can see I modified osfile_load to load files with tube addresses into the tube processor if one is enabled but I have forgotten to do that for run_file. As you say that does leave the question of how to start the tube processor running in the right place. The modules to emulate the tube processors are all part of b-em so it should be possible host-side but I don't know if there is anything the tube processor should do before jumping to the newly loaded code.
from b-em.
I had a look at beebem's version, but it all works quite differently. I think it's loading the data directly, but then returning a status code to the I/O processor ROM to tell it to start running. Does the beebem version use the same ROM as b-em? In which case the functionality might already be there.
from b-em.
The history to this is that, as far as I know, J.G Harston wrote the ROM, based on some work by Sprow, for use in a completely different emulator, probably not even PC-based. He published the source code for the ROM and nothing happened for a while. I had the idea to implement VDFS in B-em after discovering the ROM and set about it. Once I had finished, or nearly so - I can't quite remember, J.G.Harston decided to implement it for BeebEm too but did it his own way.
I know I have tweaked the ROM a little and maybe he has too so the two versions will now not be the same but they should be a lot more similar than the host-side code is and it should be possible to do something similar to what he has done to start execution in a tube processor.
from b-em.
Looking at the tube documentation JGH had kindly made available on his website it would certainly be possible for the host-side VDFS code to set a flag for the code in the VDFS ROM to initiate tube execution. That code would need to acquire the tube (call &0406 with A=C0 + FS number) then call the same tube entry point &0406 with A=4 and XY=address in IO memory of 4 bytes containing the address in tube memory at which to start execution. I will see if I can get round to implementing this soon.
from b-em.
I have committed a change to branch issue28 which I think works correctly. I haven't written anything that runs in the tube 6502 so I tried saving a copy of the HiBasic ROM with the correct load/exec addresses and *RUNning that. It seemed to work. Do you have a better test case?
from b-em.
It looks like this works fine --- I built most of a program with Cowgol on VDFS (which is what I mainly want to use it for) and it ran all the binaries properly.
It did then fail for other reasons, but this at least I believe is fixed. Thank you very much!
from b-em.
Thanks, David.
from b-em.
Related Issues (20)
- choosing a new folder for VDFS doesn't start at the existing one on windows. HOT 4
- NMOS and CMOS 6502 emulations fail self-modifying JSR test HOT 1
- jstest: same name as another program + executables question
- Disable auto-pause when the debugger is active? HOT 1
- VDFS: OPENUP creates a new file if it doesn't already exist HOT 4
- Integra-B: CTRL-@-BREAK is not triggering reset HOT 4
- Add support for other Z80 CoPro ROM versions? HOT 8
- Improved memory handling for 68K co-pro HOT 16
- Emulation speed wrong and Screen is a flickering mess HOT 23
- Compiler error on macOS HOT 2
- Tube ULA: 2-byte R3 transfers misbehaving HOT 9
- Core dump on startup with e624e51 HOT 3
- Change in behaviour with bit-banged sound between releases 8761065 and 608eb15 HOT 8
- Request for help with an SDL Sound Issue
- Nula issues
- segmentation fault HOT 4
- Seg fault when selecting 32016 co-pro HOT 2
- LED bar to small on 4K display
- @-symbol not mapped with logical keyboard
- libssp-0.dll missing from release
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from b-em.