Peter Evans
b2add9c3de
Move vm_area logic into its own file
2018-01-07 20:05:02 -06:00
Peter Evans
95e57a8e19
Add get_map_machine function.
...
Mostly useless except for testing.
2018-01-07 20:00:09 -06:00
Peter Evans
ba47de0e4b
Add objstore_clear(), tests for objstore
2018-01-07 16:30:33 -06:00
Peter Evans
1c36c4ea4d
Add missing docblock comments
2018-01-07 16:07:29 -06:00
Peter Evans
cccf6df354
Move address resolver
2018-01-07 15:47:57 -06:00
Peter Evans
888eb25797
Refactor a bit for easier testing; add log_stream()
2018-01-07 15:05:20 -06:00
Peter Evans
5da65e0a9e
Change apple2dd -> apple2_dd
2018-01-07 14:46:54 -06:00
Peter Evans
665f7de37c
Rename apple2dd_ to apple2_dd_
...
Except for the struct object (apple2dd).
2018-01-07 13:44:07 -06:00
Peter Evans
8ad1311536
Add set_memory function
2018-01-06 21:37:15 -06:00
Peter Evans
d9527db033
Retrieve the 16-bit PC address.
...
This fixes a bug where we only got an 8-bit address from $FFFC and
ignored the LSB at $FFFD.
2018-01-05 16:15:13 -06:00
Peter Evans
70516a7f91
Add function to return 16-bit value from a segment address
2018-01-05 16:14:51 -06:00
Peter Evans
c6799db689
Separate reset logic from boot function
2018-01-05 16:04:01 -06:00
Peter Evans
af7dae6924
Advance PC by # of bytes consumed
2018-01-05 15:52:20 -06:00
Peter Evans
7ceee608b3
Stop delaying by 2 seconds
2018-01-05 15:52:04 -06:00
Peter Evans
c7aa9e9fc3
Resolver may be NULL; don't call if so
...
This change also registers a default value for operand (0).
2018-01-05 14:57:38 -06:00
Peter Evans
d5b6205713
Actually execute some opcodes
2018-01-05 14:55:33 -06:00
Peter Evans
fd8f36b34e
We need to use the mach cpu
2018-01-05 14:19:13 -06:00
Peter Evans
1de1e7788a
Rename status flags to MOS_
2018-01-05 14:18:39 -06:00
Peter Evans
2da613f7aa
Provisional state upon reboot
2018-01-04 20:09:53 -06:00
Peter Evans
3f0a091520
Use const pointers; fix function name typo
2018-01-04 19:59:04 -06:00
Peter Evans
700bc31465
Copy system rom into $C800..$CFFF; document.
...
Things are getting a little hairy...at least, as to my own
comprehension. Documentation is a must.
2018-01-04 19:53:12 -06:00
Peter Evans
e184304ec5
A little more documentation post-rwops changes
2018-01-04 14:21:05 -06:00
Peter Evans
171ff62551
Change create to use objstore vm_8bit data
2018-01-03 21:50:30 -06:00
Peter Evans
565dd1b34b
Make sure the object store got built
2018-01-03 21:50:01 -06:00
Peter Evans
06d37d24d7
Allow us to call objstore_init more than once.
...
This also separates some code into objstore_ready().
2018-01-03 21:49:26 -06:00
Peter Evans
7182608473
Copy vm_8bit buffer into rom/memory directly
2018-01-03 21:10:46 -06:00
Peter Evans
90d6c637c5
Add function to copy a buffer into a segment
2018-01-03 21:10:25 -06:00
Peter Evans
4d07bd7640
Add objstore code, tests
2018-01-03 20:51:20 -06:00
Peter Evans
b1c2a2109e
Just use stdout if we never opened a log file
2018-01-03 20:47:41 -06:00
Peter Evans
484a11e976
Pass in zero for an offset
2018-01-03 15:21:00 -06:00
Peter Evans
fac6b4f574
Initialize system and disk2 rom
2018-01-03 15:20:48 -06:00
Peter Evans
86dad129b6
Let us fread into a segment offset
2018-01-03 15:16:30 -06:00
Peter Evans
e7a404508e
Add init functions for disk2, sys rom
...
Also move the defines for bank offset, rom size, etc. into apple2.mem.h
which makes a little more sense.
2018-01-03 15:07:19 -06:00
Peter Evans
5b2c376abc
Prevent writes to the ROM bank
2018-01-03 14:27:55 -06:00
Peter Evans
9a1e51fec3
We need to pass the machine, not memory
2018-01-02 23:49:29 -06:00
Peter Evans
cb9a7d0fce
Let the segment vm know about the machine
2018-01-02 21:12:21 -06:00
Peter Evans
ee7b5f66b0
Add support for a map machine pointer
...
To be sent to the read/write functions that are implemented by said
machine.
2018-01-02 21:11:43 -06:00
Peter Evans
3fe7a4e0bb
Use explicit memory size of MOS6502
2018-01-02 20:48:42 -06:00
Peter Evans
73f7d8f63a
Actually map memory when we create an apple2
2018-01-02 16:30:21 -06:00
Peter Evans
33c8f0de9d
Add memory map functions
2018-01-02 16:26:51 -06:00
Peter Evans
834959c10a
Add rom, ram2 bank memory; modify read/write sig
...
The signature for read/write map functions now accepts a void pointer so
that we can pass in the machine that those functions may need to know
about. This is a bit hairy, but allows us to avoid the need for a
yet-uglier global variable.
2018-01-02 16:24:51 -06:00
Peter Evans
49d475d534
Documentation
2018-01-01 17:41:15 -06:00
Peter Evans
d53b6df7a4
Add documentation; plus set sector/track pos to 0 on eject
2018-01-01 17:26:29 -06:00
Peter Evans
2aeef09f97
Remove unused msb variable
2018-01-01 17:12:41 -06:00
Peter Evans
8f04deb642
Comment out unused cycles variable
2018-01-01 17:12:25 -06:00
Peter Evans
78aab1bd13
Fix potential memory leaks in create()
2018-01-01 17:11:03 -06:00
Peter Evans
a2b4fe1466
Write an fread function for segments; use in apple2.dd
2017-12-31 20:28:11 -06:00
Peter Evans
e14e22a596
Uh, so we forgot to read data into the disk
2017-12-31 15:54:30 -06:00
Peter Evans
f70f21789b
Add flash memory, disassemble options
2017-12-31 15:50:59 -06:00
Peter Evans
ead5f28e79
Refactor to use cpu, not literal segments
2017-12-30 23:02:30 -06:00