| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
provides an implementation of the AVR8 EIJMP instruction)
|
|
|
|
|
|
| |
Uzebox's DrMario song is recognizable even though the sound is choppy, full of noise).
When running with -wavwrite the resulting file plays nicely on a music player. The sound is much better, but still contains a high frequency noisy sort of hiss.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
---------------------------
Intelbras TI630 telephone [Felipe Sanches]
Fixed current/prior submissions for proper license attribution (nw)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- timers wip
- Add TIMSK* reads - Refactor timer_tick calls
- Remove all redundant register init statements.
We simply set all 0x200 registers to zero.
- debugging timers
- better syntax for disassembly of RJMP destination address
- use register names in disasm of CBI, SBI, SBIC, SBIS instructions
- use register bit names in disasm of instructions SBI,
SBIS, SBIC, CBI
- wip on avr8 EEPROM read/write support
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added ELPM instructions
- Added fuse bits macros
- Added reset logic to decide initial program counter based on
fuse bits configuration
- Added initial support for ATMEGA1280 and ATMEGA2560
- Use register names in the disassembly of IN and OUT instructions
(MESS) New driver : Replicator 1 [Felipe Sanches]
(MESS) Replicator 1 driver: [Felipe Sanches]
- status: no sound / not working
- general skeleton.
- basic memory mapping
- shift-register interfacing from PORTC writes to the LCD device
- avr8 fuses configuration
|
|
|
|
| |
to be improved
|
| |
|
| |
|
|
|
|
| |
cores (nw)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- added CPSE, LD Z+, ST -Z/-Y/-X and ICALL opcodes.
- added ATMEGA644 interrupt vectors.
- fixed Z flag in CPC, SBC and SBCI opcodes.
- fixed V and C flags in SBIW opcode.
- fixed pop/push order in CALL, RCALL, RET and RETI opcodes.
- fixed Timer 1 CTC mode.
(MESS) uzebox: added video emulation and joystick input. [Sandro Ronco]
|
| |
|
|
|
|
|
|
|
| |
- avr8.c: Renamed io map to data map, routed ports through io map [MooglyGuy]
- avr8.c: Implemented ST Z+ and SBIW opcodes [MooglyGuy]
- craft.c: Converted to use new AVR8 core [MooglyGuy]
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
-avr8.c: Fixed incorrect N flag calculation in ROR opcode. [MooglyGuy]
-avr8.c: Fixed incorrect bit testing in SBIC/SBIS opcodes. [MooglyGuy]
-craft.c: Added port D readback, fixes on-screen VU level. [MooglyGuy]
-craft.c: Sync video with Vsync output, fixes rolling image. [MooglyGuy]
-craft.c: Fixed visible area and promoted to working. [MooglyGuy]
|
| |
|
|
|
|
|
| |
-avr8.c: Fixed register writeback for LD -Z and LD -Y opcodes. [MooglyGuy]
-craft.c: Preliminary video support, bad vsync and colors still. [MooglyGuy]
|
|
|
|
|
|
|
| |
-avr8.c: Corrected cycle counts for LD and ST opcodes. [MooglyGuy]
-avr8.c: Fixed a bug where a 2-cycle or 3-cycle opcode encountered during a time
slice were causing all subsequent 1-cycle opcodes to deduct 2 or 3 cycles for
the remainder of the time slice instead. [MooglyGuy]
|
|
|
|
|
|
|
|
| |
-avr8: Implemented MULS, ANDI, STD Z+, LD -Z, LD Y+, LD -Y, LD -X, SWAP, ASR,
ROR, and SBIS opcodes. [MooglyGuy]
-avr8: Moved Timer 0-2 into the CPU core itself, 30x driver speedup [MooglyGuy]
-cratft.c: Fixed DAC bit order, audio now plays but is 40% too slow [Mooglyguy]
|
|
|
|
|
|
|
| |
- Fixed functional issues in Atmel AVR opcodes: COM, NEG, LSR [Mooglyguy]
- Added basic Timer 1 support to Craft driver and hooked up the DAC,
currently plays only a buzzing noise due to lacking EEPROM support [MooglyGuy]
|
|
|
|
|
|
|
|
|
|
|
|
| |
device_memory_interface::space() assert against NULL and
return a reference, and pushed references throughout all
address space usage in the system. Added a has_space()
method to check for those rare case when it is ambiguous.
[Aaron Giles]
Also reinstated the generic space and added fatal error
handlers if anyone tries to actually read/write from it.
|
| |
|
| |
|
| |
|
|
|
|
| |
whatsnew)
|
|
|
|
|
|
|
|
|
|
|
|
| |
space by index. Update functions and methods that accepted an
address space index to take an address_spacenum instead. Note that
this means you can't use a raw integer in ADDRESS_SPACE macros, so
instead of 0 use the enumerated AS_0.
Standardized the project on the shortened constants AS_* over the
older ADDRESS_SPACE_*. Removed the latter to prevent confusion.
Also centralized the location of these definitions to memory.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
calls on the device object.
Regex used:
state_save_register_device_item( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\6\),\5\4\7\)
state_save_register_device_item_array( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\6\),\5\4\7\)
state_save_register_device_item_2d_array( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\6\),\5\4\7\)
state_save_register_device_item_bitmap( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\*\6\),\5\4\7\)
state_save_register_device_item_pointer( *)\(( *)([^,]+), *([^,]+),( *)([^,]+), *([^ )]+)( *)\)
\3->save_pointer\1\(\2NAME\(\6\),\5\7,\5\4\8\)
this->save_
save_
(save_item[^;]+), *0( *)\);
\1\2\);
(save_pointer[^;]+), *0( *)\);
\1\2\);
|
|
|
|
|
| |
They both already existed. No sense in having two names for the
same object type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bulk search & replace:
S: memory_read_([bytewordq]+)_[0-9lbe_maskd]+( *)\(( *)([^,]+)( *),( *)
R: \4->read_\1\2\(\3
S: memory_read_([bytewordq]+)( *)\(( *)([^,]+)( *),( *)
R: \4->read_\1\2\(\3
S: memory_write_([bytewordq]+)_[0-9lbe_maskd]+( *)\(( *)([^,]+)( *),( *)
R: \4->write_\1\2\(\3
S: memory_write_([bytewordq]+)( *)\(( *)([^,]+)( *),( *)
R: \4->write_\1\2\(\3
Gets 99% of the cases.
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of making it const before was to discourage direct tampering,
but private/protected does a better job of that now anyhow, and it is
annoying now.
s/const[ \t]+address_space\b/address_space/g;
Is basically what I did.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DECLARE_LEGACY_CPU_DEVICE and DEFINE_LEGACY_CPU_DEVICE. Changed CPUs
to be their own device types, rather than all of type CPU with a
special internal subtype. Note that as part of this process I removed
the CPU_ prefix from the ALL-CAPS device name, so CPU_Z80 is just
plain old Z80 now. This required changing a couple of names like
8080 to I8080 so that there was an alphabetic first character.
Added memory interfaces to the list of fast-access interfaces. To do
this properly I had to add a separate method to devices which is
called immediately after construction, when it is possible to perform
dynamic_casts on fully-constructed objects. (This is just internal,
no changes necessary to the devices themselves.)
Some additional notes:
* SH2 and SH4 had typedefs that conflicted with their CPU_-less names
so I bulk renamed to structures to sh2_state and sh4_state; RB, feel
free to choose alternate names if you don't like 'em
* SCSP was caught doing something to the 3rd indexed CPU. Since several
systems that use SCSP don't even have 3 CPUs, I had no idea what
this was supposed to do, so I changed to it reference "audiocpu"
assuming that stv was the assumed target. This is really gross and
should be a configuration parameter, not a hard-coded assumption.
|
|
|
|
| |
Update interfaces as appropriate.
|