HTTP/1.0 200 OK Accept-Ranges: none Age: 59 Content-Location: http://www.trs-80.com/wordpress/emulation-dmk-format/ Content-Type: text/html; charset=UTF-8 Date: Wed, 14 Jul 2010 06:23:20 GMT Set-Cookie: PREF=ID=e8802e0a4c604c04:TM=1279088660:LM=1279088661:S=VFjNwv_7G3KMwbKU; expires=Fri, 13-Jul-2012 06:24:21 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: translation Expires: Wed, 14 Jul 2010 06:23:20 GMT Cache-Control: private Ira's Site Goldklang TRS-80 dihidupkan kembali »TRS-80 Emulation: DMK Format Dokumentasi

Ira Goldklang's-80 dihidupkan kembali TRS Situs

TRS-80 Emulation: DMK Format Dokumentasi

oleh @ 6:08 pada tanggal 20 Februari, 2009.
Emulation: Format Dokumentasi DMK

Pengenalan
Halaman ini berkaitan dengan perangkat lunak TRS-80 yang tersimpan dalam format disk David Keil's.
Saat ini, file dengan ekstensi DSK. Bisa JV1, JV3, atau DMK format. DMK Format adalah format yang dikembangkan oleh David Keil yang memungkinkan untuk penyimpanan TRS-80 disk dalam bentuk murni, yang akan memungkinkan representasi dilindungi copy disk menjadi gambar emulator. Format DMK memberikan kemampuan untuk mendukung setiap FM atau MFM format dikodekan yang cukup dekat dengan IBM 3740 atau IBM System 34 standar.
format disk DMK mudah membedakan karena header 16 byte nya. David Keil's Emulator , dan Mann's XTRS Tim (pasca v3.7) akan membaca format DMK.
Halaman ini dibuat untuk mencegah fakta bahwa emulator pengguna lain dapat menjadi frustasi dengan bercampur file. Pengguna Tim's atau Dave emulator dapat mendownload dan menjalankan versi tetapi user emulator lain whould harus yakin apa versi mereka download untuk memastikan bahwa mereka memiliki salinan yang akan bekerja dengan emulator mereka.

Rincian Format DMK (*)
(*) Dipetik dari Keil Dave's Site dengan Izin dan dimodifikasi sesuai dengan informasi dari Tim Mann
Informasi tentang apa yang menjadi dikenal sebagai format disk virtual DMK disediakan untuk pengguna yang ingin lebih memahami pengoperasian emulator dan untuk pemrogram menulis emulator mereka sendiri ingin menambahkan dukungan untuk format ini dan / atau penciptaan utilitas PC untuk bekerja dengan format disk DMK virtual.
Format disk virtual adalah sebagai dekat dengan cara data pada disk yang sebenarnya disimpan sebagai mungkin. Ada sangat sedikit ditambah overhead dan data yang mudah diperiksa dan diedit dengan menggunakan editor hex berbasis PC. Desain aktual benar-benar sederhana dan memungkinkan dukungan dari SEMUA fungsi pengendali WD-17xx dan format. Sedangkan desain sederhana namun persyaratan program untuk format ini jauh lebih luas maka untuk format JV1/JV3.

Disk header:

Virtual disk memiliki disk header 16 byte yang diawali ketika pengguna membuat disk virtual baru. header ini dapat dimodifikasi sebelum atau setelah disk virtual telah diformat untuk mengubah beberapa karakteristik.

