Browse Source

add changelog, uncommon fd image size support

tags/0.1.1
asie 1 year ago
parent
commit
2d84302656
2 changed files with 40 additions and 6 deletions
  1. 18
    0
      changelog.txt
  2. 22
    6
      disks.lua

+ 18
- 0
changelog.txt View File

@@ -0,0 +1,18 @@
0.1.1:
- add partial 80186 emulation, with "-arch" parameter to select
- add stubbed opcodes for non-present 8087 FPU
- add support for less common floppy disk image sizes
- fix backspace/down arrow key mappings in curses mode
- fix commonly used 8086/80186 CPU detection methods
- fix crash in comms.lua
- make BIOS ROM memory utilize "reduced memory mode"
- progress on PIT timer emulation

0.1.0:
- add "lunatic86.lua" as a simple CLI wrapper with arguments
- add "reduced memory mode" for packing RAM into 32-bit or 64-bit ints
for usage in RAM-constrained environments (such as OpenComputers)
- minor speed bump (+1-2%)

first_commit:
- first public release

+ 22
- 6
disks.lua View File

@@ -19,27 +19,43 @@ local function disk_init_data(fptr, d)
d.cylinders = 0
elseif d.floppy then
d.sector_size = 512
if fsize >= 1474560 then
if fsize == 2949120 then
d.sectors = 36
d.heads = 2
d.cylinders = 80
elseif fsize == 1761280 then
d.sectors = 21
d.heads = 2
d.cylinders = 82
elseif fsize == 1720320 then
d.sectors = 21
d.heads = 2
d.cylinders = 80
elseif fsize == 1474560 then
d.sectors = 18
d.heads = 2
d.cylinders = 80
elseif fsize >= 737280 then
elseif fsize == 1228800 then
d.sectors = 15
d.heads = 2
d.cylinders = 80
elseif fsize == 737280 then
d.sectors = 9
d.heads = 2
d.cylinders = 80
elseif fsize >= (360*1024) then
elseif fsize == (360*1024) then
d.sectors = 9
d.heads = 2
d.cylinders = 40
elseif fsize >= (320*1024) then
elseif fsize == (320*1024) then
d.sectors = 8
d.heads = 2
d.cylinders = 40
elseif fsize >= (180*1024) then
elseif fsize == (180*1024) then
d.sectors = 9
d.heads = 1
d.cylinders = 40
elseif fsize >= (160*1024) then
elseif fsize == (160*1024) then
d.sectors = 8
d.heads = 1
d.cylinders = 40

Loading…
Cancel
Save