Comments (1)
I can confirm it works, at least I've tried with Xemu. However I was unaware that the first byte of the "HOME" sector must be $4C (JMP abs
opcode), otherwise it returns with error what BASIC interprets as "BAD DISK ERROR", the same error message whatever the problem was (could not load the sector - real disk error -, or "only" missing $4C as the first byte). The ROM source (especially the comments) confirms this theory.
So I quickly used a hex editor to modify a D81's first sector, something like this (without using assembler, so the strange layout of the code ...):
00000000 4c 10 04 00 00 00 00 00 00 00 00 00 00 00 00 00 |L...............|
00000010 ee 20 d0 4c 10 04 00 00 00 00 00 00 00 00 00 00 |. .L............|
That is basically (the sector is loaded to $0400
!):
0400 JMP 0410
[...]
0410 INC D020
0413 JMP 0410
The first JMP is needed to give the desired "$4C as the first byte" rule. Indeed, then BOOT SYS
caused the border to flicker, so my code could run. Without $4C as the first byte, I get "BAD DISK ERROR" as I expected after learning about the "4C rule".
One interesting thing though, that the source and comments indicates something, that multiple "HOME sectors" are checked, one for "1581" one for "MS-DOS" compatibility, I can't see exactly why, or what's the purpose of this though. It would be interesting to know. I assume the "MS-DOS compatibility" means that the disk sides are handled reversed (?) it seems or something like that, but I still can't see why it's useful to have an MS-DOS formatted disk with 65xx code in the boot sector, sounds odd. That's why I am very much interested what was the reasoning of this "dual try" stuff.
from mega65-user-guide.
Related Issues (20)
- ROLQ copy/paste mistake HOT 1
- Xemu keyboard layout picture does not show the Alt key
- FREEZER shortcomings not explained HOT 2
- Improve BLNK register description HOT 1
- Document Flash Slot Boot Selection Logic
- Mega65-book > page 12-9 > 6502 instead of 6510 like C64 CPU HOT 1
- LDQ example text needs fixing HOT 1
- Document the BASIC 65 command 'INFO'
- Document MegaInfo in User's Guide HOT 1
- Mention that >1MB MAP is not reset by the next MAP instruction HOT 5
- Document VIC-IV errata register HOT 1
- Improve "C65 Compatibility ROM Layout" table
- Remove Auto-Tune section HOT 2
- Update copyright year and Board revision descriptions HOT 1
- Basic 65 reference says DS is cleared automatically HOT 1
- SPRPTRADR sprite pointer address must be 16-byte aligned
- Chipset Ref. typo HOT 1
- Document SOUND CLR command
- Document VOL <a>,<b>
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 mega65-user-guide.