Byte 0 Jika byte ini disetel ke FFH disk dilindungi adalah `menulis ', 00H memungkinkan menulis.
Byte 1 Jumlah track pada disk virtual. Sejak trek dimulai dari 0 nilai ini akan menjadi salah satu lebih besar dari trek tertinggi ditulis ke disk. Jadi disk dengan 40 track akan memiliki nilai 40 (28H) di bidang ini setelah memformat, sedangkan lagu tertinggi akan tertulis 39. Bidang ini diperbarui setelah trek diformat jika lagu diformat lebih besar dari atau sama dengan jumlah saat trek. Re-memformat disk dengan track lebih sedikit TIDAK akan mengurangi jumlah track pada disk virtual. Setelah disk virtual telah mengalokasikan ruang untuk sebuah lagu akan PERNAH lepaskan. Memformat disk virtual dengan 80 trek kemudian format ulang dengan 40 trek akan menyia-nyiakan ruang yang sama seperti memformat hanya 40 trek pada drive lagu 80. Emulator dan TRS-80 sistem operasi tidak peduli. Untuk memformat ulang disk virtual dengan trek yang lebih sedikit menggunakan opsi / aku saat start-up untuk menghapus dan menciptakan kembali virtual disk pertama, kemudian format ulang untuk menghemat ruang.

Catatan: Bidang ini harus NEVER akan diubah. Mengubah jumlah ini akan menyebabkan kesalahan disk TRS-80 sistem operasi. (Seperti lagu membaca disk drive 80 di 40 lagu)

Byte 2 & 3 Ini adalah panjang lagu untuk virtual disk. Secara default nilai adalah 1900H, 80H byte lagi dari panjang lagu yang sebenarnya, ini memberikan panjang trek 6.272 byte. Panjang trek nyata kerapatan ganda aprox. 6250 byte. Ini adalah nilai default ketika sebuah disk virtual diciptakan. Nilai untuk disk lainnya dan jenis format yang 0CC0H untuk kepadatan tunggal 5,25 "disket, 14E0H untuk kepadatan tunggal 8" disket dan 2940H untuk kepadatan ganda 8 "disket. Nilai maksimum adalah 2940H. Untuk format normal disk nilai 1900H dan 2940H untuk 5,25 "dan 8" digunakan. emulator akan menulis dua byte dan membaca setiap byte kedua ketika di kepadatan tunggal untuk menjaga jarak sektor yang tepat, memungkinkan disk kepadatan campuran. Menetapkan panjang lagu harus dilakukan sebelum disk virtual atau disk diformat akan harus diformat ulang dan karena ruang untuk disk telah dialokasikan tidak ada ruang akan disimpan.

PERINGATAN: Bytes dimasukkan dalam urutan terbalik (ex. 2940H akan dimasukkan, byte 2 = 40, byte 3 = 29).

Catatan: Tidak ada modifikasi dari lagu panjang diperlukan, berbuat demikian hanya menghemat ruang dan tidak diperlukan pada operasi normal. Nilai-nilai untuk semua normal 5,25 "dan 8" disk diatur ketika virtual disk dibuat. JANGAN memodifikasi panjang lagu kecuali Anda memahami petunjuk ini sepenuhnya. Tidak ada di dunia PC bisa kacau oleh modifikasi yang tidak semestinya tapi disk virtual lain yang terpasang di emulator dengan disk tidak benar diubah bisa saja data acak.

Byte 4 pilihan Virtual disk bendera.

Bit 4 dari byte ini, jika diatur, berarti ini adalah HANYA satu sisi disk. Bit ini diset jika pengguna memilih sisi tunggal selama pembuatan disk dan tidak memerlukan modifikasi. Flag ini digunakan hanya untuk menghemat ruang hard disk PC dan tidak pernah diperlukan.

Bit 6 dari byte ini, jika diatur, berarti disk ini akan kepadatan ukuran tunggal dan emulator akan mengakses satu byte bukan dua ketika melakukan I / O dalam kepadatan tunggal. Double kepadatan masih dapat ditulis ke disk kepadatan tunggal tetapi dengan setengah lagu panjang hanya 10 256 byte sektor dapat ditulis dalam kepadatan baik. Campuran kepadatan juga mungkin tetapi sektor waktu mungkin tidak aktif sehingga disk dilindungi tidak dapat bekerja, maksimal 10 256 byte sektor kepadatan campuran dapat ditulis ke disk kepadatan tunggal. Sebuah program seperti "menakuti House" yang memiliki kepadatan lagu dicampur 0 dengan 1 sektor SD dan 1 sektor DD dan sisa disk terdiri dari 10 sektor SD / lagu akan bekerja sama dengan flag ini menetapkan dan setengah menghemat ruang hard disk PC. Disk dilindungi "Super Utility + 3.0" namun memiliki 6 SD dan 6 DD sektor / lagu dengan total 12 256 sektor byte / lagu. disk ini tidak dapat kepadatan tunggal.

Bit ini diset jika pengguna memilih kepadatan tunggal selama pembuatan disk dan tidak memerlukan modifikasi. Flag ini digunakan hanya untuk menghemat ruang hard disk PC dan tidak pernah diperlukan.

Bit 7 dari byte ini, jika diatur, berarti kepadatan harus diabaikan ketika mengakses disk ini. Disk HARUS diformat dalam kerapatan ganda tapi emulator kemudian akan membaca dan menulis sektor di kepadatan baik. emulator akan mengakses satu byte bukan dua ketika melakukan I / O dalam kepadatan tunggal.

bendera ini adalah cara awal untuk mendukung disk kepadatan dicampur tidak lagi diperlukan untuk tujuan ini. Hal ini sekarang digunakan untuk kompatibilitas dengan disk virtual tua dibuat tanpa byte ganda sekarang digunakan ketika di kepadatan tunggal. Bit ini dapat diatur secara manual di hex editor untuk mengakses disk virtual tua ditulis dalam kepadatan tunggal.

Byte 5-B dicadangkan untuk pilihan masa depan
Byte CF Harus nol jika disk virtual dalam format asli emulator itu.

Harus 12345678h jika disk virtual disk REAL Spesifikasi file yang digunakan untuk mengakses REAL TRS-80 disket di drive PC yang kompatibel.

Track Header Setiap lagu memiliki 128 (80H) byte header yang berisi offset untuk setiap IDAM di trek. Ini dibuat selama format dan harus PERNAH memerlukan modifikasi. Data lagu yang sebenarnya berikut header ini dan dapat dilihat dengan hex editor menampilkan data mentah di trek. Modifikasi tidak harus dilakukan sebagai IDAM dan masing-masing sektor memiliki CRC, ini seperti disk nyata, dan memodifikasi data sektor tanpa memperbarui nilai CRC akan menyebabkan kesalahan CRC ketika mengakses disk virtual dalam emulator.

Catatan: Modifikasi dalam MSDOS Namun bisa dilakukan untuk meniru disk lindung di emulator TRS-80.

Track header:

Setiap sisi jalur masing-masing memiliki 128 (80H) byte header yang berisi pointer offset untuk setiap IDAM di trek. Hal ini memungkinkan maksimum 64 IDAMs sektor / track. Ini lebih dari dua kali lipat disk 8 inci akan membutuhkan dan 3,5 kali dari disk 5 normal DD TRS-80 inci. Ini harus lebih dari cukup untuk setiap disk juga dilindungi.

IDAM pointer ini HARUS mematuhi peraturan berikut.

pointer Masing-masing adalah 2 byte offset ke byte merasa dari IDAM tersebut. Dalam kepadatan tunggal byte ganda pointer adalah dengan merasa pertama.
Offset termasuk header 128 byte. Sebagai contoh, sebuah IDAM 10h byte ke trek akan memiliki pointer 90h, 10h 80 h = 90h.
The offset IDAM HARUS di urutan tanpa petunjuk yang tidak terpakai atau buruk.
Jika semua entri yang tidak digunakan header diakhiri dengan entri 0000h. Entri yang tidak digunakan juga harus diisi nol.
Setiap IDAMs sektor ditimpa selama tulis perintah harus memiliki entri mereka dihapus dari header dan semua entri pointer lain bergeser untuk mengisi masuk
The pointer IDAM diciptakan selama lagu menulis perintah (format). Sebuah lagu selesai menulis HARUS menghapus semua petunjuk IDAM sebelumnya. Sebuah lagu parsial menulis (dibatalkan dengan perintah mengganggu dipaksa) HARUS itu pointer sebelumnya yang tidak ditimpa ditambahkan ke pointer IDAM baru.
Byte pointer disimpan dalam urutan terbalik (LSB / MSB).
Setiap pointer IDAM memiliki dua bendera. 15 bit diatur jika sektor ini adalah kepadatan ganda. 14 bit saat ini terdefinisi. Bit-bit harus bertopeng untuk mendapatkan offset sektor yang sebenarnya. Sebagai contoh, sebuah offset ke 90h IDAM di byte akan 0090h jika kepadatan tunggal dan 8090h jika kepadatan ganda.

Track data:

Data lagu yang sebenarnya berikut header dan dapat dilihat dengan hex editor menampilkan data mentah di trek. Jika disk virtual tidak memiliki bit 6 atau 7 set 4 byte header disk maka setiap kerapatan data byte tunggal ditulis dua kali, ini termasuk IDAMs dan CRC (dengan CRC dihitung seolah-olah hanya 1 byte Namun ditulis). The IDAM dan data sektor masing-masing memiliki CRC, ini persis seperti pada disk nyata.

Modifikasi tidak boleh dilakukan karena melakukannya tanpa memperbarui CRC akan menyebabkan kesalahan data. Modifikasi dapat dilakukan namun untuk menciptakan lagu yang dilindungi untuk mengimpor dilindungi disk untuk memformat disk virtual. Contoh disk yang dibuat dengan menggunakan teknik ini adalah "Super Utility + 3.0" dan "Forbidden City".

Komentar ditutup.

TRS-80's [Ira kembali Goldklang Situs adalah bangga powered by WordPress .]